项目结构:
1.application.properties中配置整合mybatis的配置文件、mybatis扫描别名的基本包与数据源
server.port=8088
#springboot
mybatis.mapper-locations = classpath:mapper/UserMapper.xmlmybatis.config-location = classpath:mapper/sqlMapConfig.xml
mybatis.type-aliases-package= com.jianghao.bean
spring.datasource.driver-class-name= com.mysql.jdbc.Driver
spring.datasource.url = jdbc:mysql://localhost:3306/user?useUnicode=true&characterEncoding=utf-8
spring.datasource.username = roo
tspring.datasource.password = root
2.pom.xml加入springboot整合mybatis的jar包与数据库驱动包
<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion>
<groupId>parentpro</groupId> <artifactId>parentpro</artifactId> <version>0.0.1-SNAPSHOT</version> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.2.RELEASE</version> </parent> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency>
<!-- spring-boot整合mybatis --> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>1.3.1</version> </dependency> <!-- mysql驱动 --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.6</version> </dependency> <dependency> <groupId>tk.mybatis</groupId> <artifactId>mapper-spring-boot-starter</artifactId> <version>2.0.2</version> </dependency> <!-- 基本配置 --> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.9</version> <scope>test</scope> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>2.5</version> <scope>provided</scope> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>jsp-api</artifactId> <version>2.0</version> <scope>provided</scope> </dependency> <dependency> <groupId>com.thoughtworks.xstream</groupId> <artifactId>xstream</artifactId> <version>1.4.4</version> </dependency>
</dependencies>
</project>
mybatis全局配置文件:
sqlMapConfig.xml
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"><configuration>
</configuration>
编写代码:
(1)User.java
public class USer implements Serializable {
private static final long seriaVersionUID=1L;
private Integer id;
private String username;
private String password;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
(2)UserMapper.java (注意接口上的注解是@mapper,代替之前扫描接口的操作)
package com.jianghao.mapper;
import com.jianghao.bean.USer;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Repository;
import java.util.List;
@Repository("userMapper")
public interface UserMapper extends tk.mybatis.mapper.common.Mapper{
public List<USer> findAll();
}
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.jianghao.mapper.UserMapper">
<select id="findAll" resultType="com.jianghao.bean.USer" >
select * from crm_user
</select>
</mapper>
(3)UserService.java
import com.jianghao.bean.USer;
import org.springframework.stereotype.Service;
import java.util.List;
public interface UserService {
/** * 根据接口查询所用的用户 */
public List<USer> findAll();
}
UserServiceImpl.java
import com.jianghao.bean.USer;
import com.jianghao.mapper.UserMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class UserServiceImpl implements UserService{
@Autowired
private UserMapper userMapper;
public List<USer> findAll() {
List<USer> list=userMapper.findAll();
return list;
}
}
(4)UserController.java
import com.jianghao.bean.USer;
import com.jianghao.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
@RestController/**自动返回的是json格式数据***/
public class UserController {
@Autowired
private UserService userService;
@RequestMapping("list")
public List<USer> list(){
List<USer> list= userService.findAll();
return list;
}
}
注意:@RestController 注解 (自动返回的是json格式数据)
(5)测试类
@SpringBootApplication//Spring Boot项目的核心注解,主要目的是开启自动配置
@MapperScan(basePackages ={"com.jianghao.mapper"})
public class test1 {
public static void main(String[] args) {
SpringApplication.run(test1.class,args);
}
}
4.启动测试
到此SpringBoot与Mybatis的整合完成!
最后附上数据表:
Create Table
CREATE TABLE crm_user
(
id
int(11) NOT NULL AUTO_INCREMENT,
username
varchar(20) DEFAULT NULL,
password
varchar(20) DEFAULT NULL,
PRIMARY KEY (id
)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8