SpringBoot使用mybatis步驟總結(jié)
SpringBoot使用mybatis
1.導(dǎo)入 MyBatis 所需要的依賴
<!--mybatis-spring-boot-starter:整合--> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>2.1.4</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.47</version> <scope>runtime</scope> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency>
2.配置數(shù)據(jù)庫(kù)連接信息(application.properties)
spring.datasource.username=root spring.datasource.password=123 spring.datasource.url=jdbc:mysql://localhost:3306/mybatis?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8 spring.datasource.driver-class-name=com.mysql.jdbc.Driver
測(cè)試:
@SpringBootTest class Springboot05MybatisApplicationTests { @Autowired DataSource dataSource; @Test void contextLoads() throws SQLException { System.out.println(dataSource.getClass()); System.out.println(dataSource.getConnection()); } }
打印出:class com.zaxxer.hikari.HikariDataSource
HikariProxyConnection@1172943149 wrapping com.mysql.jdbc.JDBC4Connection@3dc95b8b
說(shuō)明配置完成
3.然后進(jìn)行crud操作:
先編寫(xiě)一個(gè)實(shí)體類:(注意這里使用了lombok插件)
import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; import org.springframework.beans.factory.annotation.Autowired; @Data @AllArgsConstructor @NoArgsConstructor public class User { private int id; private String name; private String pwd; }
創(chuàng)建mapper目錄以及對(duì)應(yīng)的 Mapper 接口
import com.chen.pojo.User; import org.apache.ibatis.annotations.Mapper; import org.springframework.stereotype.Repository; import java.util.List; //這個(gè)注解表示了這時(shí)一個(gè)mybatis的mapper類:Dao @Mapper @Repository public interface UserMapper { List<User> queryUserList(); User queryUserById(int id); int addUSer(User user); int updateUser(User user); int deleteUser(int id); }
對(duì)應(yīng)的Mapper映射文件
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.chen.mapper.UserMapper"> <!--select查詢語(yǔ)句--> <!--id為方法名,resultType為結(jié)果返回類型--> <select id="queryUserList" resultType="User"> select * from mybatis.user; </select> <!--通過(guò)id進(jìn)行select查詢語(yǔ)句,parameterType為傳參類型,resultType為結(jié)果返回類型--> <select id="queryUserById" parameterType="int" resultType="User"> select *from mybatis.user where id=#{id}; </select> <!--插入語(yǔ)句,對(duì)象中的屬性,可以直接取出來(lái)--> <insert id="addUSer" parameterType="User" > insert into mybatis.user(name,pwd) values (#{name},#{pwd}); </insert> <!--更改用戶語(yǔ)句--> <insert id="updateUser" parameterType="User" > update mybatis.user set name =#{name},pwd=#{pwd} where id=#{id}; </insert> <!--刪除用戶--> <delete id="deleteUser" parameterType="int"> delete from mybatis.user where id=#{id}; </delete> </mapper>
編寫(xiě)用戶的UserController 進(jìn)行測(cè)試!
import com.chen.mapper.UserMapper; import com.chen.pojo.User; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; import java.util.List; @RestController public class UserController { @Autowired private UserMapper userMapper; @GetMapping("/queryUserList") public List<User> queryUserList(){ List<User> userList=userMapper.queryUserList(); for(User user:userList){ System.out.println(user); } return userList; } //添加一個(gè)用戶 @GetMapping("/addUser") public String addUser(){ int n=userMapper.addUSer(new User(5,"阿毛","4566977")); return String.valueOf(n); } //修改一個(gè)用戶 @GetMapping("/updateUser") public String updateUser(){ int n=userMapper.updateUser(new User(5,"阿毛","4566977")); return String.valueOf(n); } //刪除一個(gè)用戶 @GetMapping("/deleteUser") public String deleteUser(){ int n=userMapper.deleteUser(18); return String.valueOf(n); } }
最后創(chuàng)建該實(shí)體類數(shù)據(jù)庫(kù):mybatis
DROP TABLE IF EXISTS `user`; CREATE TABLE `user` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(25) CHARACTER SET gbk COLLATE gbk_chinese_ci NULL DEFAULT NULL, `pwd` varchar(25) CHARACTER SET gbk COLLATE gbk_chinese_ci NULL DEFAULT NULL, PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 18 CHARACTER SET = gbk COLLATE = gbk_chinese_ci ROW_FORMAT = Compact; -- ---------------------------- -- Records of user -- ---------------------------- INSERT INTO `user` VALUES (3, '小黑', '789'); INSERT INTO `user` VALUES (4, '可可2', '151'); INSERT INTO `user` VALUES (5, '阿毛', '4566977'); INSERT INTO `user` VALUES (6, '小明', 'cafa1414f'); INSERT INTO `user` VALUES (7, '嘻嘻3', '101112'); INSERT INTO `user` VALUES (8, '很愛(ài)很愛(ài)你', '101112'); INSERT INTO `user` VALUES (9, '小霞', '159'); INSERT INTO `user` VALUES (10, '嘻嘻5', '101112'); INSERT INTO `user` VALUES (11, '陳錦賢', 'dad45'); INSERT INTO `user` VALUES (12, '陳錦賢2', 'd2ad45'); INSERT INTO `user` VALUES (13, '小明', '123456'); INSERT INTO `user` VALUES (14, '小明2', '456'); INSERT INTO `user` VALUES (17, '阿毛', '4566977'); SET FOREIGN_KEY_CHECKS = 1;
然后就可以啟動(dòng)項(xiàng)目進(jìn)行測(cè)試了:
瀏覽器打開(kāi):
http://localhost:8080/queryUserList
其它的刪除,添加,修改也是如此!
到此這篇關(guān)于SpringBoot使用mybatis步驟總結(jié)的文章就介紹到這了,更多相關(guān)SpringBoot使用mybatis內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Spring Boot使用AOP實(shí)現(xiàn)REST接口簡(jiǎn)易靈活的安全認(rèn)證的方法
這篇文章主要介紹了Spring Boot使用AOP實(shí)現(xiàn)REST接口簡(jiǎn)易靈活的安全認(rèn)證的方法,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2018-11-11解決Java調(diào)用BAT批處理不彈出cmd窗口的方法分析
本篇文章是對(duì)Java調(diào)用BAT批處理不彈出cmd窗口的方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-05-05如何使用Resttemplate和Ribbon調(diào)用Eureka實(shí)現(xiàn)負(fù)載均衡
這篇文章主要介紹了如何使用Resttemplate和Ribbon調(diào)用Eureka實(shí)現(xiàn)負(fù)載均衡,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-03-03java 字符串內(nèi)存分配的分析與總結(jié)(推薦)
下面小編就為大家?guī)?lái)一篇java 字符串內(nèi)存分配的分析與總結(jié)(推薦)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-08-08IntelliJ?IDEA2022中的Java文檔注釋設(shè)置、操作方法
這篇文章主要介紹了IntelliJ?IDEA2022中的Java文檔注釋設(shè)置、操作詳述,本文通過(guò)圖文并茂的方式給大家介紹IDEA2022?文檔注釋設(shè)置方法,需要的朋友可以參考下2022-08-08Java版微信公眾號(hào)支付開(kāi)發(fā)全過(guò)程
這篇文章主要介紹了Java版微信公眾號(hào)支付開(kāi)發(fā)全過(guò)程,本文通過(guò)實(shí)例相結(jié)合給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-07-07