您好,登錄后才能下訂單哦!
如何實(shí)現(xiàn)MybatisPlus的增刪改查,很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來(lái)學(xué)習(xí)下,希望你能有所收獲。
在持久層框架中 mybatis 應(yīng)用比較多,而且比重在逐漸的上升。通常項(xiàng)目的組合是 SSM。mybatis 之所以火,是因?yàn)樗撵`活,使用方便,優(yōu)化比較容易。
mybatis 的直接執(zhí)行 sql 語(yǔ)句, sql 語(yǔ)句是寫(xiě)在 xml 文件中,使用 mybatis 需要多個(gè) xml 配置文件,在一定程度上比較繁瑣。一般數(shù)據(jù)庫(kù)的操作都要涉及到CURD。
mybatis-plus 是在 mybatis 上的增強(qiáng),減少了 xml 的配置,幾乎不用編寫(xiě) xml就可以做到單表的 CURD,很是方便,極大提供了開(kāi)發(fā)的效率。 我們寫(xiě)程序目的就是讓生活更加簡(jiǎn)單。
MyBatis-Plus(簡(jiǎn)稱 MP)是一個(gè) MyBatis 的增強(qiáng)工具,在 MyBatis 的基礎(chǔ)上只做增強(qiáng)不做改變,為簡(jiǎn)化開(kāi)發(fā)、提高效率而生。
MyBatis-Plus 在 MyBatis 之上套了一層外衣,單表 CURD 的操作幾乎都可以由 MyBatis-Plus 代替執(zhí)行。而且提供了各種查詢方式,分頁(yè)行為。作為使用者無(wú)需編寫(xiě) xml,直接調(diào)用 MyBatis-Plus 提供的 API 就可以了。
幾分鐘就可以上手 MP,前提是需要熟悉 mybatis,spring 或 spring boot, maven,掌握 lambda 表達(dá)式更能提升效率。
擁有 Java 開(kāi)發(fā)環(huán)境以及相應(yīng) IDE
熟悉 Spring Boot
熟悉 Maven
create database user; use user; CREATE TABLE `user` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(50) DEFAULT NULL, `email` varchar(80) DEFAULT NULL, `age` int(11) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8; insert into user values(null,'張三','666666@qq.com',18);
使用 Spring Initializr 快速初始化一個(gè) Spring Boot 工程idea 中 File – New Project 選擇 Spring Initializr 后填寫(xiě)項(xiàng)目信息,創(chuàng)建工程。
項(xiàng)目信息
依賴選擇SQL中的MyBatis Framework
定義項(xiàng)目名稱和路徑
pom文件添加mybatis-plus依賴
<!-- mybatis-plus --> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.0.5</version> </dependency> <!-- mysql驅(qū)動(dòng) --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.25</version> </dependency>
application.properties或application.yml 添加數(shù)據(jù)庫(kù)配置
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver spring.datasource.url=jdbc:mysql://127.0.0.1:3306/user spring.datasource.username=root spring.datasource.password=root
或
spring: datasource: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://127.0.0.1:3306/user username: root password: root
創(chuàng)建實(shí)體類
@TableId 設(shè)置主鍵, IdType.AUTO 使用自動(dòng)增長(zhǎng)產(chǎn)生主鍵
繼承 MyBatis Plus 中的 BaseMapper , 在 UserMapper 中使用 MP 中的方法,實(shí)
現(xiàn) CURD。
測(cè)試
查看數(shù)據(jù)庫(kù)
mybatis-plus: configuration: log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
CRUD 的操作是來(lái)自 BaseMapper 中的方法。BaseMapper 中共有 17 個(gè)方法,CRUD 操作都有多個(gè)不同參數(shù)的方法。繼承 BaseMapper 可以其中的方法。
BaseMapper 方法列表:
注:insert()返回值 int,數(shù)據(jù)插入成功的行數(shù),成功的記錄數(shù)。getId()獲取主鍵值,成功影響行數(shù)后會(huì)自動(dòng)將主鍵值賦值給實(shí)體類的主鍵id。
更新之前的數(shù)據(jù)庫(kù)
更新后的數(shù)據(jù)庫(kù)
注意:null 的字段不更新
沒(méi)有設(shè)置email的字段,所以此時(shí)的email的字段為null
SQL語(yǔ)句沒(méi)有設(shè)置email
數(shù)據(jù)庫(kù)
刪除有多個(gè)方法
deleteById:按主鍵刪除
根據(jù) Map 中條件刪除
注:刪除條件封裝在 Map 中,key 是列名,value 是值,多個(gè) key 之間 and 聯(lián)接。
日志:
批量刪除
把要?jiǎng)h除的 id 放入 List ,傳給 deleteBatchIds()
日志
注:沒(méi)有查詢結(jié)果,不會(huì)報(bào)錯(cuò)。
日志
批量查詢記錄
注:根據(jù) id 查詢記錄,把需要查詢的多個(gè) id 存入到 List,調(diào)用 selectBatchIds(),
日志
使用 Map 的條件查詢
把要查詢的條件字段 put 到 Map,key 是字段,value 是條件值。多個(gè)條件是 and聯(lián)接。調(diào)用 selectByMap(),傳入 Map 作為參數(shù),返回值是 List 集合。
日志
看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注億速云行業(yè)資訊頻道,感謝您對(duì)億速云的支持。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。