springboot集成mybatis
Posted 店蛋蛋
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了springboot集成mybatis相关的知识,希望对你有一定的参考价值。
springboot如何配置web项目请参考前一章,在此基础上集成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>
配置数据源,在application.yml中:
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/
接下来我们新建userMapper.xml,UserEntity以及UserDao:
1 package com.yingxinhuitong.demo.model; 2 3 /** 4 * Created by jack on 2017/4/20. 5 */ 6 public class UserEntity { 7 private Long id; 8 private String username; 9 private String password; 10 11 public Long getId() { 12 return id; 13 } 14 15 public void setId(Long id) { 16 this.id = id; 17 } 18 19 public String getUsername() { 20 return username; 21 } 22 23 public void setUsername(String username) { 24 this.username = username; 25 } 26 27 public String getPassword() { 28 return password; 29 } 30 31 public void setPassword(String password) { 32 this.password = password; 33 } 34 }
package com.yingxinhuitong.demo.dao; 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(); }
<?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.yingxinhuitong.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,测试一下可不可以查询数据了:
1 @RestController 2 public class TestController { 3 4 @Resource 5 UserDao userDao; 6 7 @RequestMapping("/getusers") 8 public String test() { 9 List<UserEntity> users = userDao.searchAll(); 10 String usersJson = JSON.toJSONString(users); 11 return usersJson; 12 } 13 }
运行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的集成。
关注老姜谈技术,微信号:helojava,或者扫描下面二维码。
代码改变世界。
以上是关于springboot集成mybatis的主要内容,如果未能解决你的问题,请参考以下文章
SpringBoot集成mybatis以及自动化测试代码实现
SpringBoot 集成MyBatis-Plus提示反序列化异常:cannot deserialize from Object value (no delegate- or property-bas