这是我参与8月更文挑战的第21天,活动详情查看:8月更文挑战
MybatisGenerter插件可以快速自动生成相关数据操作文件。 首先需要配置config.properties和generatorConfig.xml这两个文件。再运行一下MybatisGenerter插件,即可自动生成对应的DAO、DO和XML文件。
当然也可以手动写这三个文件,就是比较麻烦,而且会有遗漏,不过手动写也是考验代码功底的技术活。
ps:这里有一个默认bug,多次执行会导致生成的xml文件产生重复代码,并且会覆盖原来的文件,使用后要注意把generatorConfig.xml中的表名清除或者注释掉,防止重复代码产生以及覆盖原文件的问题产生。
以下是generatorConfig.xml文件的内容。文件最好和其他常规配置文件放在一个目录下,即resources目录。
<?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="default" targetRuntime="MyBatis3Simple" defaultModelType="flat">
<property name="javaFileEncoding" value="UTF-8"/>
<property name="mergeable" value="true"/>
<plugin type="tk.mybatis.mapper.generator.MapperPlugin">
<property name="mappers" value="tk.mybatis.mapper.common.Mapper"/>
</plugin>
<commentGenerator>
<property name="suppressDate" value="true"/>
<property name="suppressAllComments" value="true"/>
</commentGenerator>
<!--jdbc的数据库连接 ,根据你的实际数据库连接信息填写-->
<jdbcConnection
driverClass="com.mysql.jdbc.Driver"
connectionURL="URL"
userId="username"
password="password">
</jdbcConnection>
<javaModelGenerator targetPackage="com.test.service.dal.entity" targetProject="src/main/java">
<!-- 是否对model添加 构造函数 -->
<property name="constructorBased" value="false"/>
<!-- 是否允许子包,即targetPackage.schemaName.tableName -->
<property name="enableSubPackages" value="false"/>
<!-- 建立的Model对象是否 不可改变 即生成的Model对象不会有 setter方法,只有构造方法 -->
<property name="immutable" value="false"/>
<!-- 是否对类CHAR类型的列的数据进行trim操作 -->
<property name="trimStrings" value="false"/>
</javaModelGenerator>
<!--Mapper映射文件生成所在的目录 为每一个数据库的表生成对应的SqlMap文件 -->
<sqlMapGenerator targetPackage="mapper" targetProject="src/main/resources">
<property name="enableSubPackages" value="false"/>
</sqlMapGenerator>
<!-- 客户端代码,生成易于使用的针对Model对象和XML配置文件 的代码
type="ANNOTATEDMAPPER",生成Java Model 和基于注解的Mapper对象
type="MIXEDMAPPER",生成基于注解的Java Model 和相应的Mapper对象
type="XMLMAPPER",生成SQLMap XML文件和独立的Mapper接口
-->
<javaClientGenerator targetPackage="com.test.service.dal.mapper" targetProject="src/main/java"
type="XMLMAPPER">
<property name="enableSubPackages" value="true"/>
</javaClientGenerator>
<!--注意不要重复生成xml-->
<!--table tableName="test_school"/-->
<!--table tableName="test_classroom"/-->
<table tableName="test_user"/>
</context>
</generatorConfiguration>
最后运行插件,生成对应的文件。
顺利的话就能看到三个文件啦。