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 ...
随机推荐
- Pandas学习笔记(三)
(1)系列对象( Series)基本功能 编号 属性或方法 描述 1 axes 返回行轴标签列表. 2 dtype 返回对象的数据类型(dtype). 3 empty 如果系列为空,则返回True. ...
- flutter 底部按钮切换页面
界面如图: 我们就从上节里面的app.dartt修改 目录:lib lib/story 其它两个目录一样. 图片配置一下 app.dart import 'package:flutter/materi ...
- String 相关
1. 输出结果为 true,"hello" + 1 在编译期间就被优化成了 "hello1",因此在运行期间,变量 a 和变量 b 指向的是同一个对象 Stri ...
- Oracle 生成Guid;Oracle 生成多个Guid;Oracle 生成带''-"的Guid
Oracle 生成Guid select sys_guid() from dual Oracle 生成多个Guid Oracle 生成带''-"的Guid , ) , ) || '-' || ...
- ubuntu安装后环境配置
首先实现能够连接外网,宿主机和虚拟机能ping通 进行smb的配置,能实现pytty的远程连接. 首先apt-get update 安装ssh apt-get install ssh 打开ssh服务 ...
- ASP.NET 实现PDF文件下载[转]
本文介绍了一种在ASP.NET中下载文件的方法.方法一:可能是最简单的.最短的方式: 1 Response.ContentType = "application/pdf"; 2 R ...
- 服务器硬盘--SAS盘和SATA盘
一.SAS和SATA SATA: Serial Advanced Technology Attachment,又叫串口硬盘,是将主机总线适配器连接到硬盘的总线接口. SAS: Serial Attac ...
- 整合MVC实现文件上传
1.整合MVC实现文件上传整合MVC实现文件上传在实际的开发中在实现文件上传的同时肯定还有其他信息需要保存到数据库,文件上传完毕之后需要将提交的基本信息插入数据库,那么我们来实现这个操作.整个MVC实 ...
- Tensorflow卷积神经网络[转]
Tensorflow卷积神经网络 卷积神经网络(Convolutional Neural Network, CNN)是一种前馈神经网络, 在计算机视觉等领域被广泛应用. 本文将简单介绍其原理并分析Te ...
- redis伪集群脚本
#安装redis伪集群脚本,先把redis-..gem及启动脚本放在/data1/redis-cluster目录下,然后执行该脚本即可 #!/bin/bash set -e #获取redis本机ip ...