网站开发设计师培训/注册网址

网站开发设计师培训,注册网址,重庆公司注册代理,aspcms漏洞一、简介 1.1 MyBatis Generator介绍 MyBatis Generator 是MyBatis 官方出品的一款,用来自动生成MyBatis的 mapper、dao、entity 的框架,让我们省去规律性最强的一部分最基础的代码编写。 1.2 MyBatis Generator使用 MyBatis Generator的使用方式有4…

一、简介

1.1 MyBatis Generator介绍

MyBatis Generator 是MyBatis 官方出品的一款,用来自动生成MyBatis的 mapper、dao、entity 的框架,让我们省去规律性最强的一部分最基础的代码编写。

1.2 MyBatis Generator使用

MyBatis Generator的使用方式有4种:

  • 命令行生成
  • Maven方式生成
  • 使用Ant任务生成
  • 使用Java代码生成

其中推荐使用Maven方式进行代码生成,因为集成和使用比较简单。

1.3 开发环境

MySQL:8.0.12

MyBatis Generator:1.3.7

Maven:4.0

IDEA:2018.2

二、代码自动生成配置

上面介绍了使用MyBatis Generator的几种方式,其中最推荐使用的是Maven方式,所以下面我们来看Maven方式的MyBatis代码生成,分为四步:

Step1:添加依赖

配置pom.xml文件,增加依赖和配置生成文件(“generatorConfig.xml”)路径:

<plugin><groupId>org.mybatis.generator</groupId><artifactId>mybatis-generator-maven-plugin</artifactId><version>1.3.7</version><dependencies><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.12</version></dependency><dependency><groupId>org.mybatis.generator</groupId><artifactId>mybatis-generator-core</artifactId><version>1.3.7</version></dependency></dependencies><executions><execution><id>Generate MyBatis Artifacts</id><phase>package</phase><goals><goal>generate</goal></goals></execution></executions><configuration><!--允许移动生成的文件 --><verbose>true</verbose><!-- 是否覆盖 --><overwrite>true</overwrite><!-- 自动生成的配置 --><configurationFile>generatorConfig.xml</configurationFile></configuration>
</plugin>

Step2:添加配置文件

根据上面在pom里的配置,我们需要添加generatorConfig.xml在项目的根目录:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE generatorConfigurationPUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN""http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
<generatorConfiguration><!--加载配置文件,为下面读取数据库信息准备--><properties resource="application.properties"/><!--defaultModelType="flat" 大数据字段,不分表 --><context id="Mysql" targetRuntime="MyBatis3Simple" defaultModelType="flat"><property name="autoDelimitKeywords" value="true" /><property name="beginningDelimiter" value="`" /><property name="endingDelimiter" value="`" /><property name="javaFileEncoding" value="utf-8" /><plugin type="org.mybatis.generator.plugins.SerializablePlugin" /><plugin type="org.mybatis.generator.plugins.ToStringPlugin" /><!-- 注释 --><commentGenerator ><property name="suppressAllComments" value="true"/><!-- 是否取消注释 --><property name="suppressDate" value="true" /> <!-- 是否生成注释代时间戳--></commentGenerator><!--数据库链接地址账号密码--><jdbcConnection driverClass="${spring.datasource.driver-class-name}"connectionURL="${spring.datasource.url}"userId="${spring.datasource.username}"password="${spring.datasource.password}"></jdbcConnection><!-- 类型转换 --><javaTypeResolver><!-- 是否使用bigDecimal, false可自动转化以下类型(Long, Integer, Short, etc.) --><property name="forceBigDecimals" value="false"/></javaTypeResolver><!--生成Model类存放位置--><javaModelGenerator targetPackage="com.hello.springboot.entity" targetProject="src/main/java"><property name="enableSubPackages" value="true"/><property name="trimStrings" value="true"/></javaModelGenerator><!-- 生成mapxml文件 --><sqlMapGenerator targetPackage="mapper" targetProject="src/main/resources/mybatis" ><property name="enableSubPackages" value="false" /></sqlMapGenerator><!-- 生成mapxml对应client,也就是接口dao --><javaClientGenerator targetPackage="com.hello.springboot.dao" targetProject="src/main/java" type="XMLMAPPER" ><property name="enableSubPackages" value="false" /></javaClientGenerator><table tableName="article" enableCountByExample="true" enableUpdateByExample="true" enableDeleteByExample="true" enableSelectByExample="true" selectByExampleQueryId="true"><generatedKey column="id" sqlStatement="Mysql" identity="true" /></table><table tableName="user_log" enableCountByExample="true" enableUpdateByExample="true" enableDeleteByExample="true" enableSelectByExample="true" selectByExampleQueryId="true"><generatedKey column="id" sqlStatement="Mysql" identity="true" /></table></context>
</generatorConfiguration>

其中数据库连接的配置,是从application.properties直接读取的。

Step3:配置全局属性文件

全局属性文件application.properties的配置,和Spring Boot增加MyBatis的配置是一样的,如果你的Spring Boot项目里面已经配置了MyBatis支持,请忽略此步骤。

# MyBatis 配置
spring.datasource.url=jdbc:mysql://172.16.10.79:3306/mytestdb?serverTimezone=UTC&useSSL=false&allowPublicKeyRetrieval=true
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
mybatis.type-aliases-package=com.hello.springboot.mapper
mybatis.config-locations=classpath:mybatis/mybatis-config.xml
mybatis.mapper-locations=classpath:mybatis/mapper/*.xml

注意: MySQL 6以后JDBC的配置就不一样了,参照如上MySQL 8的配置。

Step4:点击Maven生成代码

如果你使用的是IDEA,点击最右侧的Maven Projects => 点击mybatis-generator => 右键mybatis-generator:generate => Run Maven Build,如下图所示:

正常控制台输出“BUILD SUCCESS”说明生成已经成功了,如果出现错误,根据错误提示信息排除处理错误即可。

MyBatis Generator 示例源码:https://github.com/vipstone/springboot-example/tree/master/springboot-mybatis-xml

三、安装IDEA插件

如果你使用的是 IDEA,那么强烈建议你安装一款免费的IDEA插件“Free MyBatis plugin”,可以实现dao到mapper xml对应方法的快速映射,点击任意一个快速调整到相应的方法,提高工作效率,效果如下图所示:

点击绿色的箭头直接跳转到了mapper xml对应的方法了,如下图所示:

可以相互点击,进行对应的跳转。

安装步骤

  • 点击菜单栏Flie => Settings
  • 点击Browse repostitories…
  • 输入“Free MyBatis plugin”查找插件
  • 点击安装,重启IDEA

关键步骤的截图如下:

四、总结

使用了MyBatis Generator可以帮我们自动生成实体类,和5个最基础的方法,大大的提高我们的工作效率,用户只需要按需写自己独有的一些业务即可。同时增加“Free MyBatis plugin”插件,可以很方便的帮我们开发和调试代码,真是实实在在的福利。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/546869.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Android 性能优化提示

原文 http://developer.android.com/guide/practices/design/performance.html 性能优化 Android应用程序运行的移动设备受限于其运算能力&#xff0c;存储空间&#xff0c;及电池续航。由此&#xff0c;它必须是高效的。电池续航可能是一个促使你优化程序的原因&#xff0c;即…

全志A20 刷入Ubuntu/Debian Linux固件 亲测能用

测试盒子&#xff1a;小美盒子&#xff08;好像是杂牌的&#xff09; 有疑问交流可以加微信&#xff1a;1755337994 PCB板号&#xff1a;RM-MPEG-107G VER1.0 20140422 用PhoenixUSBPro刷入就行&#xff0c;要刷500多秒&#xff0c;5124G版本的配置刷完Debian系统里面看还剩1…

Spring Boot (八)MyBatis + Docker + MongoDB 4.x

一、MongoDB简介 1.1 MongoDB介绍 MongoDB是一个强大、灵活&#xff0c;且易于扩展的通用型数据库。MongoDB是C编写的文档型数据库&#xff0c;有着丰富的关系型数据库的功能&#xff0c;并在4.0之后添加了事务支持。 随着存储数据量不断的增加&#xff0c;开发者面临一个困…

树莓派3B+安装Android 10系统

Android Things 作为 Google 旗下的一款操作系统 (OS)&#xff0c;能够帮助开发者规模化开发和维护物联网设备。同时推出的 Android Things 控制台 (Android Things Console) 更是将简化产品开发推向极致&#xff0c;帮助开发者定期获取 Google 最新稳定性修复包以及安全升级包…

Ubuntu下安装配置VIM/GVIM(GUI-Vim)

安装命令&#xff1a; sudo apt-get install vim sudo apt-get install vim-gtk 配置&#xff1a; 打开.vimrc文件 vim ~/.vimrc在当前用户的./vimrc文件中添加如下代码&#xff0c;保存 set ai set smarttab set tabstop4 set shiftwidth4 set expandtab set nu set guif…

Spring Boot(九)Swagger2自动生成接口文档和Mock模拟数据

一、简介 在当下这个前后端分离的技术趋势下&#xff0c;前端工程师过度依赖后端工程师的接口和数据&#xff0c;给开发带来了两大问题&#xff1a; 问题一、后端接口查看难&#xff1a;要怎么调用&#xff1f;参数怎么传递&#xff1f;有几个参数&#xff1f;参数都代表什么含…

viewDidLoad等相关函数调用

viewDidLoad 此方法只有当view从nib文件初始化的时候才被调用。viewDidLoad用于初始化&#xff0c;加载时用到的。 loadView 此方法在控制器的view为nil的时候被调用。虽然经常说loadView是使用代码生成视图的时候&#xff0c;当视图第一次载入的时候调用的方法。用于使用&…

下一站,上岸@24考研er

时间过的好快&#xff0c; 考研倒计时①天 去年这个时候&#xff0c; 我应该也是充满未知地进入即将来到的考研初试 去年&#xff0c;这个时候&#xff0c;疫情&#x1f637;刚刚放开 许多人都&#x1f411;&#xff0c;发烧&#xff0c;可幸的是我受影响不大 &#x1f3…

ubuntu20.10创建QT应用程序快捷方式 Terminal中输入命令直接打开QtCreator

在Terminal中直接输入命令就能打开QtCreator&#xff0c; i.e. ~$ qtcreator就可以打开Qt Creator了。 想完成这个功能的原因是&#xff0c;一般在Linux下打命令比较方便&#xff0c;而师兄给下来的这个环境(已经打包成虚拟机&#xff0c;配置好了开发环境)&#xff0c;需要自…

NVIDIA Jetson Nano B01 安装Ubuntu 18.04.3 LTS

几乎完美安装&#xff01; NVIDIA Jetson Nano B01 Ubuntu 18.04.3 LTS 的 ROS 安装和菜鸟的踩坑记录 NVIDIA Jetson Nano B01技术规格Ubuntu 定制系统的安装 烧录时的踩坑记录 SD卡格式SD卡安全信息烧录过程中的注意事项开始安装Ubuntu进入Ubuntu系统之后的一通折腾SSH的配置…

Spring Boot(十)Logback和Log4j2集成与日志发展史

一、简介 Java知名的日志有很多&#xff0c;比如&#xff1a;JUL、Log4j、JCL、SLF4J、Logback、Log4j2&#xff0c;那么这些日志框架之间有着怎样的关系&#xff1f;诞生的原因又是解决什么问题&#xff1f;下面一起来看。 1.1 JUL Java有自己的日志框架JUL&#xff08;Java…

Zabbix配置模板监控指定服务器主机

一、Zabbix监控指定服务器 第一里程&#xff1a;在指定服务器上安装zabbix客户端&#xff0c;即zabbix-agent 访问清华镜像站&#xff0c;找到zabbix-agent镜像 第一步 第二步 第三步 第四步 第五步 第六步 第七步 第八步&#xff1a;鼠标点击右键选择复…

Spring Boot(十一)Redis集成从Docker安装到分布式Session共享

一、简介 Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库&#xff0c;并提供多种语言的API&#xff0c;Redis也是技术领域使用最为广泛的存储中间件&#xff0c;它是「Remote Dictionary Service」首字母缩写&#xff0c;也就…

统计在从1到n的正整数中1出现的次数

问题&#xff1a; 给定一个十进制正整数N&#xff0c;写下从1开始&#xff0c;到N的所有整数&#xff0c;然后数一下其中出现的所有“1”的个数。 例如&#xff1a;N 2&#xff0c;写下1&#xff0c;2。这样只出现了1个“1”。 N 12&#xff0c;我们会写下1, 2, 3, 4, 5, 6, 7,…

Spark Streaming源码分析 – DStream

A Discretized Stream (DStream), the basic abstraction in Spark Streaming, is a continuous sequence of RDDs (of the same type) representing a continuous stream of data.Dstream本质就是离散化的stream&#xff0c;将stream离散化成一组RDD的list&#xff0c;所以基本…

PowerShell遍历文件夹下的子文件夹和文件

PowerShell遍历文件夹下的子文件夹和文件是一件很容易的事儿。Get-ChildItem这个cmdlet就有一个recurse参数是用于遍历文件夹的。 PowerShell中&#xff0c;使用Get-ChildItem来获取文件夹下面的子文件夹和文件&#xff08;当然&#xff0c;它的功能不仅于此&#xff09;。然后…

Spring Boot(十三)RabbitMQ安装与集成

一、前言 RabbitMQ是一个开源的消息代理软件&#xff08;面向消息的中间件&#xff09;&#xff0c;它的核心作用就是创建消息队列&#xff0c;异步接收和发送消息&#xff0c;MQ的全程是&#xff1a;Message Queue中文的意思是消息队列。 1.1 使用场景 削峰填谷&#xff1a;用…

C++ DNN Opencv3.4 实现人脸计数和人脸检测

前言 OpenCV 3.3正式发布后&#xff0c;对深度学习&#xff08;dnn模块&#xff09;提供了更好的支持&#xff0c;dnn模块目前支持Caffe、TensorFlow、Torch、PyTorch等深度学习框架。 另外&#xff0c;新版本中使用预训练深度学习模型的API同时兼容C和Python&#xff0c;让系…

C++ SVM Opencv3.4实现人脸检测

很通俗的来说&#xff0c;haar算法计算特征就是用一块区域内黑色的值减去白色的值。但是一张图片像素点是非常多的&#xff0c;如果用普通的方法去计算一块区域的值&#xff0c;效率相当低下。这里有一种加速计算的方法--积分图&#xff1a;定义如下&#xff1a;&#xff08;维…

Spring Boot(十四)RabbitMQ延迟队列

一、前言 延迟队列的使用场景&#xff1a;1.未按时支付的订单&#xff0c;30分钟过期之后取消订单&#xff1b;2.给活跃度比较低的用户间隔N天之后推送消息&#xff0c;提高活跃度&#xff1b;3.过1分钟给新注册会员的用户&#xff0c;发送注册邮件等。 实现延迟队列的方式有…