Mybatis自动生成代码

来源:互联网 发布:苏联歌曲 知乎 编辑:程序博客网 时间:2024/06/02 03:01

mybaties有个插件mybatis-generagtor可以自动生成实体,mapper,mapper映射文件

以下案例为实际开发中运用

环境:eclipse4.5+mysql1.5+maven

1.数据库表:


2.maven配置mybatis-generator插件:在工程的pom文件中添加:

<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.jarjdbc.url=jdbc:mysql://106.15.35.211:53306/biguiyuan?useUnicode=true&characterEncoding=UTF-8&relaxAutoCommit=true&zeroDateTimeBehavior=convertToNulljdbc.driver=com.mysql.jdbc.Driverjdbc.username=rootjdbc.password=qjbbc123package.model=com.qianjiang.config.beanpackage.mapper.java=com.qianjiang.config.mapperpackage.mapper.xml=mybatis.member.mapper.configMappertarget.project=src/main/javatarget.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">                <property name="useActualColumnNames" value="false" />            <!-- <generatedKey column="id" sqlStatement="Mysql"/> -->        </table>    </context></generatorConfiguration>

4.生成代码:右击选择pom.xml文件然后Run As--Maven build...在Goals框中输入:mybatis-generator:generate 如下截图:


5.自此代码自动生成完成。


选择项目 按 F5 刷新项目 出现生成的代码。
注意:默认设置会生成一大堆罗哩罗嗦的Example类,主要是用各种不同的条件来操作数据库,大部分是用不到的
可通过以下配置取消Example