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
随机推荐
- HashMap两种遍历数据的方式
HashMap的遍历有两种方式,一种是entrySet的方式,另外一种是keySet的方式. 第一种利用entrySet的方式: Map map = new HashMap(); Iterator i ...
- HDU2243 考研路茫茫——单词情结(AC自动机+矩阵快速幂)
与POJ2778一样.这题是求长度不超过n且包含至少一个词根的单词总数. 长度不超过n的单词总数记为Sn,长度不超过n不包含词根的单词总数记为Tn. 答案就是,Sn-Tn. Sn=26+262+263 ...
- 错误3 error C3859: 超过了 PCH 的虚拟内存范围;请使用“-Zm120”
在工程上单击右键,属性,C/C++,最后一项,命令行,在里面/Zm200或者编译器提示的大小解决.
- Codeforces Round #213 (Div. 2) B. The Fibonacci Segment
#include <iostream> #include <algorithm> #include <vector> using namespace std; in ...
- TYVJ P1046 Blast Label:dp
描述 设有字符串X,我们称在X的头尾及中间插入任意多个空格后构成的新字符串为X的扩展串,如字符串X为“abcbcd”,则字符串“abcb□cd”,“□a□bcbcd□”和“abcb□cd□”都是X的扩 ...
- 【BZOJ】1082: [SCOI2005]栅栏(二分+dfs)
http://www.lydsy.com/JudgeOnline/problem.php?id=1082 题意:n个给出木板,m个给出木板.可以将那m个木板锯成泥想要的长度.问最大能锯成多少个给出的n ...
- 使用RBTool自动提交code review请求
使用RBTool自动提交code review请求 前言 让我们回想一下手工提交review请求的过程: 首先得用 svn diff > filename.diff 生成diff文件. 然后输入 ...
- Range of int, long, 和 long long 的数值范围
unsigned int 0-4294967295 int -2147483648-2147483647 unsigned long 0-4294967295 long -2147 ...
- 分支语句:if
(1)分支语句if: if(判断条件) { 满足条件要执行的语句(若满足则alert输出(“”)) } else { 不满足条件时执行的语句 } (若if满足,else绝对不走,反之,走else) 例 ...
- hdu Line belt
这道题是一道3分搜索的题.其实这种题很多时候都出现在高中的解析几何上,思路很简单,从图中可以看到,肯定在AB线段和CD线段上各存在一点x和y使得所花时间最少 因为AB和CD上的时间与x和y点的坐标都存 ...