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 ...
随机推荐
- Logic and Proofs--离散数学
Propositions: A proposition is a declarative sentence(that is, a sentence that declares a fact ) tha ...
- js 合并多行表格
最近在整理之前的工作记录,有很多信息是借鉴他人,亲测有效的,遗憾的是当初记录时没有留下来源,如侵权请联系fourOfour@163.com. 1.autoRowSpan函数的第一个参数是table的i ...
- SpringBoot 配置文件 中文乱码
本方案,支持springboot 很简单 在配置文件中不写中文,写中文的ascll码 直接百度在线转ASCII,用工具 把中文转ASCII码==>\u628a\u4e2d\u6587\u8f6c ...
- SAS 读取指定目录下文件列表宏
OPTIONS PS=MAX LS=MAX NOCENTER SASMSTORE=SASUSER MSTORED MAUTOSOURCE;/*获取指定文件夹的指定类型的所有文件*/%MACRO GET ...
- Specified key was too long; max key length is 767 bytes解决方案
问题描述: 1. 使用spark sql处理数据逻辑,逻辑处理后使用 df.write.mode(saveMode).jdbc(url, tableName, connectionPropertie ...
- SLES Install
SUSE Linux Enterprise Server 12-SP3:zypper in -t patch SUSE-SLE-SERVER-12-SP3-2017-2036=1 To bring y ...
- Tomcat版本对照表
导入程序前环境要先配好,环境要想配的正确,版本信息一定要了解. Tomcat版本 6.0 7.0 8.0 8.5 9.0 JDK ≥5.0 ≥6.0 ≥7.0 ≥7.0 ...
- 关于vue
render:(h)=>h(App):声明App组件的内容 挂载到节点 const root=document.createElement("div")document.bo ...
- mybatis映射文件#与$的使用,及参数传入规则
mybaits映射文件中使用#与$场景: <select id="getProviders" resultType="com.lazy.bill.pojo.Prov ...
- js和jQuery的互相转换
//jQuery => DOM对象 var a=$(“#id”) var b=document.getElementById(“id”) var c=a[0] 或 var c=a.get(0) ...