mybaties有个插件mybatis-generagtor可以自动生成实体,mapper,mapper映射文件
以下案例为实际开发中运用
环境:eclipse4.5+mysql5.1+maven3
1.数据库表:
2.maven配置mybatis-generator插件:在工程的pom文件中添加:(mybatis-generator插件)
<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>
3.在resource下配置文件:
generator.properties 数据库信息
driver.class.path=E:/maven/repo_garden/mysql/mysql-connector-java/5.1.21/mysql-connector-java-5.1.21.jar
jdbc.url=jdbc:mysql://106.15.35.211:53306/biguiyuan?useUnicode=true&characterEncoding=UTF-8&relaxAutoCommit=true&zeroDateTimeBehavior=convertToNull
jdbc.driver=com.mysql.jdbc.Driver
jdbc.username=root
jdbc.password=qjbbc123
package.model=com.qianjiang.config.bean
package.mapper.java=com.qianjiang.config.mapper
package.mapper.xml=mybatis.member.mapper.configMapper
target.project=src/main/java
target.resources=src/main/resources
generatorConfig.xml mybatis生成文件配置
<?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="generator.properties"/>
<!--指定特定数据库的jdbc驱动jar包的位置(本地仓库mysql驱动所在位置) -->
<classPathEntry location="${driver.class.path}"/>
<!-- 配置数据源和生成的代码所存放的位置 -->
<context id="default" targetRuntime="MyBatis3" defaultModelType="flat">
<property name="beginningDelimiter" value="`" />
<property name="endingDelimiter" value="`" />
<!--是否去除自动生成的注释 true:是 : false:否 -->
<commentGenerator>
<property name="suppressAllComments" value="true"/>
</commentGenerator>
<!--jdbc的数据库连接 -->
<jdbcConnection driverClass="${jdbc.driver}"
connectionURL="${jdbc.url}"
userId="${jdbc.username}"
password="${jdbc.password}">
</jdbcConnection>
<!--
true:使用BigDecimal对应DECIMAL和 NUMERIC数据类型
false:默认,
scale>0;length>18:使用BigDecimal;
scale=0;length[10,18]:使用Long;
scale=0;length[5,9]:使用Integer;
scale=0;length<5:使用Short;
-->
<javaTypeResolver>
<property name="forceBigDecimals" value="true"/>
</javaTypeResolver>
<!-- 生成模型的包名和位置-->
<javaModelGenerator targetPackage="${package.model}" targetProject="${target.project}">
<!-- 是否让schema作为包的后缀 -->
<property name="enableSubPackages" value="true"/>
<!-- 从数据库返回的值被清理前后的空格 -->
<property name="trimStrings" value="true"/>
</javaModelGenerator>
<!-- 生成映射文件的包名和位置 -->
<!--Mapper映射文件生成所在的目录 为每一个数据库的表生成对应的SqlMap文件 -->
<sqlMapGenerator targetPackage="${package.mapper.xml}" targetProject="${target.resources}">
<property name="enableSubPackages" value="true"/>
</sqlMapGenerator>
<!-- 生成DAO的包名和位置-->
<javaClientGenerator targetPackage="${package.mapper.java}" targetProject="${target.project}" type="XMLMAPPER">
<property name="enableSubPackages" value="true"/>
</javaClientGenerator>
<!-- tableName:用于自动生成代码的数据库表;domainObjectName:对应于数据库表的javaBean类名 -->
<table tableName="t_config" domainObjectName="Config"
enableCountByExample="false" enableUpdateByExample="false"
enableDeleteByExample="false" enableSelectByExample="false"
selectByExampleQueryId="false">
<!-- 实体属性名驼峰格式(数据库字段brand_code,若true则生成属性为brand_code,若false
则生成属性为brandCode) -->
<property name="useActualColumnNames" value="false" />
</table>
</context>
</generatorConfiguration>
4.生成代码:右击选择pom.xml文件然后Run As--Maven build...在Goals框中输入:mybatis-generator:generate 如下截图:
5.自此代码自动生成完成。
选择项目 按 F5 刷新项目 出现生成的代码。
注意:默认设置会生成一大堆罗哩罗嗦的Example类,主要是用各种不同的条件来操作数据库,大部分是用不到的
可通过以下配置取消Example