mybatis-crud-pagemybatis 實現(xiàn)jpa的crud-page和service方法
mybatis 的crud,快速的增刪查改
spring或者springboot中使用mybtais,像jpa一樣可以使用注解進行實體和數(shù)據(jù)庫表的映射,
目前只實現(xiàn)了單表,主鍵使用UUID生成
使用簡單,可以減少大量的 mapper的dao層和service層的代碼,使用基類統(tǒng)一的代碼
已經(jīng)在本人的不少工程驗證過,快速實現(xiàn)crud
一:組件jar包說明:
1.封裝了數(shù)據(jù)實體對應的數(shù)據(jù)庫列的一一映射關系 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 是數(shù)據(jù)庫對應的表名
2.MyId
寫在主鍵屬性上,如下,如果屬性名和數(shù)據(jù)庫的列名相同(嚴格區(qū)分大小寫),則不需要寫括號里面的內(nèi)容,
主鍵的生成,第一版全部使用 UUID
@MyId("id")
protected String id;
3.MyColumn
寫在主鍵屬性上,如下,如果屬性名和數(shù)據(jù)庫的列名相同(嚴格區(qū)分大小寫),則不需要寫括號里面的內(nèi)容
@MyColumn("remarks")
protected String remarks; // 備注
4.BaseMapper 基本的mapper接口
5.BaseSqlProvider 基本的sql 提供者
6.BaseService, T> 提供了基本的service,實體操作的service可以基于這個來寫
四:mybatis的分頁插件
五: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掃描的注解,根據(jù)mybatis-spring-boot-starter 版本來確定是否需要添加
public interface DictMapper extends BaseMapper {
}
3.在service層mybatis接口的使用,繼承了抽象類的所有方法
@Service
public class DictService extends BaseService {
//其他業(yè)務代碼
}
六:根據(jù)ID查詢,根據(jù)ID刪除需要注意
參數(shù)直接輸入ID,不需要創(chuàng)建實體類
service.getById("123");
service.deleteById("123");
七:service方法講解
add: 添加實體 update:更新實體 deleteById:根據(jù)ID刪除 deleteEntity:根據(jù)ID刪除 getById: 根據(jù)ID查詢 getEntity:根據(jù)ID查詢 findAll:查詢所有 seleteVague:模糊匹配查詢 seleteAccuracy:精確匹配查詢 countAll:統(tǒng)計總數(shù) countVague:模糊匹配,查詢總數(shù) countAccuracy:精確匹配,查詢總數(shù) pageVague:模糊匹配分頁查詢 pageAccuracy:精確匹配分頁查詢 deleteAll: 刪除所有實體 deleteVague: 模糊匹配刪除實體 deleteAccuracy: 精確匹配刪除實體
評論
圖片
表情
