mybatis,pageHelper  5.1.2——项目常用

1.mybatis分页插件——pageHelper  5.1.2

使用原理:

pageHelper会使用ThreadLocal获取到同一线程中的变量信息,各个线程之间的Threadlocal不会相互干扰,也就是Thread1中的ThreadLocal1之后获取到Tread1中的变量的信息,不会获取到Thread2中的信息
所以在多线程环境下,各个Threadlocal之间相互隔离,可以实现,不同thread使用不同的数据源或不同的Thread中执行不同的SQL语句
所以,PageHelper利用这一点通过拦截器获取到同一线程中的预编译好的SQL语句之后将SQL语句包装成具有分页功能的SQL语句,并将其再次赋值给下一步操作,所以实际执行的SQL语句就是有了分页功能的SQL语句

 

使用方式:

PageResult<Person> result = new ...();

Page page= PageHelper.startPage(pageNum,rows,true);——(页码,行数、显示条数,是否进行count查询、总条数)

//Page page= PageHelper.startPage(pageNum,rows,id);——(页码,行数、显示条数,排序)

List<Person> list = mapper.select();

result.setRows(list);

result.setTotal((int)page.gettotal());

return result;

配置:

spring-jdbc.xml

添加bean标签

<bean id =" ...Factory" class="org.mybatis.spring.SqlSessonFactoryBean">

<property name = "dataSource" ref="dataSource"/>

<property name = "mapperLocations" value ="classpath*:db/mapper/*.xml"/>

<property name ="plugins">

   <array>

      <bean class"com.github.pagehepler.PageInterceptor">

         <proterty name="properties">

            <value> helperDialect=mysql  </value>

         </proterty>

      </bean>

   </array>

</proterty>

</bean>

<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">

<property name="basePackage" value="cn.com.cninfo.dao"/>

<properyt name ="sqlSessionFactoryBeanName" value="...Factory"/>

</bean>

 

 

2.mybatis--- 

mapper.java 接口文件  Map<String,IndexInfo> getMap();上面添加注解 @mapKey("indexCode")

mapper.xml  sql文件  resultMap=""封装的实体对象

 

3. spring通过properties注入list

@Value("#{properties['etfLogDor'].split(',')}")

private List<String> logDir;

@Value("#{${blog-top-links}}")
private Map<String, String> topLinks;


   @Value("#{'${blog-list}'.split(',')}")
    private List<Integer> list;

properties中写法

blog-top-links={home:"/home"} blog-list=1,2,3

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值