中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

網(wǎng)站設(shè)計服務(wù)有哪些/網(wǎng)頁seo

網(wǎng)站設(shè)計服務(wù)有哪些,網(wǎng)頁seo,展示型網(wǎng)站源碼,視頻格式轉(zhuǎn)換網(wǎng)頁版MyBatisPlus標(biāo)準(zhǔn)數(shù)據(jù)層開發(fā)2,標(biāo)準(zhǔn)數(shù)據(jù)層開發(fā)2.1 標(biāo)準(zhǔn)CRUD使用2.2 新增2.3 刪除2.4 修改2.5 根據(jù)ID查詢2.6 查詢所有2.7 Lombok概念使用步驟步驟1:添加lombok依賴步驟2:安裝Lombok的插件步驟3:模型類上添加注解2.8 分頁功能步驟1:調(diào)用方法傳入?yún)?shù)獲取返回值步驟2:設(shè)…

MyBatisPlus標(biāo)準(zhǔn)數(shù)據(jù)層開發(fā)

  • 2,標(biāo)準(zhǔn)數(shù)據(jù)層開發(fā)
    • 2.1 標(biāo)準(zhǔn)CRUD使用
    • 2.2 新增
    • 2.3 刪除
    • 2.4 修改
    • 2.5 根據(jù)ID查詢
    • 2.6 查詢所有
    • 2.7 Lombok
      • 概念
      • 使用步驟
        • 步驟1:添加lombok依賴
        • 步驟2:安裝Lombok的插件
        • 步驟3:模型類上添加注解
    • 2.8 分頁功能
      • 步驟1:調(diào)用方法傳入?yún)?shù)獲取返回值
      • 步驟2:設(shè)置分頁攔截器
      • 步驟3:運行測試程序

目標(biāo)

  • 掌握MyBatisPlus中的分頁及條件查詢構(gòu)建

2,標(biāo)準(zhǔn)數(shù)據(jù)層開發(fā)

在這一節(jié)中我們重點學(xué)習(xí)的是數(shù)據(jù)層標(biāo)準(zhǔn)的CRUD(增刪改查)的實現(xiàn)與分頁功能。代碼比較多,我們一個個來學(xué)習(xí)。


2.1 標(biāo)準(zhǔn)CRUD使用

對于標(biāo)準(zhǔn)的CRUD功能都有哪些以及MP都提供了哪些方法可以使用呢?

我們先來看張圖:

對于這張圖的方法,我們挨個來演示下:

首先說下,案例中的環(huán)境就是咱們?nèi)腴T案例的內(nèi)容,第一個先來完成新增功能


2.2 新增

在進行新增之前,我們可以分析下新增的方法:

int insert (T t)
  • T:泛型,新增用來保存新增數(shù)據(jù)

  • int:返回值,新增成功后返回1,沒有新增成功返回的是0

在測試類中進行新增操作:

@SpringBootTest
class Mybatisplus01QuickstartApplicationTests {@Autowiredprivate UserDao userDao;@Testvoid testSave() {User user = new User();user.setName("黑馬程序員");user.setPassword("itheima");user.setAge(12);user.setTel("4006184000");userDao.insert(user);}
}

執(zhí)行測試后,數(shù)據(jù)庫表中就會添加一條數(shù)據(jù)。

但是數(shù)據(jù)中的主鍵ID,有點長,那這個主鍵ID是如何來的?我們更想要的是主鍵自增,應(yīng)該是5才對,這個是我們后面要學(xué)習(xí)的主鍵ID生成策略,這塊的這個問題,我們暫時先放放。


2.3 刪除

在進行刪除之前,我們可以分析下刪除的方法:

int deleteById (Serializable id)
  • Serializable:參數(shù)類型

    • 思考:參數(shù)類型為什么是一個序列化類?

      從這張圖可以看出,

      • String和Number是Serializable的子類,
      • Number又是Float,Double,Integer等類的父類,
      • 能作為主鍵的數(shù)據(jù)類型都已經(jīng)是Serializable的子類,
      • MP使用Serializable作為參數(shù)類型,就好比我們可以用Object接收任何數(shù)據(jù)類型一樣。
  • int:返回值類型,數(shù)據(jù)刪除成功返回1,未刪除數(shù)據(jù)返回0。

在測試類中進行新增操作:

 @SpringBootTest
class Mybatisplus01QuickstartApplicationTests {@Autowiredprivate UserDao userDao;@Testvoid testDelete() {userDao.deleteById(1401856123725713409L);}
}

2.4 修改

在進行修改之前,我們可以分析下修改的方法:

int updateById(T t);
  • T:泛型,需要修改的數(shù)據(jù)內(nèi)容,注意因為是根據(jù)ID進行修改,所以傳入的對象中需要有ID屬性值

  • int:返回值,修改成功后返回1,未修改數(shù)據(jù)返回0

在測試類中進行新增操作:

@SpringBootTest
class Mybatisplus01QuickstartApplicationTests {@Autowiredprivate UserDao userDao;@Testvoid testUpdate() {User user = new User();user.setId(1L);user.setName("Tom888");user.setPassword("tom888");userDao.updateById(user);}
}

**說明:**修改的時候,只修改實體對象中有值的字段。


2.5 根據(jù)ID查詢

在進行根據(jù)ID查詢之前,我們可以分析下根據(jù)ID查詢的方法:

T selectById (Serializable id)
  • Serializable:參數(shù)類型,主鍵ID的值
  • T:根據(jù)ID查詢只會返回一條數(shù)據(jù)

在測試類中進行新增操作:

@SpringBootTest
class Mybatisplus01QuickstartApplicationTests {@Autowiredprivate UserDao userDao;@Testvoid testGetById() {User user = userDao.selectById(2L);System.out.println(user);}
}

2.6 查詢所有

在進行查詢所有之前,我們可以分析下查詢所有的方法:

List<T> selectList(Wrapper<T> queryWrapper)
  • Wrapper:用來構(gòu)建條件查詢的條件,目前我們沒有可直接傳為Null
  • List:因為查詢的是所有,所以返回的數(shù)據(jù)是一個集合

在測試類中進行新增操作:

@SpringBootTest
class Mybatisplus01QuickstartApplicationTests {@Autowiredprivate UserDao userDao;@Testvoid testGetAll() {List<User> userList = userDao.selectList(null);System.out.println(userList);}
}

我們所調(diào)用的方法都是來自于DAO接口繼承的BaseMapper類中。里面的方法有很多,我們后面會慢慢去學(xué)習(xí)里面的內(nèi)容。


2.7 Lombok

代碼寫到這,我們會發(fā)現(xiàn)DAO接口類的編寫現(xiàn)在變成最簡單的了,里面什么都不用寫。反過來看看模型類的編寫都需要哪些內(nèi)容:

  • 私有屬性
  • setter…getter…方法
  • toString方法
  • 構(gòu)造函數(shù)

雖然這些內(nèi)容不難,同時也都是通過IDEA工具生成的,但是過程還是必須得走一遍,那么對于模型類的編寫有沒有什么優(yōu)化方法?就是我們接下來要學(xué)習(xí)的Lombok。


概念

  • Lombok,一個Java類庫,提供了一組注解,簡化POJO實體類開發(fā)。

使用步驟


步驟1:添加lombok依賴

<dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><!--<version>1.18.12</version>-->
</dependency>

**注意:**版本可以不用寫,因為SpringBoot中已經(jīng)管理了lombok的版本。


步驟2:安裝Lombok的插件

新版本IDEA已經(jīng)內(nèi)置了該插件,如果刪除setter和getter方法程序有報紅,則需要安裝插件

如果在IDEA中找不到lombok插件,可以訪問如下網(wǎng)站

https://plugins.jetbrains.com/plugin/6317-lombok/versions

根據(jù)自己IDEA的版本下載對應(yīng)的lombok插件,下載成功后,在IDEA中采用離線安裝的方式進行安裝。

步驟3:模型類上添加注解

Lombok常見的注解有:

  • @Setter:為模型類的屬性提供setter方法
  • @Getter:為模型類的屬性提供getter方法
  • @ToString:為模型類的屬性提供toString方法
  • @EqualsAndHashCode:為模型類的屬性提供equals和hashcode方法
  • @Data:是個組合注解,包含上面的注解的功能
  • @NoArgsConstructor:提供一個無參構(gòu)造函數(shù)
  • @AllArgsConstructor:提供一個包含所有參數(shù)的構(gòu)造函數(shù)

Lombok的注解還有很多,上面標(biāo)紅的三個是比較常用的,其他的大家后期用到了,再去補充學(xué)習(xí)。

@Data
@AllArgsConstructor
@NoArgsConstructor
public class User {private Long id;private String name;private String password;private Integer age;private String tel;
}

說明:

Lombok只是簡化模型類的編寫,我們之前的方法也能用,比如有人會問:我如果只想要有name和password的構(gòu)造函數(shù),該如何編寫?

@Data
@AllArgsConstructor
@NoArgsConstructor
public class User {private Long id;private String name;private String password;private Integer age;private String tel;public User(String name, String password) {this.name = name;this.password = password;}
}

這種方式是被允許的。


2.8 分頁功能

基礎(chǔ)的增刪改查就已經(jīng)學(xué)習(xí)完了,剛才我們在分析基礎(chǔ)開發(fā)的時候,有一個分頁功能還沒有實現(xiàn),在MP中如何實現(xiàn)分頁功能,就是咱們接下來要學(xué)習(xí)的內(nèi)容。

分頁查詢使用的方法是:

IPage<T> selectPage(IPage<T> page, Wrapper<T> queryWrapper)
  • IPage:用來構(gòu)建分頁查詢條件
  • Wrapper:用來構(gòu)建條件查詢的條件,目前我們沒有可直接傳為Null
  • IPage:返回值,你會發(fā)現(xiàn)構(gòu)建分頁條件和方法的返回值都是IPage

IPage是一個接口,我們需要找到它的實現(xiàn)類來構(gòu)建它,具體的實現(xiàn)類,可以進入到IPage類中按ctrl+h,會找到其有一個實現(xiàn)類為Page。


步驟1:調(diào)用方法傳入?yún)?shù)獲取返回值

@SpringBootTest
class Mybatisplus01QuickstartApplicationTests {@Autowiredprivate UserDao userDao;//分頁查詢@Testvoid testSelectPage(){//1 創(chuàng)建IPage分頁對象,設(shè)置分頁參數(shù),1為當(dāng)前頁碼,3為每頁顯示的記錄數(shù)IPage<User> page=new Page<>(1,3);//2 執(zhí)行分頁查詢userDao.selectPage(page,null);//3 獲取分頁結(jié)果System.out.println("當(dāng)前頁碼值:"+page.getCurrent());System.out.println("每頁顯示數(shù):"+page.getSize());System.out.println("一共多少頁:"+page.getPages());System.out.println("一共多少條數(shù)據(jù):"+page.getTotal());System.out.println("數(shù)據(jù):"+page.getRecords());}
}

步驟2:設(shè)置分頁攔截器

這個攔截器MP已經(jīng)為我們提供好了,我們只需要將其配置成Spring管理的bean對象即可。

@Configuration
public class MybatisPlusConfig {@Beanpublic MybatisPlusInterceptor mybatisPlusInterceptor(){//1 創(chuàng)建MybatisPlusInterceptor攔截器對象MybatisPlusInterceptor mpInterceptor=new MybatisPlusInterceptor();//2 添加分頁攔截器mpInterceptor.addInnerInterceptor(new PaginationInnerInterceptor());return mpInterceptor;}
}

**說明:**上面的代碼記不住咋辦呢?

這些內(nèi)容在MP的官方文檔中有詳細(xì)的說明,我們可以查看官方文檔類配置


步驟3:運行測試程序

如果想查看MP執(zhí)行的SQL語句,可以修改application.yml配置文件,

mybatis-plus:configuration:log-impl: org.apache.ibatis.logging.stdout.StdOutImpl #打印SQL日志到控制臺

打開日志后,就可以在控制臺打印出對應(yīng)的SQL語句,開啟日志功能性能就會受到影響,調(diào)試完后記得關(guān)閉。


學(xué)習(xí)筆記 from 黑馬程序員

By – Suki 2023/4/7

http://www.risenshineclean.com/news/387.html

相關(guān)文章:

  • 網(wǎng)站開發(fā) 項目計劃/免費推廣網(wǎng)站地址大全
  • 鹽城市亭湖區(qū)建設(shè)局網(wǎng)站/博客可以做seo嗎
  • 10個值得推薦的免費設(shè)計網(wǎng)站/怎么讓網(wǎng)站快速收錄
  • photoshop在線修圖/東莞seo管理
  • 門戶網(wǎng)站樣式/百度提問在線回答問題
  • 網(wǎng)站聯(lián)系我們的地圖怎么做的/seo收費標(biāo)準(zhǔn)
  • 北京網(wǎng)站建設(shè)交易/肇慶seo優(yōu)化
  • 網(wǎng)站 色調(diào)/世界搜索引擎大全
  • 南充網(wǎng)站建設(shè)工作室/互聯(lián)網(wǎng)推廣有哪些方式
  • 工業(yè)和信息化部icp網(wǎng)站備案系統(tǒng)/百度查詢?nèi)肟?/a>
  • 游戲推廣網(wǎng)站如何做的/一件代發(fā)48個貨源網(wǎng)站
  • 淘寶客怎么建設(shè)網(wǎng)站/實時新聞
  • 姜堰 萬邦建設(shè)集團網(wǎng)站/seosem是什么職位
  • 信融網(wǎng)站建設(shè)網(wǎng)站開發(fā)/百度推廣代運營公司
  • 做網(wǎng)站傻瓜/汕頭企業(yè)網(wǎng)絡(luò)推廣
  • 手機網(wǎng)站建設(shè)方案書/網(wǎng)店推廣渠道有哪些
  • 微信云網(wǎng)站用什么做/長沙網(wǎng)站托管優(yōu)化
  • 做網(wǎng)站和網(wǎng)頁區(qū)別/seo黑帽教學(xué)網(wǎng)
  • 在那個網(wǎng)站可買做鞋子的羊毛/免費網(wǎng)站代理訪問
  • 深圳網(wǎng)絡(luò)??凭W(wǎng)站建設(shè)/百度推廣需要多少錢
  • 天津智能網(wǎng)站建設(shè)費用/公司網(wǎng)址
  • 百度怎么做自己的網(wǎng)站/百度知道問答平臺
  • 網(wǎng)站名稱是什么/網(wǎng)站優(yōu)化網(wǎng)絡(luò)推廣seo
  • 佛山網(wǎng)站建設(shè)科技公司/手機助手
  • 網(wǎng)站制作公司網(wǎng)站建設(shè)/chrome官網(wǎng)下載
  • 淘寶導(dǎo)航里的鏈接網(wǎng)站怎么做/百度建站
  • 網(wǎng)站建設(shè)系統(tǒng)開發(fā)需要多少錢/如何提高seo關(guān)鍵詞排名
  • php的網(wǎng)站/新聞頭條新聞
  • 昆明網(wǎng)站建設(shè)培訓(xùn)/寧德市政府
  • 網(wǎng)站建設(shè)制作設(shè)計營銷公司四川/寧波seo網(wǎng)絡(luò)推廣優(yōu)質(zhì)團隊