您的位置:首页 > 编程语言 > Java开发

Spring-Boot整合mybatis(一),使用默认的数据库连接池

2017-03-18 21:35 1041 查看
最近工作比较忙,很久没写博客了,抱歉,以前springboot项目使用的是JPA标准,使用hibernate来实现的,最新心血来潮,试试springboot整合mybatis试试,于是找了官方文档来进行配置下,下面就是正文了

先介绍一下开发环境:

jdk版本是1.8

springboot的版本是1.4.1

开发工具为 intellij idea

首先我们先引入mybatis的依赖,在项目的pom文件中添加以下内容:

<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.1.1</version>
</dependency>


------------------------------------分割线-------------------------------------

引入依赖后,在数据库执行以下SQL

create table city (id int primary key auto_increment, name varchar(32), state varchar(32), country varchar(32));
insert into city (name, state, country) values ('BeiJing', 'OFF', 'CN');
上面是创建表跟插入一条数据,方便我们测试是否执行

然后我们创建一个mapper
//mapper注解
@Mapper
public interface CityMapper {

//SQL注解
@Select("SELECT * FROM CITY WHERE state = #{state}")
City findByState(@Param("state") String state);

}


PS注解描述:

@Mapper 表示这是个mapper,类似以前在xml配置的mapper,只不过这里使用注解不使用xml而已,如果不是在默认路径下,还需要配合@MapperScan注解使用,否则会扫描不到@Mapper注解的路径

@Select SQL注解,里面内容是需要执行的SQL,类似注解还有@Update等

@Param 参数注解,用于SQL参数注入使用

创建好mapper后,我们需要创建一个映射实体类,用于对象跟表之间的映射,我们只需要创建一个普通的java对象就好了

public class City {

private Long id;

private String name;

private String state;

private String country;

.... getterAndsetter

}


------------------------------------分割线-------------------------------------

mapper跟model我们都写好了,下面我们配置一下数据库连接等配置,这次我们使用 properties进行配置,以下下是配置内容(这些内容,大家肯定都知道了,就不在写注释了),默认使用的数据库连接池是:

org.apache.tomcat.jdbc.pool.DataSource

spring.datasource.url = jdbc:mysql://localhost:3306/springboot
spring.datasource.username = root
spring.datasource.password = 123456
spring.datasource.driverClassName = com.mysql.jdbc.Driver
spring.datasource.max-active=20
spring.datasource.max-idle=8
spring.datasource.min-idle=8
spring.datasource.initial-size=10
//如果想替换其他的数据库连接池,增加下面配置就可以了
#spring.datasource.type= 数据库连接池的包路径


因为我的mapper没有在默认的包下,而是在其他的包下,所以,我这还需要在Applicaction的启动类上加上@MapperScan注解,代码如下:

@SpringBootApplication
@MapperScan(basePackages = "com.demo.mybatisDemo")
public class DemoApplication{

public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}


以上基本是所有配置了,下面我们写个单元测试来进行测试下吧:

测试代码如下:

@RunWith(SpringJUnit4ClassRunner.class)
@SpringBootTest
public class MybatisTest {

@Autowired
private CityMapper cityMapper;

private Gson gson = new Gson();

@Test
public void mybatisMethod(){
City cn = cityMapper.findByState("CA");

System.out.println(gson.toJson(cn));
}

}


然后你会发现执行成功了,表示配置成功了,这是简单的集成mybatis例子,各位可以参考这个自己进行配置

以下是官方的例子,如果有兴趣的同学,可以通过连接自己查看一下

PS:http://www.mybatis.org/spring-boot-starter/mybatis-spring-boot-autoconfigure/

到这,文章就结束了!

以上,均为本人测试而得出的结果,可能会有出入,或者错误,欢迎指正

欢迎转载,请注明出处跟作者,谢谢!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐