SpringBoot集成mybatis+Druid+mybatis generator

SpringBoot项目一般会使用Mybaits来加载数据源,创建sqlsessionFactory来创建连接,然后利用执行器执行SQL语句;Druid是阿里巴巴为了使用SpringBoot更创建的一个高效框架,可以用来连接mysql数据库。本文将讲解用Eclipse创建SpringBoot+Mybaits+Druid的web项目,并用mybatis generator自动生成增改删查代码。

1. Eclipse创建SpringBoot项目

eclipse中创建项目,可以用SpringBoot插件创建,也可以导入SpringBoot项目创建

2. 添加mybatis依赖

打开pom.xml查看依赖,可以在创建项目的时候勾选mybatis,这样会自动添加依赖

<!--mybatis依赖-->
<dependency>
	<groupId>org.mybatis.spring.boot</groupId>
	<artifactId>mybatis-spring-boot-starter</artifactId>
	<version>1.2.1</version>
</dependency>
<!-- druid阿里巴巴数据库连接池 -->
<dependency>
	<groupId>com.alibaba</groupId>
	<artifactId>druid</artifactId>
	<version>1.0.26</version>
</dependency>

如果需要用最新的jar包,则直接通过maven网站查到最新的版本。

3. application.properties中配置Druid数据源

# application.properties 数据库访问配置
# 主数据源,默认的
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/数据库名称?useUnicode=true&characterEncoding=utf-8&useSSL=false
spring.datasource.username=root
spring.datasource.password=root
 
# 下面为Druid连接池的补充设置,应用到上面所有数据源中
spring.datasource.initialSize=5
spring.datasource.minIdle=5
spring.datasource.maxActive=20
# 配置获取连接等待超时的时间
spring.datasource.maxWait=60000
# 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
spring.datasource.timeBetweenEvictionRunsMillis=60000
# 配置一个连接在池中最小生存的时间,单位是毫秒
spring.datasource.minEvictableIdleTimeMillis=300000
spring.datasource.validationQuery=SELECT 1 FROM DUAL
spring.datasource.testWhileIdle=true
spring.datasource.testOnBorrow=false
spring.datasource.testOnReturn=false
# 打开PSCache,并且指定每个连接上PSCache的大小
spring.datasource.poolPreparedStatements=true
spring.datasource.maxPoolPreparedStatementPerConnectionSize=20
# 配置监控统计拦截的filters,去掉后监控界面sql无法统计,'wall'用于防火墙
spring.datasource.filters=stat,wall,log4j
# 通过connectProperties属性来打开mergeSql功能;慢SQL记录
spring.datasource.connectionProperties=druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000
# 合并多个DruidDataSource的监控数据
#spring.datasource.useGlobalDataSourceStat=true

4. 创建数据库,表

直接在mysql里面创建数据库test,表user

5. mybatis generator代码自动生成

Eclipse安装generator插件,可以在help -> eclipse marketplace里面搜索mybatis generator安装,安装完毕重启eclipse,修改mybatis-generator的配置文件(mybatis-generator.xml)

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
 
<generatorConfiguration>
  <context id="mysqlTables" targetRuntime="MyBatis3">
	<commentGenerator>
	    <property name="suppressAllComments" value="true"/>
	</commentGenerator>
	<!--数据库链接地址账号密码-->
    <jdbcConnection connectionURL="jdbc:mysql://172.16.6.7:3306/test?characterEncoding=utf8" driverClass="com.mysql.jdbc.Driver" password="xxxx" userId="xxxx">
    	<property name="useInformationSchema" value="true"/>
    </jdbcConnection>
	<!--生成Model类存放位置-->
    <javaModelGenerator targetPackage="com.xxx.test.model" targetProject="test/src/main/java" />
	<!--生成映射文件mapper存放位置-->
    <sqlMapGenerator targetPackage="mapper" targetProject="test/src/main/resources" />
	<!--生成Dao类存放位置-->
    <javaClientGenerator targetPackage="com.xxx.test.dao" targetProject="test/src/main/java" type="XMLMAPPER" />
	<!-- 需要自动生成代码的表 -->
    <table tableName="user" domainObjectName="User"  enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false" >
	</table>
  </context>
</generatorConfiguration>

右键 run as =》 generator生成,代码生成器会自动生成UserMapper.java,User.java,UserMapper.xml3个文件,里面已经包含增改删查的方法。新建了项目,自动生成了代码,可以看完整的SpringBoot+mybatis增改删查例子

6. eclipse结构图

mybatis generator自动生成的代码目录结构

mybatis generator自动生成的代码目录结构

至此,SpringBoot已经集成好mybatis,数据源用的Druid,同时用mybatis generator自动生成代码,接下来写service和controller,则可以运行了。

当然springboot中也可以用mybatis-plus来集成mybatis

版权声明:本文为JAVASCHOOL原创文章,未经本站允许不得转载。