springboot整合mybatis
添加Maven依赖
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>RELEASE</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>RELEASE</version>
</dependency>
在application.yml中配置数据源和mybatis
server:
port: 8080
spring:
datasource:
type: com.alibaba.druid.pool.DruidDataSource
url: jdbc:mysql://127.0.0.1:3306/test1?jdbcCompliantTruncation=false&allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&serverTimezone=GMT
driver-class-name: com.mysql.cj.jdbc.Driver
username: root
password: root
mybatis:
mapper-locations: classpath:mapper/*.xml
mysql
CREATE TABLE `user` (
`id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,
`name` VARCHAR(50) NULL DEFAULT NULL,
`age` INT(11) UNSIGNED NULL DEFAULT NULL,
PRIMARY KEY (`id`)
)
COLLATE='utf8_general_ci'
ENGINE=InnoDB
AUTO_INCREMENT=3;
INSERT INTO `user` (`id`, `name`, `age`) VALUES (1, 'alita', 23);
INSERT INTO `user` (`id`, `name`, `age`) VALUES (2, 'sofia', 33);
DAO
├─main
│ ├─java
│ │ └─top
│ │ └─guoj
│ │ └─springboot
│ │ ├─controller
│ │ ├─dao
│ │ ├─entity
│ │ └─service
│ └─resources
│ └─mapper
UserDao.java
package top.guoj.springboot.dao;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
import java.util.Map;
@Mapper
public interface UserDao {
List<Map<String, Object>> getUser();
}
UserDao.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="top.guoj.springboot.dao.UserDao">
<select id="getUser" resultType="java.util.HashMap">
select * from user;
</select>
</mapper>
使用
package top.guoj.springboot.controller;
import com.alibaba.fastjson.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import top.guoj.springboot.dao.UserDao;
import java.util.List;
import java.util.Map;
@RestController
public class HelloController {
@Autowired
private UserDao userDao;
@RequestMapping("/mybatis")
String mybatis() {
List<Map<String, Object>> users = userDao.getUser();
return JSONObject.toJSONString(users);
}
}