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
随机推荐
- 理解Null,Undefined,NAN
1.null表示尚未存在的对象,转为数值时为0.它表示"没有对象",即该处不应该有值,常用来表示函数企图返回一个不存在的对象.null是一种特殊的object(引用类型),代表一个 ...
- mysql之对表的操作
1. 表的基本概念 在数据库中,表是一种非常重要的数据库对象,是组成数据库的基本对象,由若干个字段组成,主要用来储存数据记录. 表中的数据库对象包含列,索引和触发器. 列:也称属性列,在具体创建表时必 ...
- DP+BIT(优化复杂度) UESTC 1217 The Battle of Chibi
题目传送门 题意:问n长度的序列,找出长度m的上升子序列的方案数. 分析:这个问题就是问:dp[i][j] = sum (dp[i-1][k]) (1 <= k <= n, a[k] &l ...
- cocos2d 单点触控
// // Single.hpp // dev // // Created by sun on 15/12/20. // // #ifndef Single_hpp #define Single_hp ...
- BZOJ3831 : [Poi2014]Little Bird
设f[i]表示到i最少休息次数,f[i]=min(f[j]+(h[j]<=a[i])),i-k<=j<i,单调队列优化DP #include<cstdio> #defin ...
- HDU 1180 (BFS搜索)
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1180 题目大意:迷宫中有一堆楼梯,楼梯横竖变化.这些楼梯在奇数时间会变成相反状态,通过楼梯会顺便到达 ...
- JQuery LazyLoad实现图片延迟加载-探究
对于大量图片的网站,图片延迟加载是提高速度和性能的好方法. 目前图片延迟加载主要分两大块,一是触发加载(根据滚动条位置加载图片):二是自动预加载(加载完首屏后n秒后自动加载其他位置的图片).大体常用的 ...
- windows phone7 豆瓣FM
HubTile参考了下,就做了一个豆瓣的FM应用 豆瓣的API在百度里查一下. 整个应用很简单,无非是解析豆瓣的JSON数据,然后读取,下载图片和歌单
- HDU 4057 Rescue the Rabbit(AC自动机+DP)
题目链接 一个数组开小了一点点,一直提示wa,郁闷,这题比上个题简单一点. #include <iostream> #include <cstring> #include &l ...
- Ubuntu(Linux) 下 unzip 命令使用详解
1.功能作用:解压缩zip文件 2.位置:/usr/bin/unzip 3.格式用法:unzip [-Z] [-opts[modifiers]] file[.zip] [list] [-x xlist ...