5分鐘快速學(xué)會spring boot整合Mybatis的方法
一、前言
記得剛接觸SpringBoot時,大吃一驚,世界上居然還有這么省事的框架,立馬感嘆: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 測試 --> <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)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,謝謝大家對腳本之家的支持。
- 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整合過程實例解析
相關(guān)文章
javabean?中使用@Transient屬性處理臨時字段
@Transient表示該屬性并非一個到數(shù)據(jù)庫表的字段的映射,ORM框架將忽略該屬性,本文給大家介紹javabean?中臨時字段的處理:@Transient,感興趣的朋友跟隨小編一起看看吧2023-08-08SpringBoot如何打印mybatis的執(zhí)行sql問題
這篇文章主要介紹了SpringBoot如何打印mybatis的執(zhí)行sql問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-03-03