设为主页 销售咨询 客服电话  
   
 
 
 
 
SSM框架集成TKMybatis插件实现基础单表CRUD功能
2018-12-04

        我们在日常开发过程中,使用MyBatis-Generator可以自动生成Entity,DAOMapping,这种操作极大的减少的我们代码量,非常方便,但细心的小伙伴可以发现,在每个Mapping下都有自己独立的单表CRUD,代码显得十分冗长。那么是否可以考虑实现一个通用Mapper来实现这些通用方法呢?

这里我们选择集成TKMybatis来实现!!

TKMybatis是在Mybatis框架的基础上提供了很多工具,让开发更加高效。下面以一个简单的SSM框架为例,简单介绍下配置方法。

一,实现步骤

1. 引入TKMybatisMaven依赖

2. Entity相关配置,@Id @Table

3. 通用Mapper接口实现

4. @MapperScan注解扫描Mapper接口

二,实现细节

 

1.     引入TKMybatisMaven依赖

 

 

2.     Entity相关配置

TkMybatis默认使用继承Mapper接口中传入的实体类对象去数据库寻找对应的表,这里以驼峰写法为标准,非标准表明与属性需要给与注释,这里以CtlVersion实体为例进行简单说明。

package com.erm.ctl.entity;

import java.io.Serializable;

import java.util.Date;

import javax.persistence.Id;

 

public class CtlVersion implements Serializable {

   @Id

    private String skey;

    private String svercode;

    private Integer iappver;

    private Integer ictlver;

    private Integer iactver;

    private Integer imobilver;

private Date tsdate;
getter(),setter()方法省略...

 

这里因为CtlVersion 为驼峰规则写法,未加@Table(name=ctl_version”)

3.     通用Mapper接口实现

我们自定义一个Mapper接口,BaseLibMapper来集成TKMybatis提供的两个接口,BaseMapperIdsMapper

package com.lib.base.mapper;

import java.util.List;

import tk.mybatis.mapper.common.BaseMapper;

import tk.mybatis.mapper.common.IdsMapper;

public interface BaseLibMapper<T> extends BaseMapper<T>,IdsMapper<T>{}

说明:

BaseMapper为对象参数CRUD工具类,IdsMapper为主键参数CRUD工具类

这里在通过CtlVersion ,Dao层去集成公共的BaseLibMapper接口,并定义其泛型类型参数。

 

这样就可以在 Dao层实例中使用通用接口方法了:

4.     @MapperScan注解扫描Mapper接口

最后一步,需要配置Application@MapperScan扫描.

 

       通用的CRUD配置到此就配置结束了。通过TKMybatis可以轻松实现无XML化配置,并且在此基础还可以实现公共Service通过处理在优化方法。简单实用,小伙伴们赶紧配置起来吧!

   
 
   
 
安徽鸿奥软件有限公司
版权所有,翻版必究 ◎2007-2008copyright
皖ICP备17008567号-1
皖公网安备 34030002020793号