日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
手把手教你如何使用MyBatisPlus

哈嘍,大家好,我是指北君。本篇文章,我們通過 MyBatis Plus 來對(duì)一張表進(jìn)行 CRUD 操作,來看看是如何簡(jiǎn)化我們開發(fā)的。

1、創(chuàng)建測(cè)試表

創(chuàng)建 USER 表:

DROP TABLE IF EXISTS `user`;
CREATE TABLE `user` (
`ID` int(11) NOT NULL,
`USER_NAME` varchar(32) COLLATE utf8mb4_bin DEFAULT NULL,
`USER_AGE` int(11) DEFAULT NULL,
PRIMARY KEY (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin;

向 USER 表中插入兩條數(shù)據(jù):

INSERT INTO `user` VALUES ('1', 'IT可樂', '18');
INSERT INTO `user` VALUES ('2', 'YSOcean', '22');

打開表,發(fā)現(xiàn)有兩條數(shù)據(jù)了:

2、創(chuàng)建 Spring Boot 工程

通過 IDEA 創(chuàng)建 Spring Boot 工程,如果不能連接 https://start.spring.io/ 網(wǎng)址,可以將網(wǎng)址變成 https://start.aliyun.com/ ,如下所示:

3、導(dǎo)入依賴


com.baomidou
mybatis-plus-boot-starter
3.3.2


mysql
mysql-connector-java
runtime

首先mybatis-plus 我們導(dǎo)入最新版 3.3.2。另外,由于我數(shù)據(jù)采用的是 MySql,所以這里導(dǎo)入了 Mysql 的連接依賴。

另外,為了簡(jiǎn)化JavaBean 類的書寫,我這里額外導(dǎo)入一個(gè) lombok 插件依賴。


org.projectlombok
lombok
true

通過這個(gè)依賴的相關(guān)注解,我們可以不用書寫繁瑣的 get/set 方法。

4、編寫數(shù)據(jù)庫配置文件

在 springboot 項(xiàng)目的 resource 目錄下,新建 application.yml 文件,添加如下內(nèi)容:

server:
port: 8082

spring:
datasource:
url: jdbc:mysql://localhost:3306/mybatisplus?useUnicode=true&characterEncoding=UTF-8
username: root
password: root
# >= 6.x: com.mysql.cj.jdbc.Driver
# <= 5.x: com.mysql.jdbc.Driver
driver-class-name: com.mysql.cj.jdbc.Driver

注意:url里面填寫的 mybatisplus 是我的數(shù)據(jù)庫名稱,注意修改,username和password分別填寫自己的數(shù)據(jù)庫連接名稱和密碼。

5、編寫代碼

①、實(shí)體類User.java

@Getter
@Setter
public class User {
private Long id;

private String userName;

private String userAge;

}

②、創(chuàng)建UserMapper 接口

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ys.mybatisplusstudy.entry.User;

public interface UserMapper extends BaseMapper {
}

③、啟動(dòng)類增加@MapperScan注解

@SpringBootApplication
@MapperScan("com.ys.mybatisplusstudy.mapper")
public class MybatisplusstudyApplication {

public static void main(String[] args){
SpringApplication.run(MybatisplusstudyApplication.class, args);
}

}

如果不想在啟動(dòng)類加 @MapperScan 注解,也可在每個(gè) Mapper 接口上增加 @Mapper 注解。

所有配置上面都以完成,是不是很簡(jiǎn)單,接下來我們對(duì)這張表進(jìn)行CRUD 測(cè)試。

6、CRUD 測(cè)試

我們?cè)诰帉?UserMapper 接口時(shí),其繼承了一個(gè) BaseMapper 接口:

public interface UserMapper extends BaseMapper {
}

我們進(jìn)入到 BaseMapper 內(nèi)部,發(fā)現(xiàn)其結(jié)構(gòu)如下:

這些方法便是我們常用的增刪改查了,下面我們分別演示幾個(gè)常用的。

①、insert:新增一條記錄

@SpringBootTest
class MybatisplusstudyApplicationTests {

@Autowired
private UserMapper userMapper;


/**
* 新增一條記錄
*/
@Test
public void testInsert(){
User user = new User();
user.setId(3L);
user.setUserName("test insert");
user.setUserAge("1");
int insert = userMapper.insert(user);
System.out.println("影響記錄數(shù):"+insert);
}

}

執(zhí)行完畢后,我們查看數(shù)據(jù)庫:

②、delete:刪除記錄

/**

* 根據(jù)id刪除一條記錄
*/
@Test
public void testDeleteById(){
int num = userMapper.deleteById(3L);
System.out.println("刪除的記錄數(shù)為:"+num);
QueryWrapper wrapper = new QueryWrapper();
wrapper.eq("id",3L);
userMapper.delete(wrapper);
}

/**

* 構(gòu)造相關(guān)條件刪除記錄
*/
@Test
public void testDelete(){
QueryWrapper wrapper = new QueryWrapper();
wrapper.eq("USER_NAME","test insert");
int num = userMapper.delete(wrapper);
System.out.println("刪除的記錄數(shù)為:"+num);
}

③、update:修改記錄

/**

* 根據(jù)id修改
*/
@Test
public void testudpateById(){
User user = new User();
user.setId(3L);
user.setUserName("test update");
int num = userMapper.updateById(user);
System.out.println("修改的記錄數(shù)為:"+num);
}

④、select:查詢記錄

/**

* 查詢User表所有記錄
*/
@Test
public void testSelectAll(){
List users = userMapper.selectList(null);
users.forEach(x-> System.out.println(x.getId()+"-"+x.getUserName()+"-"+x.getUserAge()));
}

/**

* 查詢指定記錄
*/
@Test
public void testSelectWrapper(){
QueryWrapper wrapper = new QueryWrapper();
wrapper.eq("user_name","IT可樂");
List users = userMapper.selectList(wrapper);
users.forEach(x-> System.out.println(x.getId()+"-"+x.getUserName()+"-"+x.getUserAge()));
}

發(fā)現(xiàn)沒有,做增刪改查是如此的絲滑流暢,都不用寫SQL語句了。

當(dāng)然,這都只是單表的簡(jiǎn)單玩法,后面我們會(huì)介紹高階玩法。

7、打印SQL語句

這里補(bǔ)充一個(gè)小知識(shí)點(diǎn),通過如下配置,我們可以查看執(zhí)行的 SQL 語句日志。

在 applicatio.yml 文件中,進(jìn)行如下配置:

# 配置slq打印日志
mybatis-plus:
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

當(dāng)然,這種配置只是把 SQL 日志打印到控制臺(tái)便于我們調(diào)試,后面會(huì)介紹更加強(qiáng)大的 SQL 分析工具。


當(dāng)前文章:手把手教你如何使用MyBatisPlus
標(biāo)題鏈接:http://m.5511xx.com/article/cohpdii.html