本篇文章所说的自动生成代码,具体来说是生成maven工程路径src/main/java下的包和实体类以及src/main下的resources文件夹(其中有个映射xml文件),是用于生成动态SQL操作相关的代码。
1.先准备下载一个mybatis-generator-core-1.3.7.jar,还有xml文档generatorConfig.xml、start.bat。如图:
其中MyBatis Generator是一款mybatis自动代码生成工具,可以通过配置后自动生成文件。generatorConfig.xml:配置文件,可以通过此文件修改,生成符合自己需求的代码。
src文件夹:生成的代码主要在此文件夹下。
start.bat:是windos下的批处理文件件,包含一条或多条命令。
2.generatorConfig.xml配置文件
代码示例(代码中有些相关注释):
<generatorConfiguration>
<classPathEntry location="C:\Users\LENOVO\.m2\repository\mysql\mysql-connector-java\5.1.47\mysql-connector-java-5.1.47.jar" />
<context id="localhost_mysql" targetRuntime="MyBatis3">
<commentGenerator>
<property name="suppressAllComments" value="true" />
commentGenerator>
<jdbcConnection driverClass="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql://localhost:3306/test?characterEncoding=utf8&serverTimezone=UTC"
userId="root"
password="root">
jdbcConnection>
<javaTypeResolver >
<property name="forceBigDecimals" value="false" />
javaTypeResolver>
<javaModelGenerator targetPackage="com.training.spring.bean" targetProject="src/main/java">
<property name="enableSubPackages" value="false" />
<property name="trimStrings" value="true" />
javaModelGenerator>
<sqlMapGenerator targetPackage="src/main/resources/mapper" targetProject=".">
<property name="enableSubPackages" value="false" />
sqlMapGenerator>
<javaClientGenerator type="XMLMAPPER" targetPackage="com.training.spring.mapper" targetProject="src/main/java">
<property name="enableSubPackages" value="false" />
javaClientGenerator>
<table schema="test" tableName="student" domainObjectName="Student"
enableCountByExample="false">
<generatedKey column="id" sqlStatement="mysql" identity="true" />
table>
context>
generatorConfiguration>
3.编写start.bat
关于bat文件:bat文件是dos下的批处理文件。批处理文件是无格式的文本文件,它包含一条或多条命令。它的文件扩展名为 .bat 或 .cmd。在命令提示下输入批处理文件的名称,或者双击该批处理文件,系统就会调用cmd.exe按照该文件中各个命令出现的顺序来逐个运行它们。使用批处理文件(也被称为批处理程序或脚本),可以简化日常或重复性任务。
start.bat中包含命令:
java -jar mybatis-generator-core-1.3.7.jar -configfile generatorConfig.xml -overwrite
echo “生成成功”
pause
鼠标双击此文件进入命令行窗口,自动执行所包含命令,即开始生成代码。
上面图中生成的文件路径、名称都可在generatorConfig.xml配置文件修改。
生成之后,把所需文件夹及文件复制粘贴至自己的maven工程中即可(位置自己理解)
1.在maven项目的pox.xml引入依赖,位置:【build标签下】
<plugins>
<plugin>
<groupId>org.mybatis.generatorgroupId>
<artifactId>mybatis-generator-maven-pluginartifactId>
plugin>
plugins>
2.在maven项目的pox.xml添加依赖,位置:【pluginManagement标签下的plugins内】
<plugin> <groupId>org.mybatis.generatorgroupId>
<artifactId>mybatis-generator-maven-pluginartifactId>
<version>1.3.5version>
<configuration>
<verbose>trueverbose>
<overwrite>trueoverwrite>
configuration>
plugin>
3.配置文件建在resources,文件名generatorContext.xml
generatorContext.xml代码示例:
<generatorConfiguration>
<classPathEntry location="D:\Mavenpath\.m2\repository\mysql\mysql-connector-java\5.1.47\mysql-connector-java-5.1.47.jar" />
<context id="localhost_mysql" targetRuntime="MyBatis3">
<commentGenerator>
<property name="suppressAllComments" value="true" />
commentGenerator>
<jdbcConnection driverClass="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql://localhost:3306/bookasp?characterEncoding=utf8&serverTimezone=UTC"
userId="root"
password="root">
jdbcConnection>
<javaTypeResolver >
<property name="forceBigDecimals" value="false" />
javaTypeResolver>
<javaModelGenerator targetPackage="test.spring.bean" targetProject="src/main/java">
<property name="enableSubPackages" value="false" />
<property name="trimStrings" value="true" />
javaModelGenerator>
<sqlMapGenerator targetPackage="src/main/resources/mappers" targetProject=".">
<property name="enableSubPackages" value="false" />
sqlMapGenerator>
<javaClientGenerator type="XMLMAPPER" targetPackage="test.spring.mapper" targetProject="src/main/java">
<property name="enableSubPackages" value="false" />
javaClientGenerator>
<table schema="bookasp" tableName="message" domainObjectName="Message"
enableCountByExample="false">
<generatedKey column="id" sqlStatement="mysql" identity="true" />
table>
context>
generatorConfiguration>
4.点击maven在Plugins下出现mybatis-generator(首先你已添加了依赖)
5.点开双击mybatis-generator:generate就可自动生成一些与数据库操作的代码代码