Spring Boot + MyBatis 电商项目 - 03- MySQL 连接、DRUID、MyBatis-generator 配置
上一篇 Spring Boot + MyBatis 电商项目 - 02- 引入 Spring Boot 依赖包 介绍了简单的创建项目,及设置路径映射。
如果你的电脑里有很多项目,有 Eclipse 开发的,有多个 Tomcat ,或者多个版本,可能会需要修改默认的 8080 端口。
一、如果你的 8080 被占用
非常简单
(1)在 resources 目录下,新建文件(就是 file,不选类型),命名为 application.properties,写一行就够了:
server.port=8090
当然也可以写很多的配置
(2)然后我们重启服务器:
(3 )访问新端口:
http://localhost:8090/home
二、加载 MySQL 驱动链接
同样是在这个网站:
https://mvnrepository.com/artifact/mysql/mysql-connector-java
找到适合你的数据库版本,额外还有一个 druid。
DRUID 是阿里巴巴开源平台上一个数据库连接池实现,它结合了C3P0、DBCP、PROXOOL 等 DB 池的优点,同时加入了日志监控,可以很好的监控 DB 池连接和 SQL 的执行情况,可以说是针对监控而生的 DB 连接池(据说是目前最好的连接池,不知道速度有没有 BoneCP 快)。
<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.13</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.3</version>
</dependency>
加载 MyBatis 驱动
- 地址:
https://mvnrepository.com/artifact/org.mybatis.spring.boot/mybatis-spring-boot-starter/1.3.2
<!-- https://mvnrepository.com/artifact/org.mybatis.spring.boot/mybatis-spring-boot-starter -->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.2</version>
</dependency>
application.properties 文件配置
(该文件需要自己新建)整体目录结构为:
(1)打开 application.properties:
mybatis.mapper-locations=classpath:mapping/*.xml
(2)创建上述 resources/mapping 目录:
(3)MyBatis 自动生成工具,配置 pom.xml 文件中 plugin 标签:
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.2</version>
<executions>
<execution>
<id>Generate MyBatis Files</id>
<phase>package</phase>
<goals>
<goal>generate</goal>
</goals>
<configuration>
<!--允许移动生成的文件-->
<verbose>true</verbose>
<!--实际项目要注意是否可以设置成 true!-->
<!--允许自动覆盖文件-->
<overwrite>true</overwrite>
<configurationFile>
src/main/resources/mybatis-generator.xml
</configurationFile>
</configuration>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.13</version>
</dependency>
<dependency>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-core</artifactId>
<version>1.3.7</version>
</dependency>
</dependencies>
</plugin>
注意位置:
下面 resources/mybatis-generator.xml 文件的配置:
应某些人要求,贴过来一份
mybatis-generator.xml 文件的配置
一、mybatis-generator 简介:
mybatis-geneator 是一款 mybatis 自动代码生成工具,可以通过配置,快速生成 mapper 和 xml 文件。
二、配置方法:
(1)在项目的 pom 文件中添加插件配置
在上一篇 Spring Boot + MyBatis 电商项目 - 03- MySQL 连接、DRUID、MyBatis-generator
的最后已经介绍了很详细的 pom.xml 配置:
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.2</version>
<executions>
<execution>
<id>Generate MyBatis Files</id>
<phase>package</phase>
<goals>
<goal>generate</goal>
</goals>
<configuration>
<!--允许移动生成的文件-->
<verbose>true</verbose>
<!--实际项目要注意是否可以设置成 true!-->
<!--允许自动覆盖文件-->
<overwrite>true</overwrite>
<configurationFile>
src/main/resources/mybatis-generator.xml
</configurationFile>
</configuration>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.13</version>
</dependency>
<dependency>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-core</artifactId>
<version>1.3.7</version>
</dependency>
</dependencies>
</plugin>
(2)根据自己配置的文件路径及名称,创建相应 mybatis-generator.xml 文件,下面进行配置:
目录结构:
三、编辑 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>
<!--导入属性配置-->
<properties resource="datasource.properties"></properties>
<!-- 指定数据库驱动的jdbc驱动jar包的位置 -->
<classPathEntry location="${db.driverLocation}" />
<!-- context 是逆向工程的主要配置信息 -->
<!-- id:起个名字 -->
<!-- targetRuntime:设置生成的文件适用于那个 mybatis 版本 -->
<context id="default" targetRuntime="MyBatis3">
<!--optional,旨在创建class时,对注释进行控制-->
<commentGenerator>
<property name="suppressDate" value="true" />
<!-- 是否去除自动生成的注释 true:是 : false:否 -->
<property name="suppressAllComments" value="true" />
</commentGenerator>
<!--jdbc的数据库连接-->
<jdbcConnection driverClass="${db.driverClassName}"
connectionURL="${db.url}"
userId="${db.username}"
password="${db.password}">
</jdbcConnection>
<!--非必须,类型处理器,在数据库类型和java类型之间的转换控制-->
<javaTypeResolver>
<!-- 默认情况下数据库中的 decimal,bigInt 在 Java 对应是 sql 下的 BigDecimal 类 -->
<!-- 不是 double 和 long 类型 -->
<!-- 使用常用的基本类型代替 sql 包下的引用类型 -->
<property name="forceBigDecimals" value="false" />
</javaTypeResolver>
<!-- targetPackage:生成的实体类所在的包 -->
<!-- targetProject:生成的实体类所在的硬盘位置 -->
<javaModelGenerator targetPackage="com.mall.pojo"
targetProject=".\src\main\java">
<!-- 是否允许子包 -->
<property name="enableSubPackages" value="false" />
<!-- 是否对modal添加构造函数 -->
<property name="constructorBased" value="true" />
<!-- 是否清理从数据库中查询出的字符串左右两边的空白字符 -->
<property name="trimStrings" value="true" />
<!-- 建立modal对象是否不可改变 即生成的modal对象不会有setter方法,只有构造方法 -->
<property name="immutable" value="false" />
</javaModelGenerator>
<!-- targetPackage 和 targetProject:生成的 mapper 文件的包和位置 -->
<sqlMapGenerator targetPackage="mappers"
targetProject=".\src\main\resource">
<!-- 针对数据库的一个配置,是否把 schema 作为字包名 -->
<property name="enableSubPackages" value="false" />
</sqlMapGenerator>
<!-- targetPackage 和 targetProject:生成的 interface 文件的包和位置 -->
<javaClientGenerator type="XMLMAPPER"
targetPackage="com.mall.dao" targetProject=".\src\main\java">
<!-- 针对 oracle 数据库的一个配置,是否把 schema 作为字包名 -->
<property name="enableSubPackages" value="false" />
</javaClientGenerator>
<table tableName="user" domainObjectName="User"
enableCountByExample="false" enableUpdateByExample="false"
enableDeleteByExample="false" enableSelectByExample="false"
selectByExampleQueryId="false">
</table>
</context>
</generatorConfiguration>
四、配置 application.properties 文件:
添加下面内容:
(当然这些都不自己输入,后面的内容需要自己进行配置,所以路径会经常出问题,所以我们不自己输出路径,下面会介绍如何找)
db.driverLocation=C:/Users/Administrator/m2/repository/mysql/mysql-connector-java/8.0.13/mysql-connector-java-8.0.13.jar
db.driverClassName=com.mysql.cj.jdbc.Driver
db.url=jdbc:mysql://localhost:3306/数据库名?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC
db.username=root
db.password=123456
找上述需要的路径:
-
(1)先找出这三级目录:
-
(2)再找 jdbc/Driver,右键拷贝路径:
-
(3)但是拷贝的路径斜杠是反着的:
C:\Users\Administrator\.m2\repository\mysql\mysql-connector-java\8.0.13\mysql-connector-java-8.0.13.jar!\com\mysql\cj\jdbc\Driver.class
需要我们手动改成:
C:/Users/Administrator/m2/repository/mysql/mysql-connector-java/8.0.13/mysql-connector-java-8.0.13.jar
- (4)再拷贝 引用:
com.mysql.cj.jdbc.Driver
然后仔细配置数据库登录信息,本篇先到这里