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自动生成的代码目录结构
至此,SpringBoot已经集成好mybatis,数据源用的Druid,同时用mybatis generator自动生成代码,接下来写service和controller,则可以运行了。
当然springboot中也可以用mybatis-plus来集成mybatis
版权声明:本文为JAVASCHOOL原创文章,未经本站允许不得转载。