SpringBoot整合MyBatis与数据库逆向工具
2020-02-17 05:26
369 查看
SpringBoot整合MyBatis
本篇主要讲述:
配置 datasource 数据源信息
SpringBoot整合MyBatis(简略)
mybatis 数据库逆向工具
整合HikariCP
1.pom中引入数据源驱动与mybatis依赖
<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.12</version> </dependency> <!-- mybatis --> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>2.1.0</version> </dependency>
2.在foodie-api模块 resource 下新建application.yml ,这是全局配置文件
#一些端口 编码配置 server: port: 8088 tomcat: uri-encoding: UTF-8 max-http-header-size: 80KB # 配置数据源信息datasource 我这里是 MySQL 8 , #驱动变化 :com.mysql.cj.jdbc.Driver #url : jdbc:mysql://localhost:3306/数据库名?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=UTC &autoReconnect=true spring: datasource: # 数据源的相关配置 type: com.zaxxer.hikari.HikariDataSource # 数据源类型:HikariCP driver-class-name: com.mysql.cj.jdbc.Driver # mysql驱动 url: jdbc:mysql://localhost:3306/foodie-shop-dev?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=UTC &autoReconnect=true username: root password: 123456 hikari: connection-timeout: 30000 # 等待连接池分配连接的最大时长(毫秒),超过这个时长还没可用的连接则发生SQ minimum-idle: 5 # 最小连接数 maximum-pool-size: 20 # 最大连接数 auto-commit: true # 自动提交 idle-timeout: 600000 # 连接超时的最大时长(毫秒),超时则被释放(retired),默认:10分钟 pool-name: DateSourceHikariCP # 连接池名字 max-lifetime: 1800000 # 连接的生命时长(毫秒),超时而且没被使用则被释放(retired),默认:30分钟 connection-test-query: SELECT 1 # ############mybatis 配置,在 foodie-mapper 的resource新建 mapper 目录 mybatis: type-aliases-package: com.imooc.pojo # 所有POJO类所在包路径 mapper-locations: classpath:mapper/*.xml configuration: log-impl: org.apache.ibatis.logging.stdout.StdOutImpl #控制台输出 sql 语句
使用MyBatis数据库逆向生成工具
1.引入依赖
<!-- 通用mapper逆向工具 --> <dependency> <groupId>tk.mybatis</groupId> <artifactId>mapper-spring-boot-starter</artifactId> <version>2.1.5</version> </dependency> <!--mybatis--> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>1.3.1</version> </dependency> <!--mapper--> <dependency> <groupId>tk.mybatis</groupId> <artifactId>mapper-spring-boot-starter</artifactId> <version>1.2.4</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.12</version> </dependency>
2.在yml中引入通用mapper配置
########## mybatis mapper 配置 ############################# # 通用 Mapper 配置 mapper: mappers: com.imooc.my.mapper.MyMapper not-empty: false # 数据库操作,判断表达式 username != null,是否追加 username !='' identity: MYSQL
3.引入MyMapper接口类
package com.imooc.my.mapper; import tk.mybatis.mapper.common.Mapper; import tk.mybatis.mapper.common.MySqlMapper; /** * 继承自己的MyMapper */ public interface MyMapper<T> extends Mapper<T>, MySqlMapper<T> { }
4.generatorConfig.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="MysqlCo 4000 ntext" targetRuntime="MyBatis3Simple" defaultModelType="flat"> <property name="beginningDelimiter" value="`"/> <property name="endingDelimiter" value="`"/> <!-- 通用mapper所在目录 --> <plugin type="tk.mybatis.mapper.generator.MapperPlugin"> <property name="mappers" value="com.imooc.my.mapper.MyMapper"/> </plugin> <jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://localhost:3306/foodie-shop-dev?characterEncoding=utf8&useSSL=false&serverTimezone=UTC" userId="root" password="123456"> </jdbcConnection> <!-- 对应生成的pojo所在包 --> <javaModelGenerator targetPackage="com.imooc.pojo" targetProject="src/main/java"/> <!-- 对应生成的mapper所在目录 --> <sqlMapGenerator targetPackage="mapper" targetProject="src/main/resources"/> <!-- 配置mapper对应的java映射 --> <javaClientGenerator targetPackage="com.imooc.mapper" targetProject="src/main/java" type="XMLMAPPER"/> <!-- 数据库表 --> <!--<table tableName="carousel"></table>--> <!--<table tableName="category"></table>--> <!--<table tableName="items"></table>--> <!--<table tableName="items_comments"></table>--> <!--<table tableName="items_img"></table>--> <!--<table tableName="items_param"></table>--> <!--<table tableName="items_spec"></table>--> <!--<table tableName="order_items"></table>--> <!--<table tableName="order_status"></table>--> <!--<table tableName="orders"></table>--> <table tableName="stu"></table> <!--<table tableName="user_address"></table>--> <!--<table tableName="users"></table>--> </context> </generatorConfiguration>
一键生成所有文件,注意generatorConfig.xml 的位置实在项目路径下
package com.imooc.mybatis.utils; import org.mybatis.generator.api.MyBatisGenerator; import org.mybatis.generator.config.Configuration; import org.mybatis.generator.config.xml.ConfigurationParser; import org.mybatis.generator.internal.DefaultShellCallback; import java.io.File; import java.util.ArrayList; import java.util.List; public class GeneratorDisplay { public void generator() throws Exception { List<String> warnings = new ArrayList<String>(); boolean overwrite = true; //指定 逆向工程配置文件 File configFile = new File("generatorConfig.xml");`在这里插入代码片` ConfigurationParser cp = new ConfigurationParser(warnings); Configuration config = cp.parseConfiguration(configFile); DefaultShellCallback callback = new DefaultShellCallback(overwrite); MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config, callback, warnings); myBatisGenerator.generate(null); } public static void main(String[] args) throws Exception { try { GeneratorDisplay generatorSqlmap = new GeneratorDisplay(); generatorSqlmap.generator(); } catch (Exception e) { e.printStackTrace(); } } }
下面用一张图表示
下面 就可以使用了
下一节,基于通用mapper基于rest编写api接口
- 点赞 1
- 收藏
- 分享
- 文章举报
相关文章推荐
- Java基础总复习
- java内部类
- JAVAEE学习day05学习,数组
- JAVAEE学习day06,面向对象
- 一篇文章看清楚JDK13的特性!
- JAVA基础面试题(一)
- Java经典面试题整理及答案详解(一)
- 请不要在 JDK 7+ 中使用这个 JSON 包了!
- SpringBoot 单元测试利器——Mockito
- JDK 的 3 个 bug 啊!
- 阿里面试 Java 都问什么?万字总结!
- 【Java并发基础】利用面向对象的思想写好并发程序
- SpringBoot里slf4j日志功能的默认实现
- 如何用eclipse做一个Taglib的helloWorld例子?
- Spring 框架下的 JDBC
- java图形用户界面之列表框
- java实现导出Excel
- java使double类型数据保留两位小数的方法 java保留两位小数
- 记录一下接触SpringMVC的一些坑(基于Spring in action)
- JAVA第一天