5分鐘快速學(xué)會(huì)spring boot整合Mybatis的方法
一、前言
記得剛接觸SpringBoot時(shí),大吃一驚,世界上居然還有這么省事的框架,立馬感嘆:SpringBoot是世界上最好的框架。哈哈!
下面這篇文章主要給大家介紹了關(guān)于springboot整合Mybatis。在此記錄下,分享給大家。
二、springboot整合Mybatis
1、pom文件 依賴引入
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.1.8.RELEASE</version> <relativePath /> </parent> <dependencies> <!-- SpringBoot 測(cè)試 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <!-- mybatis 支持 SpringBoot --> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>1.1.1</version> </dependency> <!-- mysql 驅(qū)動(dòng) --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.38</version> </dependency> <!-- SpringBoot web組件 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> </dependencies>
2、 application.yml 新增配置
spring: datasource: url: jdbc:mysql://localhost:3306/yys_springboot_mybatis username: root password: 123456 driver-class-name: com.mysql.jdbc.Driver
3、UserEntity.java
/**
* 用戶管理
* Entity
* @author yys
*/
public class UserEntity implements Serializable {
private Long id;
private String name;
private Integer age;
private Byte status;
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone="GMT+8")
private Date createTime;
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone="GMT+8")
private Date updateTime;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public Byte getStatus() {
return status;
}
public void setStatus(Byte status) {
this.status = status;
}
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
public Date getUpdateTime() {
return updateTime;
}
public void setUpdateTime(Date updateTime) {
this.updateTime = updateTime;
}
}
4、UserController.java
/**
* 用戶管理
* Controller
* @author yys
*/
@RestController
@RequestMapping("/user")
public class UserController {
@Autowired
private UserService userService;
@RequestMapping("/add")
public String addUser(String userName, Integer age) {
return userService.addUser(userName, age) ? "success" : "fail";
}
@RequestMapping("/get")
public UserEntity getUserByName(String userName) {
return userService.getUserByName(userName);
}
}
5、UserService.java
/**
* 用戶管理
* Service
* @author yys
*/
@Service
public class UserService {
@Autowired
private UserMapper userMapper;
public boolean addUser(String userName, Integer age) {
return userMapper.insert(userName, age) > 0 ? true : false;
}
public UserEntity getUserByName(String userName) {
return userMapper.findByName(userName);
}
}
6、UserMapper.java
/**
* 用戶管理
* Mapper
* @author yys
*/
public interface UserMapper {
@Select("SELECT id, user_name AS name, age, status, create_time AS createTime, update_time AS updateTime FROM yys_user WHERE user_name = #{name}")
UserEntity findByName(@Param("name") String name);
@Insert("INSERT INTO yys_user VALUES (NULL, #{name}, #{age}, 1, NOW(), NOW())")
int insert(@Param("name") String name, @Param("age") Integer age);
}
7、啟動(dòng)類
@SpringBootApplication
@MapperScan("com.yys.mapper")
public class YysApp {
public static void main(String[] args) {
SpringApplication.run(YysApp.class, args);
}
}
8、初始化sql文件
CREATE TABLE `yys_user` ( `id` bigint(11) NOT NULL AUTO_INCREMENT COMMENT 'ID,自增列', `user_name` varchar(32) NOT NULL COMMENT '用戶名', `age` int(11) NOT NULL COMMENT '用戶年齡', `status` tinyint(2) NOT NULL DEFAULT '1' COMMENT '狀態(tài):-1-刪除;1-正常;', `create_time` datetime NOT NULL COMMENT '創(chuàng)建時(shí)間', `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新時(shí)間', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
9、測(cè)試
http://localhost:8080/user/add?userName=yys&age=18
a、頁(yè)面結(jié)果 - 如下圖所示 :
_b、數(shù)據(jù)庫(kù)結(jié)果 - 如下圖所示 :_

http://localhost:8080/user/get?userName=yys
a、頁(yè)面結(jié)果 - 如下圖所示 :

總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。
- Spring Boot整合tk.mybatis代碼實(shí)例
- SpringBoot 整合jdbc和mybatis的方法
- SpringBoot整合MyBatis實(shí)現(xiàn)樂(lè)觀鎖和悲觀鎖的示例
- SpringBoot整合MyBatis-Plus3.1教程詳解
- 使用maven整合Spring+SpringMVC+Mybatis框架詳細(xì)步驟(圖文)
- Spring Boot整合MyBatis連接Oracle數(shù)據(jù)庫(kù)的步驟全紀(jì)錄
- Spring Boot整合mybatis并自動(dòng)生成mapper和實(shí)體實(shí)例解析
- spring 整合 mybatis 中數(shù)據(jù)源的幾種配置方式(總結(jié)篇)
- MyBatis與Spring整合過(guò)程實(shí)例解析
相關(guān)文章
javabean?中使用@Transient屬性處理臨時(shí)字段
@Transient表示該屬性并非一個(gè)到數(shù)據(jù)庫(kù)表的字段的映射,ORM框架將忽略該屬性,本文給大家介紹javabean?中臨時(shí)字段的處理:@Transient,感興趣的朋友跟隨小編一起看看吧2023-08-08
實(shí)例講解Java中動(dòng)態(tài)代理和反射機(jī)制
在本篇文章里小編給各位分享了關(guān)于Java中動(dòng)態(tài)代理和反射機(jī)制的相關(guān)知識(shí)點(diǎn)內(nèi)容,有需要的朋友們學(xué)習(xí)下。2019-01-01
Java實(shí)現(xiàn)5種限流算法及7種限流方式
本文主要介紹了Java實(shí)現(xiàn)5種限流算法及7種限流方式,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-08-08
SpringBoot如何打印mybatis的執(zhí)行sql問(wèn)題
這篇文章主要介紹了SpringBoot如何打印mybatis的執(zhí)行sql問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-03-03
淺談Mybatis+mysql 存儲(chǔ)Date類型的坑
這篇文章主要介紹了淺談Mybatis+mysql 存儲(chǔ)Date類型的坑,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-11-11

