mybatis⾃动⽣成代码
mybatis⾃动⽣成代码有三种⽅式:命令⾏、eclipse插件、maven插件。在这⾥主要介绍⽐较⽅便使⽤的⼀种⽅式–maven插件,它可以在eclipse、idea中通⽤。
在l⽂件中配置mybatis-generator插件:
<plugin>
<groupId&ator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.6</version>
<configuration>
<!-- 配置⽂件的位置 -->
<configurationFile&l</configurationFile>
<verbose>true</verbose>
<overwrite>true</overwrite>
</configuration>
</plugin>
逆向⽣成代码需要的配置⽂件l:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE generatorConfiguration
PUBLIC "-////DTD MyBatis Generator Configuration 1.0//EN"
"/dtd/mybatis-generator-config_1_0.dtd">
<generatorConfiguration>
<!-- 指定连接数据库的JDBC驱动,指定到本机的完整路径(可以指定到maven仓库中的jar路径) -->
<classPathEntry
location="D:/Workspaces/maven_repos/mysql/mysql-connector-java/5.1.8/mysql-connector-java-5.1.8.jar"/>
<!-- 配置table表信息内容体,targetRuntime指定采⽤mybatis3的版本 -->
<context id="my" targetRuntime="MyBatis3">
<!-- 抑制⽣成注释,由于⽣成的注释都是英⽂版的,可以不让它⽣成 -->
<commentGenerator>
<property name="suppressDate" value="false"/>
<property name="suppressAllComments" value="true"/>
</commentGenerator>
<!-- 配置数据库连接信息 -->
<jdbcConnection driverClass="sql.jdbc.Driver"
connectionURL="jdbc:mysql://127.0.0.1:3306/springdb" userId="root"
password="123456"/>
<!-- ⽣成model类,targetPackage指定model类的包名,targetProject指定⽣成的model放在哪个⼯程中 -->
<javaModelGenerator targetPackage="com.del"
targetProject="D:/Workspaces/IdeaProjects/springboot-mybatis/src/main/java">
html自动弹出公告代码<property name="enableSubPackages" value="true"/>
<property name="trimStrings" value="true"/>
</javaModelGenerator>
<!-- ⽣成mybatis的l⽂件,targetPackage指定l的包名,targetProject指定l在哪个⼯程⽬录下 -->
<sqlMapGenerator targetPackage="com.cui.springboot.mapper"
targetProject="D:/Workspaces/IdeaProjects/springboot-mybatis/src/main/java">
<property name="enableSubPackages" value="true"/>
</sqlMapGenerator>
<!-- ⽣成mybatis的Mapper接⼝类⽂件,targetPackage指定Mapper接⼝类⽂件的包名,targetProject指定Mapper接⼝类在哪个⼯程⽬录下 --> <javaClientGenerator targetPackage="com.cui.springboot.mapper"
targetProject="D:/Workspaces/IdeaProjects/springboot-mybatis/src/main/java"
type="XMLMAPPER">
<property name="enableSubPackages" value="true"/>
</javaClientGenerator>
<!--<table tableName="T_FEE_AGTBILL" domainObjectName="FeeAgentBill"
enableCountByExample="false" enableUpdateByExample="false"
enableDeleteByExample="false" enableSelectByExample="false"
selectByExampleQueryId="false"/>-->
<!-- 数据库表以及对应的java模型类名(如果是多个表的话,可以复制多份然后修改成对应的表以及需要⽣成的模型名) -->
<table tableName="student" domainObjectName="Student"
enableCountByExample="false" enableUpdateByExample="false"
enableDeleteByExample="false" enableSelectByExample="false"
selectByExampleQueryId="false">
<!--<columnRenamingRule searchString="^D_"
replaceString=""/>-->
</table>
</context>
</generatorConfiguration>
在上⾯的配置⽂件中已经将注释给出来了,需要注意的有以下⼏点:
1. 在table标签中的tableName和domainObjectName是必须的,分别对应着数据库表名和实体类类名。其余的配置参数可以删除,⼀
般默认是false。
2. 创建数据表⽰时,字段名称可以使⽤下划线“_”将多个单词进⾏分割,⽐如:REC_ID这样的⽣成的实体类的属性是驼峰型,这样⼦
⽐较好看⼀点。
3. oracle中,数值形的字段,如果指定精度,⽐如Number(12,2),默认⽣成entity属性是BigDecimal型 ,如果不指定精度,⽐
如:Number(9),指默认⽣成的是Long型
4. oracle中的nvarchar/nvarchar2,mybatis-generator会识别成Object型,建议不要⽤nvarchar2,改⽤varchar2
弄完以上的步骤之后,就可以进⾏⽣成代码操作,如果idea的话,可以通过以下进⾏⽣成:
到mybatis-generator:generate,然后双击操作,即可⽣成代码。
⽣成的⽬录结构如下:
还可以通过以下的⽅式进⾏执⾏mybatis-generator:
在该插件的⽬录下,按住shift键,选择“在此处打开命令窗⼝”选项,在弹出的窗⼝中输⼊以下的命令,然后回车(注意:需要将配置⽂件l⽂件也复制到该⽬录下):
java -jar mybatis-generator-core-1.3.6.jar -l -overwrite
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论