Mybatis-generator的使用-阿里云开发者社区

开发者社区> 科技探索者> 正文

Mybatis-generator的使用

简介:
+关注继续查看

一、核心文件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++转换。

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

本文转自IT徐胖子的专栏博客51CTO博客,原文链接http://blog.51cto.com/woshixy/1423532如需转载请自行联系原作者


woshixuye111

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
一文快速搞定Redis_数据类型及JavaApi操作
大家好,我是**ChinaManor**,直译过来就是中国码农的意思,我希望自己能成为国家复兴道路的铺路人,大数据领域的耕耘者,平凡但不甘于平庸的人。
7 0
一文快速搞懂系列__一文快速搞懂SuperSet[实战案例]
大家好,我是**ChinaManor**,直译过来就是中国码农的意思,俺希望自己能成为国家复兴道路的铺路人,大数据领域的耕耘者,平凡但不甘于平庸的人。
8 0
一文快速了解ClickHouse 战斗民族的开源搜索引擎(超详细解读+快速入门)
大家好,我是**ChinaManor**,直译过来就是中国码农的意思,俺希望自己能成为国家复兴道路的铺路人,大数据领域的耕耘者,一个平凡而不平庸的人。
8 0
【技术干货】40页PPT分享万亿级交易量下的支付平台设计(6)
【技术干货】40页PPT分享万亿级交易量下的支付平台设计(6)
8 0
Java classloader详解
Java程序并不是一个可执行文件,而是由很多的Java类组成,其运行是由JVM来控制的。而JVM从内存中查找到类,而真正将类加载进内存的就是ClassLoader,可以说我们每天都在接触ClassLoader,但是很多时候我们没有明白其执行的流程和原理。
5 0
冬季实战营第一期学习报告
通过五天学习与实操,对ECS云服务器入门、快速搭建LAMP环境、部署MySQL数据库、回顾搭建Docker环境和Spring Boot以及使用PolarDB和ECS搭建门户网站操作,对本期学习与实操的认识。
7 0
冬季实战营第一期:从零到一上手玩转云服务器实验报告
第一期主要进行了六次实验,分别是《动手实操ECS云服务器》、《动手实操快速搭建LAMP环境》、《使用ECS服务器部署MySQL数据库》、《通过workbench远程登录ECS,快速搭建Docker环境》、《从零搭建Spring Boot的Hello World》以及《使用PolarDB和ECS搭建门户网站》。首先远程登陆ECS实例,搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。然后配置及远程访问MySQL。冯晓帅老师在直播上带大家通过workbench登录ECS并快速搭建Docker环境,运行Spring Boot,最后安装WordPress并搭建博客。
8 0
MySQL高可用架构演进
MySQL是数据库领域当之无愧的霸主之一,其在各行各业被广泛应用,随着广泛使用,对于MySQL本身的高可用性的要求就是不可避免的话题,而MySQL的高可用方案也随着MySQL功能的完善经历了多次升级,本文将对MySQL的各种高可用架构进行分析,以此来了解架构的演进。
6 0
冬季实战营第一期:从零到一上手玩转云服务器学习总结
冬季实战营第一期:从零到一上手玩转云服务器学习总结
6 0
5489
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载