一、IDEA创建maven项目的两种方式:
1、第一种方式是直接通过spring init来创建,里面含有了选择依赖模块,但是缺点是要更改maven仓库地址,常用的依赖:数据库驱动、mybatis、spring-Mybatis整合、lombok。
2、第二种方式是通过Maven来构建,但是这种不带依赖包,要自己去导入。
结论:综合下来是第一种通过INIT创建要更好。
二、逆向工程详解:
1、在pom.xml文件中加入插件:
<build>
<finalName>zsxt</finalName>
<plugins>
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.2</version>
<configuration>
<verbose>true</verbose>
<overwrite>true</overwrite>
</configuration>
</plugin>
</plugins>
</build>
2、在maven项目下的src/main/resources 目录下创建两个文件:
逆向工程配置文件:generatorConfig.xml
数据库配置文件:generator.properties
逆向工程配置文件:
<?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="application.properties"></properties>
<!--指定特定数据库的jdbc驱动jar包的位置-->
<classPathEntry location="${jdbc.driverLocation}"/>
<context id="testTables" targetRuntime="MyBatis3"> <!--整个标签域-->
<commentGenerator>
<!--是否去除自动生成的注释 true是:false 否-->
<property name="suppressAllComments" value="true"/>
</commentGenerator>
<!--数据库连接-->
<jdbcConnection driverClass="${jdbc.driver}"
connectionURL="${jdbc.url}"
userId="${jdbc.userId}"
password="${jdbc.pwd}"></jdbcConnection>
<!-- 默认false,把JDBC DECIMAL 和 NUMERIC 类型解析为 Integer,为 true时把JDBC DECIMAL和NUMERIC类型解析为java.math.BigDecimal -->
<javaTypeResolver>
<property name="forceBigDecimals" value="false"/>
</javaTypeResolver>
<!--targetPackage目标包,生成实体类的位置-->
<javaModelGenerator targetPackage="com.zc.test2.pojo" targetProject="src/main/java">
<!--enableSubPackages,是否让schema作为包的后缀-->
<property name="enableSubPackages" value="false"/>
<!--从数据库返回的值被清除前后空格-->
<property name="trimStrings" value="true"/>
</javaModelGenerator>
<!--targetProject:mapper映射文件生成的位置-->
<sqlMapGenerator targetPackage="mapper" targetProject="src/main/resources">
<property name="enableSubPackages" value="false"></property>
</sqlMapGenerator>
<!--targetPackage:mapper接口生成的位置-->
<javaClientGenerator type="XMLMAPPER" targetPackage="com.zc.test2.mapper" targetProject="src/main/java">
<property name="enableSubPackages" value="false"/>
</javaClientGenerator>
<!--指定数据库表,要和数据库中进行对应,否则将会出错-->
<table tableName="teacher" domainObjectName="teacher"
enableCountByExample="false" enableUpdateByExample="false"
enableDeleteByExample="false" enableSelectByExample="false"
selectByExampleQueryId="false"></table>
<!-- <table tableName="t_news" domainObjectName="tNews"
enableCountByExample="false" enableUpdateByExample="false"
enableDeleteByExample="false" enableSelectByExample="false"
selectByExampleQueryId="false"></table>-->
</context>
</generatorConfiguration>
数据库配置文件:
jdbc.driverLocation=E:\\mvn_home\\mysql\\mysql-connector-java\\5.1.20\\mysql-connector-java-5.1.20.jar
jdbc.driverClass=com.mysql.jdbc.Driver
jdbc.connectionURL=jdbc:mysql:///zsxt
jdbc.userId=root
jdbc.password=root
3、运行逆向工程生成pojo,mapper及xml文件:
点击run之后选择edit config
点击加号选择maven
填入固定命令:
点击运行即可:
至此即可看到逆向工程生产了pojo、mapper及xml文件
三、逆向工程项目转生产项目:
1、首先要改的地方是数据库配置文件这个位置:
改的位置是把前缀更换,添加xml文件位置,最终要把逆向模式下的配置删掉,不然一般会报错,当然也不要忘记在启动类上添加mapperScan扫描
#逆向工程下的配置模式
jdbc.driverLocation=E:\\maven_repository\\local_repository\\mysql\\mysql-connector-java\\8.0.28\\mysql-connector-java-8.0.28.jar
jdbc.driverClass=com.mysql.jdbc.Driver
jdbc.connectionURL=jdbc:mysql:///zsxt
jdbc.userId=root
jdbc.password=123456
#生产模式下的配置形式
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/guli_mp?serverTimezone=UTC&characterEncoding=utf-8&useSSL=false
spring.datasource.username=root
spring.datasource.password=root
mybatis.mapper-locations=classpath:mapper/*.xml