Spring集成MyBatis 通用Mapper以及 pagehelper分页插件

 先在spring 配置文件加上这个


    
    
        
            mappers=tk.mybatis.mapper.common.Mapper
        
    

basePackage 的值是你项目的Dao访问层。

添加maven依赖 楼主强烈建议大家学习下maven 非常方便 ,也很简单


    com.github.pagehelper
    pagehelper
    4.1.1


    javax.persistence
    persistence-api
    1.0



    com.github.abel533
    mapper
    3.0.0


    tk.mybatis
    mapper
    3.3.9

没用maven的不要怕,楼主最后会分享出来自己的项目

然后在MyBatis配置文件中加入 plugins


    
    
        
        
        
        
    

    
    
        
        
        
        
        
        
        
        
        
    

建议新手的话就不同改什么了,用楼主的都可以的

这里送上楼主配置的Spring DataSource 和 TransactionManager 和MyBatis配置





    
    
    
        
            classpath:db.properties  
        
    



    
        ${jdbc.url}
    
    
        ${jdbc.username}
    
    
        ${jdbc.password}
    
    
        ${jdbc.initialSize}
    
    
        ${jdbc.maxActive}
    
    
        
            
        
    



    
    
    



    
        
    



    
    

好了,步入正题:

使用通用Mapper:
直接Dao接口实现 extends Mapper 接口 Mapper<这里写你这个Dao要操作的实体类>

然后实体类还要添加注解:

@Table

@Column

@Id

@GeneratedValue(strategy = GenerationType.IDENTITY)

具体请看这里: http://blog.csdn.net/alik20/article/details/53131741

然后直接在别的地方调用就有好多方法供你使用 详细:

//根据实体类不为null的字段进行查询,条件全部使用=号and条件
List select(T record);

//根据实体类不为null的字段查询总数,条件全部使用=号and条件
int selectCount(T record);

//根据主键进行查询,必须保证结果唯一
//单个字段做主键时,可以直接写主键的值
//联合主键时,key可以是实体类,也可以是Map
T selectByPrimaryKey(Object key);

//插入一条数据
//支持Oracle序列,UUID,类似Mysql的INDENTITY自动增长(自动回写)
//优先使用传入的参数值,参数值空时,才会使用序列、UUID,自动增长
int insert(T record);

//插入一条数据,只插入不为null的字段,不会影响有默认值的字段
//支持Oracle序列,UUID,类似Mysql的INDENTITY自动增长(自动回写)
//优先使用传入的参数值,参数值空时,才会使用序列、UUID,自动增长
int insertSelective(T record);

//根据实体类中字段不为null的条件进行删除,条件全部使用=号and条件
int delete(T key);

//通过主键进行删除,这里最多只会删除一条数据
//单个字段做主键时,可以直接写主键的值
//联合主键时,key可以是实体类,也可以是Map
int deleteByPrimaryKey(Object key);

//根据主键进行更新,这里最多只会更新一条数据
//参数为实体类
int updateByPrimaryKey(T record);

//根据主键进行更新
//只会更新不是null的数据
int updateByPrimaryKeySelective(T record);

好了,到这里通用Mapper就配置完成了 下面是pagehelper分页插件
也很简单。其实插件最终目的就是简化你的项目 降低耦合

// 获取第1页,10条内容,默认查询总数count
PageHelper.startPage(1, 100);// 紧跟着的第一个select方法会被分页
List queryList = userService.queryList();

直接进行查询就会执行分页了.
获取总记录数:

PageInfo pageInfo = new PageInfo(queryList);
long total = pageInfo.getTotal(); //获取总记录数
System.out.println(total);

你可能感兴趣的:(Spring集成MyBatis 通用Mapper以及 pagehelper分页插件)