springboot mybatis 整合【vaynexiao】

这个文章写得更详细哦 http://blog.didispace.com/spring-boot-learning-21-3-5/

1,vo

@Data
@NoArgsConstructor
public class User {
    private Integer id;
    private String name;
    private String pwd;
}

2,对应的表

DROP TABLE IF EXISTS `user`;
CREATE TABLE `user` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(255) DEFAULT NULL,
  `pwd` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=utf8;
INSERT INTO `user` VALUES ('1', 'faker', '1');
INSERT INTO `user` VALUES ('2', 'mata', '2');
INSERT INTO `user` VALUES ('3', 'wuhu', '3');
INSERT INTO `user` VALUES ('4', 'bagu', '4');
INSERT INTO `user` VALUES ('5', 'sddd', '5');
INSERT INTO `user` VALUES ('6', 'faker', '6');
INSERT INTO `user` VALUES ('7', 'faker', '7');
INSERT INTO `user` VALUES ('8', 'faker', '8');
INSERT INTO `user` VALUES ('9', 'faker', '9');
INSERT INTO `user` VALUES ('10', '10', '10');
INSERT INTO `user` VALUES ('11', '11', '11');
INSERT INTO `user` VALUES ('12', '12', '12');

3,依赖

	<dependency>
		<groupId>org.mybatis.spring.boot</groupId>
		<artifactId>mybatis-spring-boot-starter</artifactId>
		<version>1.3.2</version>
	</dependency>
	<dependency>
		<groupId>mysql</groupId>
		<artifactId>mysql-connector-java</artifactId>
	</dependency>

关于mybatis-spring-boot-starter的版本需要注意:

  • 2.1.x版本适用于:MyBatis 3.5+、Java 8+、Spring Boot 2.1+
  • 2.0.x版本适用于:MyBatis 3.5+、Java 8+、Spring Boot 2.0/2.1
  • 1.3.x版本适用于:MyBatis 3.4+、Java 6+、Spring Boot 1.5

其中,目前还在维护的是2.1.x版本和1.3.x版本。

4,interface

@Mapper
//表示这是一个mybatis的mapper类
//也可以在另一个文件中使用@MapperScan=("com.xxx.xxx")
@Repository
public interface UserMapper {
    List<User> selectAll();
    int update(User user);
}

5,controller

@RestController
public class UserController {
    @Autowired
    private UserMapper um;
    @RequestMapping("/selectAll")
    public List<User> selectAll(){
        List<User> list = um.selectAll();
        return list;
    }
}

6,xml

xml在resources文件夹下的mapper下,resources/mapper/UserMapper.xml

<?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.kuang.mapper.UserMapper">

    <select id="selectAll" resultType="user">
        select * from user
    </select>

</mapper>

7,application.properties

spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/study?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8
spring.datasource.username=root
spring.datasource.password=root

mybatis.type-aliases-package: com.kuang.vo
mybatis.mapper-locations=classpath:**/*.xml

# 注意
1,driver并不是 com.mysql.jdbc.Driver"
2,url也比较特殊
3,location有个s,当初这里费劲了1个小时

application.propertiesapplication.yml同时存在
https://blog.csdn.net/u014049521/article/details/82797252

8,测试

http://localhost:8080/selectAll

发布了49 篇原创文章 · 获赞 103 · 访问量 15万+

猜你喜欢

转载自blog.csdn.net/vayne_xiao/article/details/104885201