您现在的位置是:网站首页 > 代码编程 > JAVA开发JAVA开发
【原】mybatis-generator代码自动生成插件的使用图文教程
不忘初心 2019-03-01 围观() 评论() 点赞() 【JAVA开发】
简介:工作中用到的两个主流orm映射框架:hibernate、mybatis,刚毕业那段时间,一直用的都是hibernate,毕竟不用写sql了,当时用的是不亦乐乎,可是后来慢慢发现,这个框架还是无法做到足够精细化的查询,也就是说还是要写sql,果断放弃之,逐渐的转向了mybatis,用着用着也不是很爽了,为什么?一些复杂的sql自己写写也就算了,可是碰到一些基本的增删改查,这些都需要自己手动来写,这就
工作中用到的两个主流orm映射框架:hibernate、mybatis,刚毕业那段时间,一直用的都是hibernate,毕竟不用写sql了,当时用的是不亦乐乎,可是后来慢慢发现,这个框架还是无法做到足够精细化的查询,也就是说还是要写sql,果断放弃之,逐渐的转向了mybatis,用着用着也不是很爽了,为什么?
一些复杂的sql自己写写也就算了,可是碰到一些基本的增删改查,这些都需要自己手动来写,这就不是很开心了。
毕竟像我这样的懒人还是多,很早的时候,就有前辈们写出了一个maven插件来决绝这个问题了,它就是今天要讲的工具:mybatis-generator,使用起来也非常的简便。
先给大家看一下本文案例中的工程目录结构:
复制mybatis-generator配置文件,修改jar包地址和数据源
<?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>
<!--指定特定数据库的jdbc驱动jar包的位置 -->
<classPathEntry location="D:\Program Files\Apache\maven-3.5.3\repository\mysql\mysql-connector-java\5.1.34\mysql-connector-java-5.1.34.jar"/>
<context id="default" targetRuntime="MyBatis3" defaultModelType="flat">
<!-- 可选,旨在创建class时,对注释进行控制 -->
<commentGenerator>
<property name="suppressDate" value="true"/>
<property name="suppressAllComments" value="true"/>
</commentGenerator>
<!-- 配置数据源 -->
<jdbcConnection driverClass="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql://localhost:3306/test"
userId="test"
password="test">
</jdbcConnection>
<!-- 非必需,类型处理器,在数据库类型和java类型之间的转换控制-->
<javaTypeResolver>
<property name="forceBigDecimals" value="false"/>
</javaTypeResolver>
<!--生成Entity类存放位置-->
<javaModelGenerator targetPackage="com.wolffy.reader.entity" targetProject="src/main/java">
<property name="enableSubPackages" value="true"/>
<property name="trimStrings" value="true"/>
</javaModelGenerator>
<!--生成Mapper文件存放位置-->
<sqlMapGenerator targetPackage="mybatis.mapper" targetProject="src/main/resources">
<property name="enableSubPackages" value="true"/>
</sqlMapGenerator>
<!--生成Dao类存放位置-->
<javaClientGenerator targetPackage="com.wolffy.reader.mapper" targetProject="src/main/java" type="XMLMAPPER">
<property name="enableSubPackages" value="true"/>
</javaClientGenerator>
<!--生成对应表及类名-->
<table tableName="config" domainObjectName="Config" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"/>
<!--进入项目根目录执行:mvn mybatis-generator:generate -->
</context>
</generatorConfiguration>
在pom.xml文件中引入插件
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<configuration>
<configurationFile>${basedir}/src/main/resources/mybatis/generatorConfig.xml</configurationFile>
<verbose>true</verbose>
<overwrite>true</overwrite>
</configuration>
</plugin>
进入项目的根目录,执行命令:mvn mybatis-generator:generate
就以第一步中的案例来操作,自动生成config信息:Config.java、ConfigMapper.xml、ConfigMapper.java
大家注意到红色框下面有两行Warning信息,大概是说文件已存在,对,没错,因为我这个文件之前已经生成了,我写文章的时候又再次执行了,此时会怎么办呢?截图太长了,我把最后的一点儿日志复制出来
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building reader 0.0.1-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- mybatis-generator-maven-plugin:1.3.7:generate (default-cli) @ reader ---
[INFO] Connecting to the Database
[INFO] Introspecting table config
[INFO] Generating Record class for table config
[INFO] Generating Mapper Interface for table config
[INFO] Generating SQL Map for table config
[INFO] Saving file ConfigMapper.xml
[INFO] Saving file Config.java
[INFO] Saving file ConfigMapper.java
[WARNING] Existing file E:\workspace2\reader_v2\src\main\java\com\wolffy\reader\entity\Config.java was overwritten
[WARNING] Existing file E:\workspace2\reader_v2\src\main\java\com\wolffy\reader\mapper\ConfigMapper.java was overwritten
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 3.155 s
[INFO] Finished at: 2019-03-04T21:52:13+08:00
[INFO] Final Memory: 26M/272M
[INFO] ------------------------------------------------------------------------
可以看到,默认是直接覆盖掉了,所以大家在执行命令的时候,一定要查看一下,是否已经有重复文件了。
再去查看一下生成的文件ConfigMapper.java
public interface ConfigMapper {
int deleteByPrimaryKey(Long id);
int insert(Config record);
int insertSelective(Config record);
Config selectByPrimaryKey(Long id);
int updateByPrimaryKeySelective(Config record);
int updateByPrimaryKey(Config record);
}
基本的增删改查已经有了,在这里就不一一复制了,大家可以自己去尝试。
并没什么复杂的配置,上手非常快,兼容性也还不错,我测试过很多类型的项目,不管是springmvc、springboot、ssh、ssm等等,只要maven环境没问题,基本上都可以用。
唯一美中不足的地方(最起码我没有找到),不能批量生成,只能单个执行,如果数据库的表比较多时,就有点儿不好玩了,不过再怎么繁琐,也还是比之前手动写增删改查要轻松得多!
看完文章,有任何疑问,请加入群聊一起交流!!!
很赞哦! ()
相关文章
- 使用mybatis-generator自动生成mapper失败
- IntelliJ IDEA 2024.2发布之后强推新UI,如何恢复老的经典UI界面
- Uninstall hasn't detected folder of intelli] lDEA installation. Probablyuninstall.exe was moved from the installation folder.
- 公众号CPS变现新宠:微赚淘客查券返利机器人,开启智能省钱赚钱新时代
- 高返利优惠券公众号推荐
- 返利公众号可信吗安全吗?返利机器人哪个佣金高?
- 唯品会购物返利公众号大揭秘:哪些真正好用的返利公众号?
- 饿了么优惠券免费领取:哪些公众号值得推荐?
- 哪些有用可靠的微信公众号能领淘宝优惠券?
- 微信返利最高的微信号推荐——让你的购物更加实惠!
标签云
猜你喜欢
- IntelliJ IDEA 2019.2已经可以利用补丁永久破解激活了
- IntelliJ IDEA 2019.3利用补丁永久破解激活教程
- IntelliJ IDEA高版本最灵活的永久破解激活方法(含插件激活,时长你说了算)
- Jetbrains全家桶基于ja-netfilter的最新破解激活详细图文教程
- IntelliJ IDEA 2022.1永久破解激活教程(亲测可用,持续更新)
- 分享几个正版 IntelliJ IDEA 激活码(破解码、注册码),亲测可用,持续更新
- ja-netfilter到底需不需要mymap,2021.3.2版本激活失效?
- 如何激活idea2022.1及以上版本中的插件(亲测可用)
- 【史上最全】IntelliJ IDEA最新2022.1版本安装和激活视频教学(含插件)
- IntelliJ IDEA 2022.2 版本最新2099年永久激活方法,亲测可用,也可以开启新UI了。
站点信息
- 网站程序:spring + freemarker
- 主题模板:《今夕何夕》
- 文章统计:篇文章
- 标签管理:标签云
- 微信公众号:扫描二维码,关注我们