mybatis generator 源码学习
mybatis/generator 源码地址
mybatis/parent 源码地址
1. 分别点击Download ZIP下载到本地。
2. 解压generator-master.zip中的core到generator-master目录,然后解压parent-master.zip中的pom.xml到generator-master目录下
3. 进入core目录,修改该目录下的pom.xml文件,将<relativePath />改成:<relativePath>../pom.xml</relativePath>
<parent>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-parent</artifactId>
<version>31-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>
1
2
3
4
5
6
4. 删除红箭头指向的三个文件和文件夹,然后在此目录下打开cmd执行命令:
mvn -N io.takari:maven:wrapper
1
会重新生成。
5. 执行命令:
mvnw clean install -DskipTests
1
就会在本地仓库生成:
6. 测试:将mybatis-generator-core-1.4.0-SNAPSHOT.jar 和 generatorConfig.xml 拷贝到一个目录中。在目录中执行如下命令:
java -jar mybatis-generator-core-1.4.0-SNAPSHOT.jar -configfile generatorConfig.xml -overwrite
1
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:\**\**\mysql\mysql-connector-java\5.1.47\mysql-connector-java-5.1.47.jar" />
<context id="DB2Tables" targetRuntime="MyBatis3">
<commentGenerator>
<property name="suppressAllComments" value="true" />
</commentGenerator>
<jdbcConnection driverClass="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql://localhost:3306/test?useSSL=false"
userId="root" password="123456">
</jdbcConnection>
<javaTypeResolver>
<property name="forceBigDecimals" value="false" />
</javaTypeResolver>
<!--域模型层,生成的目标包,项目目标源文件 -->
<javaModelGenerator targetPackage="com.pyg.pojo"
targetProject="./">
<property name="enableSubPackages" value="true" />
<property name="trimStrings" value="true" />
</javaModelGenerator>
<!--XML映射文件,生成的位置(目标包),源代码文件夹 -->
<sqlMapGenerator targetPackage="com.pyg.mapper"
targetProject="./">
<property name="enableSubPackages" value="true" />
</sqlMapGenerator>
<!--XML对应的Mapper类 -->
<javaClientGenerator type="XMLMAPPER"
targetPackage="com.pyg.mapper" targetProject="./">
<property name="enableSubPackages" value="true" />
</javaClientGenerator>
<!-- 表名tb_item_cat,如果想要生成对应的类名为ItemCat,需要加domainObjectRenamingRule -->
<table schema="" tableName="tb_item_cat"
enableCountByExample="false" enableSelectByExample="false"
enableUpdateByExample="false" enableDeleteByExample="false">
<domainObjectRenamingRule searchString="^Tb" replaceString=""/>
</table>
<!-- 多表一起生成 -->
<!-- <table schema="" tableName="%"
enableCountByExample="false" enableSelectByExample="false"
enableUpdateByExample="false" enableDeleteByExample="false">
<domainObjectRenamingRule searchString="^Tb" replaceString=""/>
</table> -->
</context>
</generatorConfiguration>
---------------------
作者:dono118
来源:CSDN
原文:https://blog.csdn.net/dono118/article/details/82980841
版权声明:本文为博主原创文章,转载请附上博文链接!
mybatis generator 源码学习的更多相关文章
- mybatis generator 源码修改
项目中使用mybatis + 通用mapper,用mybatis generator生成代码时有些不方便,参考了网上的一些例子,修改mybatis genrerator的源码. 首先,下载mybati ...
- 从代码生成说起,带你深入理解 mybatis generator 源码
枯燥的任务 这一切都要从多年前说起. 那时候刚入职一家新公司,项目经理给我分配了一个比较简单的工作,为所有的数据库字段整理一张元数据表. 因为很多接手的项目文档都不全,所以需要统一整理一份基本的字典表 ...
- mybatis源码学习(二)--mybatis+spring源码学习
这篇笔记主要来就,mybatis是如何利用spring的扩展点来实现和spring的整合 1.mybatis和spring整合之后,我们就不需要使用sqlSession.selectOne()这种方式 ...
- mybatis框架源码学习
转:来自https://my.oschina.net/u/1458864/blog/293659 摘要:初始化mybatis,所有的配置都在configuation 对象中使用mybatis,从sql ...
- mybatis源码学习--spring+mybatis注解方式为什么mybatis的dao接口不需要实现类
相信大家在刚开始学习mybatis注解方式,或者spring+mybatis注解方式的时候,一定会有一个疑问,为什么mybatis的dao接口只需要一个接口,不需要实现类,就可以正常使用,笔者最开始的 ...
- mybatis源码学习(一) 原生mybatis源码学习
最近这一周,主要在学习mybatis相关的源码,所以记录一下吧,算是一点学习心得 个人觉得,mybatis的源码,大致可以分为两部分,一是原生的mybatis,二是和spring整合之后的mybati ...
- mybatis源码学习(三)-一级缓存二级缓存
本文主要是个人学习mybatis缓存的学习笔记,主要有以下几个知识点 1.一级缓存配置信息 2.一级缓存源码学习笔记 3.二级缓存配置信息 4.二级缓存源码 5.一级缓存.二级缓存总结 1.一级缓存配 ...
- Mybatis源码学习之整体架构(一)
简述 关于ORM的定义,我们引用了一下百度百科给出的定义,总体来说ORM就是提供给开发人员API,方便操作关系型数据库的,封装了对数据库操作的过程,同时提供对象与数据之间的映射功能,解放了开发人员对访 ...
- mybatis源码学习:一级缓存和二级缓存分析
目录 零.一级缓存和二级缓存的流程 一级缓存总结 二级缓存总结 一.缓存接口Cache及其实现类 二.cache标签解析源码 三.CacheKey缓存项的key 四.二级缓存TransactionCa ...
随机推荐
- centos7下安装.net core运行时
Add the dotnet product feed Before installing .NET, you'll need to register the Microsoft key, regis ...
- javap浅析-书籍第3章的手写稿样稿
转载于:[xieyu_zy](http://blog.csdn.net/xieyuooo/article/details/17452383) 3.2.1javap命令工具 第1章中我们就提到了有些地方 ...
- SQLFullbackup
/* ==Scripting Parameters== Source Server Version : SQL Server 2016 (13.0.1601) Source Database Engi ...
- lvm再次学习
目录 LVM构架 分区 pvcreat vgcreat lvcreat 格式化文件系统 挂载至目录 已经学过很多很多遍LVM了,每次都觉得自己学会了,每次都是得查询才能搞定,这次给LVM做个专题,在有 ...
- Python unittest discover()方法与执行顺序补充
一.discover更多测试用例 可以根据不同的功能创建不同的测试文件,甚至是不同的测试目录,测试文件中还可以将不同的小功能划分为不同的测试类,在类下编写测试用例,让整体结构更加清晰 但通过addTe ...
- java工具类——java将一串数据按照gzip方式压缩和解压缩
我要整理在工作中用到的工具类分享出来,也方便自己以后查阅使用,这些工具类都是我自己实际工作中使用的 import java.io.ByteArrayInputStream; import java.i ...
- android 手机权限管理——PermissionsDispatcher
Android6.0 之后某些权限需要动态申请,相比于之前版本复杂了许多.不过已经有大神给我们写好了框架(PermissionsDispatcher),我们用起来还是很方便. 1.添加引用 根据 gr ...
- AND 初识
框架
- [python爬虫] Selenium常见元素定位方法和操作的学习介绍
这篇文章主要Selenium+Python自动测试或爬虫中的常见定位方法.鼠标操作.键盘操作介绍,希望该篇基础性文章对你有所帮助,如果有错误或不足之处,请海涵~同时CSDN总是屏蔽这篇文章,再加上最近 ...
- mount命令和自动挂载实例
前言 介绍mount命令和一个实例. mount命令 作用 作用:挂载linux系统外的文件 命令格式 mount [-hV] mount -a [-fFnrsvw] [-t vfstype] mou ...