mybatis自动生成java代码

Posted 张亚南

tags:

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

SSM框架没有DB+Record模式,写起来特别费劲,只能用下面的方法勉强凑合。

上图中,*.jar为下载的,src为新建的空白目录,.xml配置如下。

<?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="mysql-connector-java-5.1.22-bin.jar"/>    
    <context id="DB2Tables"  targetRuntime="MyBatis3">    
        <commentGenerator>    
            <property name="suppressDate" value="true"/>    
              <!-- 是否去除自动生成的注释 true:是 : false:否 -->
            <property name="suppressAllComments" value="true"/>    
        </commentGenerator>      
        <!-- -数据库链接URL,用户名、密码 -->
        <jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://127.0.0.1/yanan?characterEncoding=utf8" userId="yanan" password="1234">  
        </jdbcConnection>    
        <javaTypeResolver>    
            <property name="forceBigDecimals" value="false"/>    
        </javaTypeResolver>    
        <!-- 生成模型的包名和位置,在当前文件存放的地方新建一个src文件夹 -->
        <javaModelGenerator targetPackage="test" targetProject="src">    
            <property name="enableSubPackages" value="true"/>    
            <property name="trimStrings" value="true"/>    
        </javaModelGenerator>    
        <!-- 生成映射文件的包名和位置 -->
        <sqlMapGenerator targetPackage="test" targetProject="src">    
            <property name="enableSubPackages" value="true"/>    
        </sqlMapGenerator>    
        <!-- 生成DAO的包名和位置 -->
        <javaClientGenerator type="XMLMAPPER" targetPackage="test" targetProject="src">    
            <property name="enableSubPackages" value="true"/>    
        </javaClientGenerator>    
        <!-- 要生成的表 tableName是数据库中的表名或视图名 domainObjectName是实体类名.只能一个表一个表的生成 -->
        <table tableName="user" domainObjectName="User" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table>  
      </context>    
</generatorConfiguration>    
View Code

在当前目录下打开命令窗口,键入以下命令:

java -jar mybatis-generator-core-1.3.5.jar -configfile generatorConfig.xml -overwrite

可以看到,在配置的src的相应目录下生成了相应的实体类,映射文件,和实体类接口。至此大功告成。

注意,不要听网上说的去找什么bin。每次只能生成一个。保证以上文件(工具)在同一个目录下,任何目录。配置文件上请加入端口

 

2018-12-12:上面的是mysql的,今天心血来潮想弄一下sqlserver的,稍微研究了下,整出来了,分享给大家

generatorConfig.xml如下

<?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="sqljdbc4-4.0.jar"/>    
    <context id="DB2Tables"  targetRuntime="MyBatis3">    
        <commentGenerator>    
            <property name="suppressDate" value="true"/>    
              <!-- 是否去除自动生成的注释 true:是 : false:否 -->
            <property name="suppressAllComments" value="true"/>    
        </commentGenerator>      
        <!-- -数据库链接URL,用户名、密码 -->
        <jdbcConnection driverClass="com.microsoft.sqlserver.jdbc.SQLServerDriver" connectionURL="jdbc:sqlserver://127.0.0.1:1433; DatabaseName=HerpeisWGSJZX" userId="herpeis" password="herpeis">  
        </jdbcConnection>    
        <javaTypeResolver>    
            <property name="forceBigDecimals" value="false"/>    
        </javaTypeResolver>    
        <!-- 生成模型的包名和位置,在当前文件存放的地方新建一个src文件夹 -->
        <javaModelGenerator targetPackage="test" targetProject="src">    
            <property name="enableSubPackages" value="true"/>    
            <property name="trimStrings" value="true"/>    
        </javaModelGenerator>    
        <!-- 生成映射文件的包名和位置 -->
        <sqlMapGenerator targetPackage="test" targetProject="src">    
            <property name="enableSubPackages" value="true"/>    
        </sqlMapGenerator>    
        <!-- 生成DAO的包名和位置 -->
        <javaClientGenerator type="XMLMAPPER" targetPackage="test" targetProject="src">    
            <property name="enableSubPackages" value="true"/>    
        </javaClientGenerator>    
        <!-- 要生成的表 tableName是数据库中的表名或视图名 domainObjectName是实体类名.只能一个表一个表的生成 -->
        <table tableName="rule" domainObjectName="Rule" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table>  
      </context>    
</generatorConfiguration>
View Code

大致和mysql的一样,只不过换了下jar包。现在把整个用例分享给大家

mybatis自动生成java代码sqlserver版.rar

 

以上是关于mybatis自动生成java代码的主要内容,如果未能解决你的问题,请参考以下文章

java-MyBatis可视化代码生成工具

mybatis-generator自动生成Java的CRUD等代码的独立包使用详解

mybatis模糊查询

java web开发入门十一(idea maven mybatis自动代码生成)基于intellig idea

java微信接口开发java SpringMVC mybatis 后台框架 集成代码生成器开发利器

MyBatis-Plus逆向生成代码