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);
	}
}