5分鐘快速學會spring boot整合Mybatis的方法
一、前言
記得剛接觸SpringBoot時,大吃一驚,世界上居然還有這么省事的框架,立馬感嘆:SpringBoot是世界上最好的框架。哈哈!
下面這篇文章主要給大家介紹了關于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 測試 --> <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ū)動 --> <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、啟動類
@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)建時間', `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新時間', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
9、測試
http://localhost:8080/user/add?userName=yys&age=18
a、頁面結(jié)果 - 如下圖所示 :
_b、數(shù)據(jù)庫結(jié)果 - 如下圖所示 :_

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

總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對腳本之家的支持。
- Spring Boot整合tk.mybatis代碼實例
- SpringBoot 整合jdbc和mybatis的方法
- SpringBoot整合MyBatis實現(xiàn)樂觀鎖和悲觀鎖的示例
- SpringBoot整合MyBatis-Plus3.1教程詳解
- 使用maven整合Spring+SpringMVC+Mybatis框架詳細步驟(圖文)
- Spring Boot整合MyBatis連接Oracle數(shù)據(jù)庫的步驟全紀錄
- Spring Boot整合mybatis并自動生成mapper和實體實例解析
- spring 整合 mybatis 中數(shù)據(jù)源的幾種配置方式(總結(jié)篇)
- MyBatis與Spring整合過程實例解析
相關文章
javabean?中使用@Transient屬性處理臨時字段
@Transient表示該屬性并非一個到數(shù)據(jù)庫表的字段的映射,ORM框架將忽略該屬性,本文給大家介紹javabean?中臨時字段的處理:@Transient,感興趣的朋友跟隨小編一起看看吧2023-08-08
SpringBoot如何打印mybatis的執(zhí)行sql問題
這篇文章主要介紹了SpringBoot如何打印mybatis的執(zhí)行sql問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-03-03

