SpringBoot集成Mybatis用法笔记

今天给大家整理SpringBoot集成Mybatis用法笔记。希望对大家能有所帮助!

1.搭建一个SpringBoot基础项目。

具体可以参考SpringBoot:搭建第一个Web程序

2.引入相关依赖

  
 
 
 
  1.  
  2.  
  3. org.springframework.boot 
  4. spring-boot-starter 
  5.  
  6.  
  7. org.springframework.boot 
  8. spring-boot-starter-web 
  9.  
  10.  
  11. org.mybatis.spring.boot 
  12. mybatis-spring-boot-starter 
  13. 2.1.3 
  14.  
  15.  
  16. mysql 
  17. mysql-connector-java 
  18.  
  19.  
  20. org.springframework.boot 
  21. spring-boot-starter-test 
  22. test 
  23.  
  24.  
  25. junit 
  26. junit 
  27. 4.12 
  28. test 
  29.  
  30.  

 

3.准备数据库脚本

创建一个Mysql数据库,数据库名为test,然后执行一下脚本。

  
 
 
 
  1. /* 
  2. Navicat MySQL Data Transfer 
  3.  
  4. Source Server         : 本地MYSQL 
  5. Source Server Version : 50644 
  6. Source Host           : localhost:3306 
  7. Source Database       : test 
  8.  
  9. Target Server Type    : MYSQL 
  10. Target Server Version : 50644 
  11. File Encoding         : 65001 
  12.  
  13. Date: 2021-05-16 17:20:26 
  14. */ 
  15.  
  16. SET FOREIGN_KEY_CHECKS=0; 
  17.  
  18. -- ---------------------------- 
  19. -- Table structure for t_user 
  20. -- ---------------------------- 
  21. DROP TABLE IF EXISTS `t_user`; 
  22. CREATE TABLE `t_user` ( 
  23.   `id` int(11) NOT NULL AUTO_INCREMENT, 
  24.   `user_name` varchar(255) CHARACTER SET armscii8 DEFAULT NULL, 
  25.   `password` varchar(255) CHARACTER SET armscii8 DEFAULT NULL, 
  26.   `last_login_time` datetime DEFAULT NULL, 
  27.   `sex` tinyint(4) DEFAULT NULL, 
  28.   PRIMARY KEY (`id`) 
  29. ) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8; 
  30.  
  31. -- ---------------------------- 
  32. -- Records of t_user 
  33. -- ---------------------------- 
  34. INSERT INTO `t_user` VALUES ('1', 'xiaoxin', '123', '2019-07-27 16:01:21', '1'); 
  35. INSERT INTO `t_user` VALUES ('2', 'jack jo', '123', '2019-07-24 16:01:37', '1'); 
  36. INSERT INTO `t_user` VALUES ('4', 'landengdeng', '123', '2019-07-24 16:01:37', '1'); 
  37. INSERT INTO `t_user` VALUES ('5', 'max', '123', '2019-07-24 16:01:37', '1'); 
  38. INSERT INTO `t_user` VALUES ('6', 'liua11', '123456', null, '1'); 
  39. INSERT INTO `t_user` VALUES ('7', 'xiaozhang', '888888', null, '1'); 

4.配置项目配置文件 application.yml

  
 
 
 
  1. server: 
  2. port: 8090 
  3. mybatis: 
  4. configuration: 
  5. map-underscore-to-camel-case: true 
  6.   mapper-locations: mybatis/**/*Mapper.xml 
  7.  
  8. spring: 
  9. datasource: 
  10. driverClassName: com.mysql.cj.jdbc.Driver 
  11. url: jdbc:mysql://localhost:3306/test?useSSL=false&useUnicode=true&characterEncoding=utf8 
  12. username: root 
  13. password: root 
  14. logging: 
  15. level: 
  16. my.springboot.mybatis.dao: debug 

5.创建实体类 UserDO.java

  
 
 
 
  1. package my.springboot.mybatis.entity; 
  2.  
  3. import java.util.Date; 
  4.  
  5. public class UserDO { 
  6. private Integer id; 
  7. private String userName; 
  8. private String password; 
  9. private Integer sex; 
  10. private Date lastLoginTime; 
  11.  
  12. public Integer getId() { 
  13. return id; 
  14.     } 
  15.  
  16. public void setId(Integer id) { 
  17. this.id = id; 
  18.     } 
  19.  
  20. public String getUserName() { 
  21. return userName; 
  22.     } 
  23.  
  24. public void setUserName(String userName) { 
  25. this.userName = userName; 
  26.     } 
  27.  
  28. public String getPassword() { 
  29. return password; 
  30.     } 
  31.  
  32. public void setPassword(String password) { 
  33. this.password = password; 
  34.     } 
  35.  
  36. public Integer getSex() { 
  37. return sex; 
  38.     } 
  39.  
  40. public void setSex(Integer sex) { 
  41. this.sex = sex; 
  42.     } 
  43.  
  44. public Date getLastLoginTime() { 
  45. return lastLoginTime; 
  46.     } 
  47.  
  48. public void setLastLoginTime(Date lastLoginTime) { 
  49. this.lastLoginTime = lastLoginTime; 
  50.     } 
  51.  
  52. @Override 
  53.     public String toString() { 
  54. return "UserDO{" + 
  55. "id=" + id + 
  56. ", userName='" + userName + '\'' + 
  57. ", password='" + password + '\'' + 
  58. ", sex=" + sex + 
  59. ", lastLoginTime=" + lastLoginTime + 
  60. '}'; 
  61.     } 

6.创建mapper文件 UserInfoMapper.java

  
 
 
 
  1. package my.springboot.mybatis.dao; 
  2.  
  3. import java.util.List; 
  4. import java.util.Map; 
  5. import my.springboot.mybatis.entity.UserDO; 
  6. import org.apache.ibatis.annotations.Mapper; 
  7.  
  8. @Mapper 
  9. public interface UserInfoMapper { 
  10.     UserDO get(Integer id); 
  11.     List list(Map map); 
  12. int count(Map map); 
  13. int save(UserDO user); 
  14. int update(UserDO user); 
  15. int remove(Integer id); 
  16. int batchRemove(Integer[] ids); 

7.创建Mapper映射文件 UserInfoMapper.xml

  
 
 
 
  1.  
  2.  
  3.  
  4.  
  5.       select id,user_name,password,last_login_time,sex from t_user where id = #{value} 
  6.  
  7.  
  8.         select id,user_name,password,last_login_time,sex from t_user 
  9.  
  10.  and id = #{id}  
  11.  and user_name = #{userName}  
  12.  and password = #{password}  
  13.  and last_login_time = #{lastLoginTime}  
  14.  and sex = #{sex}  
  15.  
  16.  
  17.  
  18.                 order by ${sort} ${order} 
  19.  
  20.  
  21.                 order by id desc 
  22.  
  23.  
  24.  
  25.             limit #{offset}, #{limit} 
  26.  
  27.  
  28.  
  29.         select count(*) from t_user 
  30.  
  31.  and id = #{id}  
  32.  and user_name = #{userName}  
  33.  and password = #{password}  
  34.  and last_login_time = #{lastLoginTime}  
  35.  and sex = #{sex}  
  36.  
  37.  
  38.  
  39.       insert into t_user 
  40.       ( 
  41.          user_name, 
  42.          password, 
  43.          last_login_time, 
  44.          sex 
  45.       values 
  46.       ( 
  47.          #{userName}, 
  48.          #{password}, 
  49.          #{lastLoginTime}, 
  50.          #{sex} 
  51.  
  52.  
  53.         update t_user 
  54.  
  55. user_name = #{userName},  
  56. password = #{password},  
  57. last_login_time = #{lastLoginTime},  
  58. sex = #{sex} 
  59.  
  60.         where id = #{id} 
  61.  
  62.  
  63.       delete from t_user where id = #{value} 
  64.  
  65.  
  66.  
  67.         delete from t_user where id in 
  68.  
  69.             #{id} 
  70.  
  71.  
  72.  

 

8.创建服务接口 IUserInfoService.java

  
 
 
 
  1. package my.springboot.mybatis.service; 
  2. import my.springboot.mybatis.entity.UserDO; 
  3.  
  4. import java.util.List; 
  5.  
  6. public interface IUserInfoService { 
  7.     List findAll(); 
  8.  
  9.     UserDO findById(Integer id); 
  10.  
  11. void insert(UserDO model); 
  12.  
  13.     Integer update(UserDO model); 
  14.  
  15.     Integer deleteById(Integer id); 
  16.  

9.创建服务实现类 UserInfoService.java

  
 
 
 
  1. package my.springboot.mybatis.service.impl; 
  2.  
  3.  
  4. import my.springboot.mybatis.dao.UserInfoMapper; 
  5. import my.springboot.mybatis.entity.UserDO; 
  6. import my.springboot.mybatis.service.IUserInfoService; 
  7. import org.springframework.beans.factory.annotation.Autowired; 
  8. import org.springframework.stereotype.Service; 
  9.  
  10. import java.util.List; 
  11. @Service 
  12. public class UserInfoService implements IUserInfoService { 
  13. @Autowired 
  14.     private UserInfoMapper mapper; 
  15. @Override 
  16.     public List findAll() { 
  17. return mapper.list(null); 
  18.     } 
  19.  
  20. @Override 
  21.     public UserDO findById(Integer id) { 
  22. return mapper.get(id); 
  23.     } 
  24.  
  25. @Override 
  26.     public void insert(UserDO model) { 
  27. mapper.save(model); 
  28.     } 
  29.  
  30. @Override 
  31.     public Integer update(UserDO model) { 
  32. return  mapper.update(model); 
  33.     } 
  34.  
  35. @Override 
  36.     public Integer deleteById(Integer id) { 
  37. return mapper.remove(id); 
  38.     } 

10.创建控制器 HomeController.java

  
 
 
 
  1. package my.springboot.mybatis.controller; 
  2.  
  3.  
  4. import my.springboot.mybatis.entity.UserDO; 
  5. import my.springboot.mybatis.service.IUserInfoService; 
  6. import org.springframework.beans.factory.annotation.Autowired; 
  7. import org.springframework.stereotype.Controller; 
  8. import org.springframework.web.bind.annotation.RequestMapping; 
  9. import org.springframework.web.bind.annotation.ResponseBody; 
  10.  
  11. import javax.jws.soap.SOAPBinding; 
  12. import java.util.Date; 
  13.  
  14.  
  15. @Controller 
  16. public class HomeController { 
  17. @Autowired 
  18.     private IUserInfoService userInfoService; 
  19. @RequestMapping("index") //注解映射请求路径 
  20.     @ResponseBody //可以将java对象转为json格式的数据 
  21.     public String index() 
  22.     { 
  23.         UserDO user=userInfoService.findById(1); 
  24. // 新增用户 
  25.         UserDO add=new UserDO(); 
  26.         add.setSex(1); 
  27.         add.setUserName("xiaozhang"); 
  28.         add.setPassword("888888"); 
  29.         add.setLastLoginTime(null); 
  30. //userInfoService.insert(add); 
  31.         // 更新用户 
  32.         user.setUserName("xiaoxin"); 
  33. //userInfoService.update(user); 
  34.         // 删除用户 
  35.         userInfoService.deleteById(3); 
  36.  
  37. return "Hello World !"; 
  38.     } 

启动地址:http://localhost:8090/index

11.项目结构文件截图

本文转载自微信公众号「IT技术分享社区」,可以通过以下二维码关注。转载本文请联系IT技术分享社区公众号。

博客链接:https://programmerblog.xyz

分享文章:SpringBoot集成Mybatis用法笔记
链接地址:http://www.shufengxianlan.com/qtweb/news38/347888.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联