mybatis generator自动生成Mapper文件和Model

Posted 慢慢需找

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mybatis generator自动生成Mapper文件和Model相关的知识,希望对你有一定的参考价值。

使用Mybatis generator可以根据数据库表生成mybatis对应的Mapper和Model,生成的Example可以满足一般的单表操作,使用Mybatis的注释,利用@mbggenerated可以在下次生成的时候将自动生成的代码覆盖掉,对于手工加入的查询不影响(需要使用的eclipse的插件,intellij目前不存在类似的插件),在使用intellij中,可以使用免费的mybatis插件,可以在Mapper类中快速定位到对应的xml中,非常有利于sql查看;

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>

<classPathEntry location="${jdbc.driverLocation}" />
    <!-- 数据库驱动 -->
    <classPathEntry location="${jdbc.driverLocation}" />
    <context id="DB2Tables" targetRuntime="MyBatis3">
        <commentGenerator>
        <!-- @mbggenerated 生成的配置-->
            <property name="suppressDate" value="false" />
         <!--是否去除自动生成的注释 true:是 : false:否 -->
            <property name="suppressAllComments" value="true" />
        </commentGenerator>
        
        <!--数据库链接URL,用户名、密码 -->
        <jdbcConnection driverClass="com.mysql.jdbc.Driver"
            connectionURL="${jdbc.connectionURL}" userId="${jdbc.userId}" password="${jdbc.password}" />
        
        <javaTypeResolver>
            <property name="forceBigDecimals" value="false" />
        </javaTypeResolver>
        <!-- 生成模型的包名和位置 -->
        <javaModelGenerator  targetPackage="${modelpackage_name}"
            targetProject="mybatis_generator">
            <property name="enableSubPackages" value="true" />
            <property name="trimStrings" value="false" />
        </javaModelGenerator>
        <!-- 生成映射文件的包名和位置 -->
        <sqlMapGenerator  targetPackage="${mapperpackage_name}"
            targetProject="mybatis_generator">
            <property name="enableSubPackages" value="true" />
        </sqlMapGenerator>
        <!-- 生成DAO的包名和位置 -->
        <javaClientGenerator type="XMLMAPPER"
             targetPackage="${daopackage_name}" 
             targetProject="mybatis_generator">
            <property name="enableSubPackages" value="true" />
        </javaClientGenerator>
        <!-- 要生成哪些表 -->
        <table tableName="${table_name}" domainObjectName="${model_name}"
            enableCountByExample="true" enableUpdateByExample="true"
            enableDeleteByExample="true" enableSelectByExample="true"
            selectByExampleQueryId="true">
        </table>
    </context>
</generatorConfiguration>

 

config配置:

jdbc.driverLocation=E://mysql-connector-java-5.1.18-bin.jar
jdbc.driverClass=com.mysql.jdbc.Driver
jdbc.connectionURL=jdbc:mysql://ip:port/test?useUnicode=true&characterEncoding=utf-8
jdbc.userId=
jdbc.password=
#模型的包名
modelpackage_name=
#dao的包名
daopackage_name=
#xml存放位置
mapperpackage_name=mapper
#表名
table_name=temp
#生成模型的名字
model_name=Temp

注意:

根据数据库表生成mybatis对应的模型和Dao Mapper.xml,除了配置项配置以外,如果要生成到别的项目里面(目前是只生成在
这个项目下),需要修改generator-config.xml的targetProject属性(在properties里面配置在
generator-config.xml无法生效,所以只能手工改,targetProject属性只要是其他项目名字就好了)

以上是关于mybatis generator自动生成Mapper文件和Model的主要内容,如果未能解决你的问题,请参考以下文章

MyBatis使用Generator自动生成代码

mybatis-generator代码生成报错?

generator自动生成mybatis后怎么用

使用Mybatis-Generator自动生成DaoModelMapping

使用Mybatis Generator自动生成Mybatis相关代码

Java MyBatis Generator使用generator自动生成Dao,Mapping和实体文件