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属性只要是其他项目名字就好了)