Mybatis generator的使用全面解析

所属分类: 软件编程 / java 阅读数: 55
收藏 0 赞 0 分享

一、核心文件generator.xml

指定数据库jar包位置、数据库连接信息、生成包的位置、表名等关键信息。该文件放在任意位置。

<!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
<generatorConfiguration>
<!-- 数据库的JDBC驱动的jar包地址 -->
<classPathEntry location="F:\xy\jars\mysql-connector-java-5.0.7-bin.jar" />
<context id="DB2Tables" targetRuntime="MyBatis3">
<!-- 是否去除自动生成的注释 -->
<commentGenerator>
<property name="suppressAllComments" value="true" />
</commentGenerator>
<!-- 数据库连接的信息 -->
<jdbcConnection driverClass="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql://localhost:3306/db_MybatisTest" 
userId="root" password="mysqltest">
</jdbcConnection>
<!-- false:JDBC DECIMAL、NUMERIC类型解析为Integer,默认方式 -->
<!-- true: JDBC DECIMAL、NUMERIC类型解析为java.math.BigDecimal -->
<javaTypeResolver>
<property name="forceBigDecimals" value="false" />
</javaTypeResolver>
<!-- 生成模型的包名和位置 -->
<javaModelGenerator targetPackage="com.xy.model" targetProject="F:\xy\mybatis-generator\src">
<!-- 是否让schema作为包的后缀 -->
<property name="enableSubPackages" value="true" />
<!-- 从数据库返回的值被清理前后的空格 -->
<property name="trimStrings" value="true" />
</javaModelGenerator>
<!-- 生成映射文件的包名和位置 -->
<sqlMapGenerator targetPackage="com.xy.mapping" targetProject="F:\xy\mybatis-generator\src">
<property name="enableSubPackages" value="false" />
</sqlMapGenerator>
<!-- 生成DAO的包名和位置 -->
<javaClientGenerator type="XMLMAPPER" targetPackage="com.xy.dao" targetProject="F:\xy\mybatis-generator\src">
<property name="enableSubPackages" value="true" />
</javaClientGenerator>
<!-- tableName:数据库表 -->
<!-- domainObjectName:对应于数据库表的javaBean类名 -->
<table tableName="t_student" domainObjectName="Student" enableCountByExample="false" 
enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false">
<!-- 忽略该字段(可省略) -->
<ignoreColumn column="name" />
</table>
</context>
</generatorConfiguration>

二、table标签解析

①属性

schema即为数据库名,tableName为对应的数据库表,domainObjectName是要生成的实体类。

若要生成例子可将enableCountByExample等设为true, 就会生成一个对应domainObjectName的Example类,false则不生成,默认策略是true。

类似的还有enableUpdateByExample、enableDeleteByExample、enableSelectByExample、selectByExampleQueryId属性。

②子标签

若要对某些数据库字段进行操作,可以在table标签中加入如下标签

1、忽略某个字段

<ignoreColumn column="name" />

2、无论数据库字段是何类型,生成的类属性都是varchar

<columnOverride column="LONG_VARCHAR_FIELD" jdbcType="VARCHAR" />

三、生成

mybatis-generator-core-1.3.2.jar是核心jar包,可在网上自行下载。命令窗口执行语句,执行成功后就会在generator.xml文件中指定的位置找到代码了。

java -jar F:\xy\jars\mybatis-generator-core-1.3.2.jar -configfile F:\xy\generator.xml -overwrite

四、总结

使用Mybatis Generator需要

①两个jar包——mybatis-generator-core-1.3.2.jar和数据库jar包

②一个配置文件generator.xml

③执行语句

五、注意事项

①generator.xml格式:必须是以UTF-8无BOM格式编码,用notepad++转换。

②注意数据库包的可用性,无效的数据库包转换会报错。

以上所述是小编给大家介绍的Mybatis generator的使用全面解析,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

更多精彩内容其他人还在看

Java实现序列化与反序列化的简单示例

序列化与反序列化是指Java对象与字节序列的相互转换,一般在保存或传输字节序列的时候会用到,下面有两个Java实现序列化与反序列化的简单示例,不过还是先来看看序列和反序列化的具体概念:
收藏 0 赞 0 分享

以Java代码为例讲解设计模式中的简单工厂模式

简单来说,工厂模式就是按照需求来返回一个类型的对象,使用工厂模式的意义就是,如果对象的实例化与代码依赖太大的话,不方便进行扩展和维护,使用工厂的目的就是使对象的实例化与主程序代码就行解耦.来具体看一下:
收藏 0 赞 0 分享

Java线程池的几种实现方法及常见问题解答

下面小编就为大家带来一篇Java线程池的几种实现方法及常见问题解答。小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

Java线程池的几种实现方法和区别介绍

下面小编就为大家带来一篇Java线程池的几种实现方法和区别。小编觉得挺不错的,现在分享给大家,也给大家做个参考,一起跟随小编过来看看吧,祝大家游戏愉快哦
收藏 0 赞 0 分享

深入理解Java 对象和类

下面小编就为大家带来一篇深入理解Java 对象和类。小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

浅析Java编程中类和对象的定义

下面小编就为大家带来一篇浅析Java编程中类和对象的定义。小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧,祝大家游戏愉快哦
收藏 0 赞 0 分享

SpringMVC文件上传的配置实例详解

本文通过实例代码给大家介绍SpringMVC文件上传的配置相关内容,本文介绍的非常详细,具有参考借鉴价值,感兴趣的朋友一起学习吧
收藏 0 赞 0 分享

java发送http请求并获取状态码的简单实例

下面小编就为大家带来一篇java发送http请求并获取状态码的简单实例。小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

详解Java中格式化日期的DateFormat与SimpleDateFormat类

DateFormat其本身是一个抽象类,SimpleDateFormat 类是DateFormat类的子类,一般情况下来讲DateFormat类很少会直接使用,而都使用SimpleDateFormat类完成,下面我们具体来看一下两个类的用法:
收藏 0 赞 0 分享

Java使用设计模式中的工厂方法模式实例解析

当系统准备为用户提供某个类的子类的实例,又不想让用户代码和该子类形成耦合时,就可以使用工厂方法模式来设计系统.工厂方法模式的关键是在一个接口或抽象类中定义一个抽象方法,下面我们会具体介绍Java使用设计模式中的工厂方法模式实例解析.
收藏 0 赞 0 分享
查看更多