<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          mybatis-crud-pagemybatis 實現(xiàn)jpa的crud-page和service方法

          聯(lián)合創(chuàng)作 · 2023-09-30 20:52

          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: 精確匹配刪除實體
          瀏覽 19
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          編輯 分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          編輯 分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  99国产视频在线 | 中文字幕妻人久久黑人 | 边添小泬边狠狠躁视频 | 国产黄色性爱视频 | 大香蕉看片 |