mybatis 的crud,快速的增删查改
spring或者springboot中使用mybtais,像jpa一样可以使用注解进行实体和数据库表的映射,
目前只实现了单表,主键使用UUID生成
使用简单,可以减少大量的 mapper的dao层和service层的代码,使用基类统一的代码
已经在本人的不少工程验证过,快速实现crud
一:组件jar包说明:
1.封装了数据实体对应的数据库列的一一映射关系 2.提供了基本的增删改的sql生成 3.提供了模糊匹配查询的sql生成 4.提供了精确匹配查询的sql生成 5.提供了基本的Mapper接口,里面有增删查改的基本方法 6.提供了基本的抽象service,里面有增删查改的基本方法 7:提供了分页的基本方法,使用com.github.pagehelper的pagehelper的 5.0.0的版本
二:组件jar包的的导入
1.gradle 添加依赖 classpath "com.wolfking:mybatis-crud:1.0.0-SNAPSHOT" 2.maven添加依赖 com.wolfking mybatis-crud 1.0.0-SNAPSHOT
三:jar包类的说明
1.MyTable 写在实体类上面,如下 @MyTable("sys_dict") public class Dict extends DataEntity {} sys_dict 是数据库对应的表名 2.MyId 写在主键属性上,如下,如果属性名和数据库的列名相同(严格区分大小写),则不需要写括号里面的内容, 主键的生成,第一版全部使用 UUID @MyId("id") protected String id; 3.MyColumn 写在主键属性上,如下,如果属性名和数据库的列名相同(严格区分大小写),则不需要写括号里面的内容 @MyColumn("remarks") protected String remarks; // 备注 4.BaseMapper 基本的mapper接口 5.BaseSqlProvider 基本的sql 提供者 6.BaseService, T> 提供了基本的service,实体操作的service可以基于这个来写
四:mybatis的分页插件
![](/static/assets/osapp/images/a9a12b86dd49811467c9d7edc4ed61f4.png)
五:jar包的使用方法
1.pom.xml 和 build.gradle 添加依赖 2.实体类的编写 @MyTable("sys_dict") public class Dict{ @MyId("id") private String id; @MyColumn private String description; // 描述 @MyColumn("parent_id") private String parentId; // 父Id } 2.mybatis的mapper的编写,继承BaseMapper,T是实体类 import com.wolfking.mybatis.mapper.*; @Mapper //这个是mybatis扫描的注解,根据mybatis-spring-boot-starter 版本来确定是否需要添加 public interface DictMapper extends BaseMapper { } 3.在service层mybatis接口的使用,继承了抽象类的所有方法 @Service public class DictService extends BaseService { //其他业务代码 }
六:根据ID查询,根据ID删除需要注意
参数直接输入ID,不需要创建实体类 service.getById("123"); service.deleteById("123");
七:service方法讲解
add: 添加实体 update:更新实体 deleteById:根据ID删除 deleteEntity:根据ID删除 getById: 根据ID查询 getEntity:根据ID查询 findAll:查询所有 seleteVague:模糊匹配查询 seleteAccuracy:精确匹配查询 countAll:统计总数 countVague:模糊匹配,查询总数 countAccuracy:精确匹配,查询总数 pageVague:模糊匹配分页查询 pageAccuracy:精确匹配分页查询 deleteAll: 删除所有实体 deleteVague: 模糊匹配删除实体 deleteAccuracy: 精确匹配删除实体