mybatis-page
mybatis-page
monee1988 发表于1年前
mybatis-page
  • 发表于 1年前
  • 阅读 7
  • 收藏 0
  • 点赞 0
  • 评论 0

腾讯云 技术升级10大核心产品年终让利>>>   

摘要: mybais-page 是自定义的一个mybatis分页插件,方便系统集成,用户只需要集成到自己的系统中就可以实现自动分页功能。目前只支持mysql和oracle,当然用户也可以自己扩展自己需要的数据库分页。为方便系统开发,支持mybatis的XML动态刷新功能。

#mybatis-page

mybais-page 是自定义的一个mybatis分页插件,方便系统集成,用户只需要集成到自己的系统中就可以实现自动分页功能。目前只支持mysql和oracle,当然用户也可以自己扩展自己需要的数据库分页。为方便系统开发,支持mybatis的XML动态刷新功能。

中央库地址http://search.maven.org/#artifactdetails%7Ccom.github.monee1988%7Cmybatis-page%7C0.0.1-RELEASE%7Cjar

mvnrepository地址http://mvnrepository.com/artifact/com.github.monee1988/mybatis-page

maven坐标 :tw-1f1f2:

<dependency>
    <groupId>com.github.monee1988</groupId>
    <artifactId>mybatis-page</artifactId>
    <version>0.0.1-RELEASE</version>
</dependency>
 ```	
用法:
1. 这里是列表文本SqlSessionFactoryBean配置

<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="dataSource" /> <!-- <property name="configuration" value="classpath:mybatis-config.xml"/ --> <!-- 自动扫描entity目录, 省掉Configuration.xml里的手工配置 --> <property name="mapperLocations" value="classpath:mappers//.xml" /> <property name="plugins"> <array> <!-- 定义加入mybatis-page分页拦截器 --> <bean class="com.github.monee1988.mybatis.MybatisInterceptor"> <!-- 当前分页类型选择Mysql --> <property name="dialectClass" value="com.github.monee1988.mybatis.dialect.MySqlDialect"/> </bean> </array> </property> </bean>


2. 这里是列表文本为方便开发还加入了Mapper.xml的自动刷新功能,可以大大缩减开发效率,不用修改sql语句后频繁的重启服务,用法:只需要在spring配置文件中加入以下代码(目前只适合xml文件在mappers文件夹下的情况),
区别第一个版本:该版本需要传入数据源以完成多数据源程XML的加载
<!-- 动态加载sqlSessionFactory 特定的XML -->
<bean class="com.github.monee1988.mybatis.MybatisMapperDynamicLoader">
	<property name="sqlSessionFactory" ref="sqlSessionFactory"/>
	<property name="mapperLocations">
		<array>
			<value>classpath:mapper/test1/read/*.xml</value>
		</array>
	</property>
</bean>
<!-- 动态加载sqlSessionFactory2 特定的XML -->
<bean class="com.github.monee1988.mybatis.MybatisMapperDynamicLoader">
	<property name="sqlSessionFactory" ref="sqlSessionFactory2"/>
	<property name="mapperLocations">
		<array>
			<value>classpath:mapper/test2/read/*.xml</value>
		</array>
	</property>
</bean>

3. 分页用法  返回类型page<T>  
  
  例如:Controller事例代码 

@RequestMapping(value = {"page"} ,method = RequestMethod.GET) public String findPageList(ModelMap modelMap,@RequestParam(defaultValue = "1",required = false) Integer pageNo, @RequestParam(defaultValue = "20",required = false) Integer pageSize){

	Page<Test> result = testService.findPage(new Test(), new Page<Test>(pageNo,pageSize));
	
	modelMap.put("message", result );
	return "showMessage";
}
  Service事例代码

@Override public Page<Test> findPage(Test test, Page<Test> page) {

	test.setPage(page);
	page.setList(testdao.findList(test));
	
	return page;

}

     XML文件事例(事例没有按标准写完整的带字段的SQL语句,开发中不建议此写法)

<select id="findList" resultType="com.hp.entity.Test"> select * from test </select>

共有 人打赏支持
monee1988
粉丝 7
博文 6
码字总数 3357
×
monee1988
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: