Mybatis在IDEA中使用generator逆向工程生成pojo,mapper

1.创建maven 工程,修改pom.xml

 

 

Java代码   收藏代码
  1. <strong style="margin: 0px; padding: 0px; font-family: verdana, 'ms song', 宋体, Arial, 微软雅黑, Helvetica, sans-serif; background-color: #fffef7;"><build>  
  2.         <plugins>  
  3.             <!-- mybatis逆向工程 -->  
  4.             <plugin>  
  5.                 <groupId>org.mybatis.generator</groupId>  
  6.                 <artifactId>mybatis-generator-maven-plugin</artifactId>  
  7.                 <version>1.3.2</version>  
  8.                 <configuration>  
  9.                     <!--配置文件的位置-->  
  10.                     <configurationFile>src/main/resources/generatorConfig.xml</configurationFile>  
  11.                     <verbose>true</verbose>  
  12.                     <overwrite>true</overwrite>  
  13.                 </configuration>  
  14.               </plugin>  
  15.          </plugins>  
  16.     </build></strong>  

 

 

2.在resources下新建   Personal-DB.propertie(数据库连接文件) (也可以写死)

   

Java代码   收藏代码
  1. jdbc.driverLocation=D:\\maven\\com\\oracle\\ojdbc14\\10.2.0.4.0\\ojdbc14-10.2.0.4.0.jar    
  2. jdbc.driverClass=oracle.jdbc.driver.OracleDriver    
  3. jdbc.connectionURL=jdbc:oracle:thin:@//localhost:1521/XE    
  4. jdbc.userId=LOUIS    
  5. jdbc.password=123456    

 

  

 

3.在resources下新建   generatorConfig.xml   文件 (内容如下)

 

 

Xml代码   收藏代码
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <!DOCTYPE generatorConfiguration  
  3.         PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"  
  4.         "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">  
  5. <generatorConfiguration>  
  6.     <properties resource="Personal-DB.properties"></properties>  
  7.     <classPathEntry location="${jdbc.driverLocation}" />  
  8.     <!--classPathEntry location="D:\zngkpt\m2\repository\mysql\mysql-connector-java\5.1.40\mysql-connector-java-5.1.40.jar" /-->  
  9.     <context id="context1" targetRuntime="MyBatis3">  
  10.   
  11.         <commentGenerator>  
  12.             <!-- 去除自动生成的注释 -->  
  13.             <property name="suppressAllComments" value="true" />  
  14.         </commentGenerator>  
  15.           
  16.         <!-- 数据库连接配置 -->  
  17.         <jdbcConnection driverClass="${jdbc.driverClass}"  
  18.             connectionURL="${jdbc.connectionURL}"  
  19.             userId="${jdbc.userId}"  
  20.             password="${jdbc.password}" />  
  21.         <!--jdbcConnection driverClass="com.mysql.jdbc.Driver"  
  22.                         connectionURL="jdbc:mysql://localhost:3306/test"  
  23.                         userId="root"  
  24.                         password="mysql" /-->  
  25.   
  26.  <!-- 非必需,类型处理器,在数据库类型和java类型之间的转换控制-->  
  27.         <javaTypeResolver>  
  28.             <property name="forceBigDecimals" value="false"/>  
  29.         </javaTypeResolver>  
  30.   
  31.         <!--配置生成的实体包  
  32.             targetPackage:生成的实体包位置,默认存放在src目录下  
  33.             targetProject:目标工程名  
  34.          -->  
  35.         <javaModelGenerator targetPackage="com.unisits.zngkpt.common.userprivrman.pojo"  
  36.             targetProject="src/main/java" />  
  37.               
  38.         <!-- 实体包对应映射文件位置及名称,默认存放在src目录下 -->  
  39.         <sqlMapGenerator targetPackage="com.unisits.zngkpt.common.userprivrman.mapper" targetProject="src/main/java" />  
  40.   
  41.          <span style="color: #ff0000;"><!-- mapper方法层,默认存放在src目录下 -->  
  42.         <javaClientGenerator type="XMLMAPPER" targetPackage="com.bldz.train.mapper" targetProject="src/main/java">  
  43.                 <property name="enableSubPackages" value="true"/>  
  44.         </javaClientGenerator></span>  
  45.         <!-- 配置表   
  46.             schema:不用填写  
  47.             tableName: 表名  
  48.             enableCountByExample、enableSelectByExample、enableDeleteByExample、enableUpdateByExample、selectByExampleQueryId:  
  49.             去除自动生成的例子  
  50.         -->  
  51.         <table schema="" tableName="sys_role" enableCountByExample="false" enableSelectByExample="false"  
  52.             enableDeleteByExample="false" enableUpdateByExample="false" selectByExampleQueryId="false" >  
  53.         </table>  
  54.         <table schema="" tableName="sys_permission" enableCountByExample="false" enableSelectByExample="false"  
  55.                enableDeleteByExample="false" enableUpdateByExample="false" selectByExampleQueryId="false" >  
  56.         </table>  
  57.         <table schema="" tableName="sys_role_permission" enableCountByExample="false" enableSelectByExample="false"  
  58.                enableDeleteByExample="false" enableUpdateByExample="false" selectByExampleQueryId="false" >  
  59.         </table>  
  60.         <table schema="" tableName="sys_user" enableCountByExample="false" enableSelectByExample="false"  
  61.                enableDeleteByExample="false" enableUpdateByExample="false" selectByExampleQueryId="false" >  
  62.         </table>  
  63.         <table schema="" tableName="sys_user_role" enableCountByExample="false" enableSelectByExample="false"  
  64.         enableDeleteByExample="false" enableUpdateByExample="false" selectByExampleQueryId="false" >  
  65.         </table>  
  66.         <table schema="" tableName="unit_info" enableCountByExample="false" enableSelectByExample="false"  
  67.                enableDeleteByExample="false" enableUpdateByExample="false" selectByExampleQueryId="false" >  
  68.         </table>  
  69.         <table schema="" tableName="unit_type" enableCountByExample="false" enableSelectByExample="false"  
  70.                enableDeleteByExample="false" enableUpdateByExample="false" selectByExampleQueryId="false" >  
  71.         </table>  
  72.     </context>  
  73. </generatorConfiguration>  

 

 

3,到现在为止,所有的mybatis配置工作已经结束了,开始配置idea来运行生成pojo吧

点击菜单Run->Edit Configuration,然后在弹出窗体的左上角,如下,输入 mybatis-generator:generate -e

然后点击确定

 

 

 4.运行刚才编辑的maven,不出意外就会生成成功

 

  

 

 补充:最终 红色部分会生成 xml  对应method 的 mapper.java 文件 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
POJOGeneratorPOJO代码生成器 v1.3.3) 本POJO代码生成器采用Java的Swing技术编码实现,是绿色免费工具,可以自由传播。 由于本工具的内部实现较烂,所以还请反编译高手手下留情,让我留几分颜面。^_^ 由于本人只用过Oracle、DB2、MySQL、MS SQL Server这四款数据库产品,所以制作 成exe可执行文件时只添入了这四款数据库的驱动支持。如果您需要使用这款工具从 其它数据库生成POJO,那么您可以联系我(Email:CodingMouse@gmail.com), 我会添加其它数据库的驱动支持后通过电子邮件发送给您。 简单的使用说明: 1、先将压缩档解压到任意文件夹,必须保留配置文件cmsdk4j.cfg.xml和generator .cfg.xml与可执行文件POJOGenerator.exe在同一目录,否则无法运行。 2、可以预先在配置档cmsdk4j.cfg.xml设定您的数据库服务器配置,配置档已经 提供了默认的配置信息,您仅需在此基础上修改部分参数(如:IP地址、端口号、 用户名、密码、数据库名等),这些参数将作为生成器的预设数据库连接配置参数。 3、可以预先在配置档generator.cfg.xml设定您的数据型映射方案,配置档已经 提供了MS SQL Server/MySQL/DB2和Oracle两种映射方案,当然,可能有不太完整的地方 ,您可以根据实际情况稍作修改即可。需要注意的一点是ref属性表示引用同一映射方案 的另一映射,这样您便可以简化同一映射数据型的配置;而import属性是指定需要在 最终生成的源代码作为最开始的package型导入声明部分的导入型名称,因此, 这个名称是完整带包名的名称,否则不能正确生成最终代码。配置档提供的默认配 置如果不能满足你的需要,也可以自行根据实际情况进行修改。最后,需要大家注意的 一点就是由于最终生成的代码要调用包装型的equals和hashCode方法,因此,配置的 数据型必须是包装型,如果用基本生成POJO代码是无法通过编译的。 4、所有配置档仅在工具启动初始读取一次并缓存到内存,因此,如果您是在工具运行 时修改的配置档,请重新启动本工具以使新的配置生效。并且,所有配置档的XML结构均 不能修改,只能修改其节点间的文本值或属性值,以及添加新的标签组,否则会导致本 工具无法工作。选择“界面皮肤方案”后,默认会在当前目录生成名为skin.dat的文件, 这是一个Properties属性文件,用于保存您最后选择的皮肤名称,以便下次打开此工具 时加载您所选择的皮肤来渲染工具UI界面。 5、所有最终代码生成效果都可以在左边的代码预览区域查看,可点击滑动箭头显示出 被隐藏的POJO代码卡片。点击“写入磁盘文件”按钮即可将POJO代码的Java源码文件写入 到指定文件夹POJO代码的equals方法重写完全符合《Core Java》所述规范,同时, 其的hashCode方法重写则参考了NetbeansJavaBean转换器的写法。为保障原有代码安 全,通常更好的做法是将最终代码生成后拷贝到您的项目对应文件夹。最好不要直接指 向您的项目文件夹,因为本工具会直接覆盖掉指定目录同名的文件。最终生成的代码文 件以.java为扩展名。 6、从1.3版开始生成POJO代码目录可自动添加一个名为pojo.ntf.xml的POJO映射通 知档,其,ID列名默认使用主键名称(若为复合主键则采用次序排首位的主键列名) ,而Oracle环境下的sequence对象名称则为“seq_表名_id”格式的默认名称,请根据 实际情况修改。该配置档用于CmSdk4j-Core框架的ORM映射,不需要则请不要勾选此项或 在生成后直接删除即可。 7、目前1.3.3版与1.3版差异不大,仅修改了POJO名与成员变量名的大小写处理策略。 即目标数据库服务器为Oracle时,才将表名除首字母外全部小写处理成POJO名,同理, 成员变量名也只在Oracle数据库情况下才全小写处理。其余数据库如:DB2、MySQL、 MS SQL Server则直接处理为除首字母大写外,其余全部保留原始大小写。其,对于 表名的处理还直接去掉了空格符和下划线,并且若为Oracle数据库时,下划线亦作为首 字母大写的分隔标志,如:HRM_HUMAN_RESOURCE,最终生成POJO名将直接去掉串 的下划线,并以下划线作为首字母大写的起始,即:HrmHumanResource + POJO名后缀。 同理,成员变量名的处理也是采用了相同的处理策略。最终处理效果详见生成写入到磁盘 的pojo.ntf.xml配置档。 8、此小工具一直均只写来自用,以便与自己的O/R Mapping简易版工具配套使用,目前 1.3.3这个版本已经能满足自己的需要,同时为了方便预览POJO代码生成的效果,特意添 加了语法着色功能,其着色色调搭配和关键字字典数据来源于EmEditor这款带语法着色的 纯文本编辑器,并且该色调搭配方案也被多款JS版本的语法着色器采用,色调可读性较高。 此小工具虽然GUI、功能这些都相对较弱,但自用已经足够。因此,后期可能就不再考虑 功能更新了,请见谅! 如果您有好的建议,请发送留言到作者博客:http://blog.csdn.net/CodingMouse 或发送邮件到:CodingMouse@gmail.com 本工具已经打包成exe可执行文件,便于在Window环境下运行,但仍需要你的机器上 安装至少1.6版本的jre环境(受打包工具的jre版本不兼容限制影响)。 By CodingMouse 2010年5月22日
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值