MyBatis-Generator 最佳实践
- 为数据库中的表A生成A.java, A.java, A.xml
- 由于该插件生成的A.java, A.xml会带有example, 不希望生成example
- 数据库中的字段写有注释, 希望注释能自动生成在A.java中
具体操作:
配置文件-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="D://apache-maven-3.3.9//public-lib//maven-dependencies//mysql//mysql-connector-java//5.1.30//mysql-connector-java-5.1.30.jar"/>
<context id="my" targetRuntime="MyBatis3">
<!-- 注释 --> <!-- type="com.util.MyDefaultCommentGenerator" 该类是我拓展的,这样才能生成数据库对应的注解 -->
<commentGenerator type="com.util.MyDefaultCommentGenerator">
<!-- 是否取消注释 如果为true只为会生成最简单的字段说明,也是建议使用的 -->
<property name="suppressAllComments" value="true"/>
<property name="suppressDate" value="false" /> <!-- 是否生成注释代时间戳-->
</commentGenerator> <jdbcConnection driverClass="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql://127.0.0.1:3306/foo" userId="root"
password="root"/> <!-- 类型转换 -->
<javaTypeResolver>
<!-- 是否使用bigDecimal, false可自动转化以下类型(Long, Integer, Short, etc.) -->
<property name="forceBigDecimals" value="false"/>
</javaTypeResolver> <!-- java model 对象类 -->
<javaModelGenerator targetPackage="com.sf.fs.entity"
targetProject="MyBatis_Generator_1.3">
<property name="enableSubPackages" value="true"/>
<property name="trimStrings" value="true"/>
</javaModelGenerator> <!-- sqlmap 配置文件 -->
<sqlMapGenerator targetPackage="com.sf.fs.mybatis_config"
targetProject="MyBatis_Generator_1.3">
<property name="enableSubPackages" value="true"/>
</sqlMapGenerator> <!-- dao 操作类 -->
<javaClientGenerator targetPackage="com.sf.fs.dao"
targetProject="MyBatis_Generator_1.3" type="XMLMAPPER">
<property name="enableSubPackages" value="true"/>
</javaClientGenerator> <!-- 由于该插件生成的A.java, A.xml会带有example, 不希望生成example 配置如下-->
<table tableName="A" enableCountByExample="false" enableDeleteByExample="false" enableSelectByExample="false"
enableUpdateByExample="false" domainObjectName="A">
</table> </context>
</generatorConfiguration>
2.自己写一个类MyDefaultCommentGenerator继承 mybatis-generator.jar 包下面org.mybatis.generator.internal.DefaultCommentGenerator ;
package com.util; import org.mybatis.generator.api.IntrospectedColumn;
import org.mybatis.generator.api.IntrospectedTable;
import org.mybatis.generator.api.dom.java.Field;
import org.mybatis.generator.internal.DefaultCommentGenerator; public class MyDefaultCommentGenerator extends DefaultCommentGenerator { public void addFieldComment(Field field, IntrospectedTable introspectedTable, IntrospectedColumn introspectedColumn) {
//1.详解方式
// // 添加字段注释
// StringBuffer sb = new StringBuffer();
//
// field.addJavaDocLine("/**");
// field.addJavaDocLine(" * <pre>");
// if (introspectedColumn.getRemarks() != null)
// field.addJavaDocLine(" * " + introspectedColumn.getRemarks());
// sb.append(" * 表字段 : ");
// sb.append(introspectedTable.getFullyQualifiedTable());
// sb.append('.');
// sb.append(introspectedColumn.getActualColumnName());
// field.addJavaDocLine(sb.toString());
// field.addJavaDocLine(" * </pre>");
// field.addJavaDocLine(" * ");
// // addJavadocTag(field, false);
// field.addJavaDocLine(" */"); //2.简洁方式
if (introspectedColumn.getRemarks()==null) {
return;
}
field.addJavaDocLine("/** "+introspectedColumn.getRemarks()+" */"); } }
3.最后一步必须在生成的项目中添加包mybatis-generator-core.jar包 具体的版本使用当前最新的就行.
MyBatis-Generator 最佳实践的更多相关文章
- 30分钟带你了解Springboot与Mybatis整合最佳实践
前言:Springboot怎么使用想必也无需我多言,Mybitas作为实用性极强的ORM框架也深受广大开发人员喜爱,有关如何整合它们的文章在网络上随处可见.但是今天我会从实战的角度出发,谈谈我对二者结 ...
- MyBatis Generator 详解
MyBatis Generator中文文档 MyBatis Generator中文文档地址:http://mbg.cndocs.tk/ 该中文文档由于尽可能和原文内容一致,所以有些地方如果不熟悉,看中 ...
- MyBatis Generator 详解 【转来纯为备忘】
版权声明:版权归博主所有,转载请带上本文链接!联系方式:abel533@gmail.com 目录(?)[+] MyBatis Generator中文文档 运行MyBatis Generator X ...
- mybatis Generator配置文件详解
这里按照配置的顺序对配置逐个讲解,更细的内容可以配合中文文档参照. 1. 配置文件头 <?xml version="1.0" encoding="UTF-8&quo ...
- MyBatis Generator中文文档
MyBatis Generator中文文档 MyBatis Generator中文文档地址: http://mbg.cndocs.tk/ 该中文文档由于尽可能和原文内容一致,所以有些地方如果不熟悉,看 ...
- MyBatis Generator 详解(转)
MyBatis Generator中文文档 MyBatis Generator中文文档地址:http://mbg.cndocs.tk/ 该中文文档由于尽可能和原文内容一致,所以有些地方如果不熟悉,看中 ...
- MyBatis Generator 详解 专题
idea中有plugin可提高效率: http://www.henryxi.com/use-idea-mybatis-plugin-generate-mapper-files eg: <?xml ...
- mybatis 3.x源码深度解析与最佳实践(最完整原创)
mybatis 3.x源码深度解析与最佳实践 1 环境准备 1.1 mybatis介绍以及框架源码的学习目标 1.2 本系列源码解析的方式 1.3 环境搭建 1.4 从Hello World开始 2 ...
- java-mybaits-015-mybatis逆向工程最佳实践【基础mybatis-generator、tk.mybatis、mubatis-plus】
一.概述 三款框架的功能对比 Mybatis-generator 通用Mapper Mybatis-Plus 代码生成器 支持自动生成Model,Mapper,Mapper XML文件 生成方式不够灵 ...
- java 搭建新项目,最佳组合:spring boot + mybatis generator
java 搭建新项目,最佳组合:spring boot + mybatis generator
随机推荐
- python reduce()函数
reduce()函数 reduce()函数也是Python内置的一个高阶函数.reduce()函数接收的参数和 map()类似,一个函数 f,一个list,但行为和 map()不同,reduce()传 ...
- sql 截取字符串与 截取字符串最长的字符串
); set @str='aa,32,22,55,7'; ) as '第一个逗号的索引值' )),),),'') as '第一个值' ),len(@str)) as '从第一逗号开始截取出后面的字符串 ...
- Repeatless Numbers[POJ2956]
Repeatless Numbers Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 1719 Accepted: 726 ...
- BZOJ3780 : 数字统计
从低位到高位数位DP,f[i][j][k]表示已经填了后i位,转化的数字为j,后i位与x后i位的大小关系为k的方案数. #include<cstdio> const int N=202,B ...
- 精通CSS :nth-child伪类
:nth-child 基本用法 :nth-child:nth-child(8) 选中第8个子元素 li:nth-child(8) span { background-color: #298EB2; b ...
- Codeforces Round #264 (Div. 2)
http://codeforces.com/contest/463 这场是我人生第一场cf啊.. 悲剧处处是啊. 首先,看不懂题,完全理解不了啊.都是wa了好几次才过的 所以a和b这两sb题我做了1个 ...
- 【BZOJ】 1007: [HNOI2008]水平可见直线(凸壳)
http://www.lydsy.com/JudgeOnline/problem.php?id=1007 一开始我贪心的写了下,当然全wa了.. 这题看了题解感觉很简单. 首先什么情况才能看到呢? w ...
- VTK 6.3.0 Qt 5.4 MinGW 4.9.1 Configuration 配置
Download VTK 6.3.0 Download Qt 5.4 with MinGW 4.9.1 Download CMake 3.2.0 I assume you've already ins ...
- sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"问题解决
安装一个软件时,遇到这个问题sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION" 上网 ...
- Java学习资源
Java技术路线图 指路明灯 一位资深程序员大牛给予Java初学者的学习路线建议 Java源码阅读的真实体会 概要 JDK发展历程 Java项目经验 基于java平台的常用资源 官方文档 Java™ ...