(八)Intellij mybatis 插件mybatis-generator 使用
2015-12-14 17:59
537 查看
Eclipse中可以可以使用mybatis插件自动生成实体类、以及mybatis 的xml文件,在intellij中同样适用。1、在resources文件夹下建立文件generatorConfig.xml,代码如下所示:
<span style="font-family:SimSun;font-size:14px;"><?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"></properties> <classPathEntry location="${jdbc.driverLocation}"/> <context id="default" targetRuntime="MyBatis3"> <commentGenerator> <property name="suppressDate" value="true" /> </commentGenerator> <jdbcConnection driverClass="${jdbc.driverClass}" connectionURL="${jdbc.connectionURL}" userId="${jdbc.userId}" password="${jdbc.password}"> </jdbcConnection> <javaModelGenerator targetPackage="hf.generateEntity" targetProject="src/main/java"> <property name="constructorBased" value="true"/> <property name="immutable" value="true"/> <property name="trimStrings" value="true"/> </javaModelGenerator> <sqlMapGenerator targetPackage="hf.generateSqlXml" targetProject="src/main/java"> <property name="enableSubPackages" value="false"/> </sqlMapGenerator> <javaClientGenerator targetPackage="hf.generateEntity" targetProject="src/main/java" type="XMLMAPPER"> <property name="enableSubPackages" value=""/> <property name="exampleMethodVisibility" value=""/> <property name="methodNameCalculator" value=""/> <property name="rootInterface" value=""/> </javaClientGenerator> <!-- tableName 为表名. schema 为数据库名称--> <table tableName="audition_author" schema="bookbar"> <generatedKey column="author_id" sqlStatement="MySql" identity="true" /> </table> </context> </generatorConfiguration></span>上面的xml看着可能有些乱,不过复制粘贴到自己的编辑器中就好些,下面逐一解释。<classPathEntry> 驱动文件制定配置项,配置驱动文件所在的位置: 例如:<classPathEntry location="/Program Files/IBM/SQLLIB/java/db2java.zip" /><context> 主标签,下面可以包含其他标签,targetRuntime="MyBatis3",默认是mybatis3,可以填选值为MyBatis3,MyBatis3Simple(默认的),Ibatis2Java2,Ibatis2Java5
<span style="font-family:SimSun;font-size:14px;"><context id="DB2Tables" targetRuntime="MyBatis3"> ... </context></span><commentGenerator> 代码上的注释规则 属性:properties name为suppressAllComments value 为false时打开注释,true时为关闭注释。 name为suppressDate false打开时间标志,为true时关闭。
<span style="font-family:SimSun;font-size:14px;"><commentGenerator> <property name="suppressDate" value="true" /> </commentGenerator></span><jdbcConnection> db连接相关配置
<span style="font-family:SimSun;font-size:14px;"><jdbcConnection driverClass="COM.ibm.db2.jdbc.app.DB2Driver" connectionURL="jdbc:db2:MBGTEST" userId="db2admin" password="db2admin"> </jdbcConnection></span>上述示例中采用的是在配置文件中配置<javaTypeResolver> mybatis专门用来处理numeric和decimal 类型的策略。
<span style="font-family:SimSun;font-size:14px;"><javaTypeResolver> <property name="forceBigDecimals" value="true" /> </javaTypeResolver></span><javaModelGenerator> 实体类生成配置
<span style="font-family:SimSun;font-size:14px;"><javaModelGenerator targetPackage="domain" targetProject="app"> <property name="enableSubPackages" value="true" /> <property name="trimStrings" value="false" /> </javaModelGenerator> <sqlMapGenerator> </span>在mybatis2中是必须的,在mybatis3中,只有xml方式时需要。
<span style="font-family:SimSun;font-size:14px;"><pre name="code" class="html"><sqlMapGenerator targetPackage="test.model" targetProject="\MyProject\src"> <property name="enableSubPackages" value="true" /> </sqlMapGenerator></span>targetProject是生成实体所在的文件夹位置,一个是是否允许有子程序包。javaClientGenerator<
<span style="font-family:SimSun;font-size:14px;"><javaClientGenerator type="XMLMAPPER" targetPackage="dao.mapper" targetProject="app"> <property name="enableSubPackages" value="true" /> </javaClientGenerator></span>客户端代码,生成实体类targetPackage:生成实体类的包位置,targetProject:源代码位置。type=“ANNOTATEDMAPPER” 生成java Model和基于注解的Mapper对象。type=“MIXEDMAPPER” 生成基于注解的java Model 和相应的Mapper对象。type="XMLMAPPER" ,生成SQL Map xml文件和独立的Mapper接口。<table>数据库相关配置tableName:数据库表名称,schema 为数据库名称。<generatedKey>是否在插入的时候生成主键,column 为主键名称,sqlStatement MySql,则为生成mysql的主键方式,identity是否是自增主键。<ignoreColumn>忽略的字段
<columnRenamingRule><span style="font-family:SimSun;font-size:14px;"><table schema="DB2ADMIN" tableName="ALLTYPES" domainObjectName="Customer" > <ignoreColumn column="FRED" /> .. </table> </span>
按规则将数据库中的字段重命名为实体类的属性.
<columnOverride><span style="font-family:SimSun;font-size:14px;"><table schema="DB2ADMIN" tableName="ALLTYPES" domainObjectName="Customer" > <columnRenamingRule searchString="^CUST_" replaceString="" /> .. </table></span>
将数据库中的字段重命名为实体类的属性.
column:数据库中字段名.
property: pojo属性名
javaType:pojo类型
jdbcType:数据库字段类型.
<span style="font-family:SimSun;font-size:14px;"><table schema="DB2ADMIN" tableName="ALLTYPES" domainObjectName="Customer" > <property name="useActualColumnNames" value="true"/> <generatedKey column="ID" sqlStatement="DB2" identity="true" /> <columnOverride column="DATE_FIELD" property="startDate" /> <ignoreColumn column="FRED" /> <columnOverride column="LONG_VARCHAR_FIELD" jdbcType="VARCHAR" /> </table></span>
2 在maven项目的pom中添加如下插件
<span style="font-family:SimSun;font-size:14px;"><span style="font-family:SimSun;font-size:18px;"> <build> <finalName>xxx</finalName> <plugins> <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> </plugins> </build></span></span>
3 采用读取配置文件读取相关配置,配置文件generator.properties 配置如下.(ps:我用的是mysql的数据库)
<span style="font-family:SimSun;font-size:14px;">#jdbc.driverLocation=D:\\maven\\com\\oracle\\ojdbc14\\10.2.0.4.0\\ojdbc14-10.2.0.4.0.jarjdbc.driverLocation=D:\\.m2\\repository\\mysql\\mysql-connector-java\\5.1.9\\mysql-connector-java-5.1.9.jarjdbc.driverClass=com.mysql.jdbc.Driverjdbc.connectionURL=jdbc:mysql://12.233.221.***:3306/dbName?useUnicode=true&characterEncoding=UTF-8jdbc.userId=rootjdbc.password=root</span>
4 添加插件的运行命令在Runner中最好添加参数VM Options: -Dmaven.multiModuleProjectDirectory=E:\project_github\j2ee-demo\mybatis-generator 然后执行run或者debug都可以,如果一次没有成功,一定是generatorConfig.xml的配置文件中某些配置配置错了,根据错误提示改动,或者先注释掉某些配置,执行成功后再看这些配置的作用。 生成如下所示: ps:intellij插件iBATIS/MyBatis mini-plugin 可以让我们从dao层直接直接点击到对应的xml,很方便快捷. 总结: 天下武功,无坚不破,唯快不破。多想想天天让自己重复做的事情,哪些是每天必须用鼠标点啊点的,使用怎样更快捷的方式来完成呢?你可能费了点时间来查找一些快捷键,或者一种更快的方式,但是点点滴滴的快起来,你的剑会更加锋利。出招吧!O(∩_∩)O~
相关文章推荐
- TOCControl 的HitTest()方法
- 为什么在手机本地可以创建文件而在安卓绝对路径下创建失败
- 解决Android Studio代码提示快捷键冲突
- 微信开发学习总结-1
- 秒杀系统设计的知识点
- strcpy和memcpy的区别
- JVM系列之二:垃圾回收器(GC)
- 安卓学习之路4之插件Button和ImageButton的属性以及监听
- iOS开发之自定义画板
- 【JavaEE WEB 开发】Tomcat 详解 Servlet 入门
- php常见的面试题目
- 嵌入式系统定制工具—yocto_project使用心得
- WebService学习笔记(一)基础入门
- mysql读写分离之搭建主从数据库(1)
- java用部分匹配删除文件-根据日期删除文件
- 设计模式(八)---中介者模式
- 【JavaEE WEB 开发】Tomcat 详解 Servlet 入门
- 域名信息采集
- python字符串对比大小
- java中改变字符串编码