springboot如何配置web项目请参考前一章,在此基础上集成mybatis。
添加mysql驱动:
添加druid和fastjson依赖,使用阿里巴巴druid连接池
设置mybatis的mapper和model扫描路径:
UserDao:
UserMapper.xml:
创建一个控制器,注入UserDao,测试一下可不可以查询数据了:
至此,springboot已完成对mybatis的集成。
在pom文件中添加mybatis的依赖:
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.2.0</version>
</dependency>
添加mysql驱动:
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
添加druid和fastjson依赖,使用阿里巴巴druid连接池
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.0.28</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.30</version>
</dependency>
spring:
datasource:
name: test
url: jdbc:mysql://127.0.0.1:3306/test
username: root
password: 111111
# 使用druid数据源
type: com.alibaba.druid.pool.DruidDataSource
driver-class-name: com.mysql.jdbc.Driver
filters: stat
maxActive: 20
initialSize: 1
maxWait: 60000
minIdle: 1
timeBetweenEvictionRunsMillis: 60000
minEvictableIdleTimeMillis: 300000
validationQuery: select 'x'
testWhileIdle: true
testOnBorrow: false
testOnReturn: false
poolPreparedStatements: true
maxOpenPreparedStatements: 20
设置mybatis的mapper和model扫描路径:
mybatis:
mapperLocations: classpath:mapper/*.xml
typeAliasesPackage: com.yingxinhuitong.demo.model
#更多配置请参见:http://www.mybatis.org/spring-boot-starter/mybatis-spring-boot-autoconfigure/
UserEntity:
public class UserEntity {
private Long id;
private String username;
private String password;
public Long getId() {
return id;
}
public void setId(Long 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;
}
}
UserDao:
import com.yingxinhuitong.demo.model.UserEntity;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/**
* Created by jack on 2017/4/20.
*/
@Mapper
public interface UserDao {
List<UserEntity> searchAll();
}
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.yingxinhuitong.demo.dao.UserDao" >
<!-- 字段与实体的映射 -->
<resultMap id="BaseResultMap" type="com.test.demo.model.UserEntity">
<id column="id" property="id" jdbcType="BIGINT" />
<result column="username" property="username" jdbcType="VARCHAR" />
<result column="password" property="password" jdbcType="VARCHAR" />
</resultMap>
<!-- 根据条件查询,全部 -->
<select id="searchAll" resultMap="BaseResultMap">
select * from tab_user
</select>
</mapper>
创建一个控制器,注入UserDao,测试一下可不可以查询数据了:
@RestController
public class TestController {
@Resource
UserDao userDao;
@RequestMapping("/getusers")
public String test() {
List<UserEntity> users = userDao.searchAll();
String usersJson = JSON.toJSONString(users);
return usersJson;
}
}
运行Application.class,启动成功后访问:http://localhost:9000/demo/getusers,输出内容如下:
[{"id":1,"password":"000000","username":"test"},{"id":2,"password":"111111","username":"test1"},{"id":3,"password":"222222","username":"test2"}]
至此,springboot已完成对mybatis的集成。