博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mybatis插件篇之generator快速生成实体类以及其文件详解
阅读量:3959 次
发布时间:2019-05-24

本文共 2896 字,大约阅读时间需要 9 分钟。

实体类等文件的生成

在进行开发的过程中,在建好数据库数据表之后,我们还需要自己去对实体类、Mapper、Xml等文件进行编码,在这里Mybatis提供了一个generator插件,可以帮我们快速生成这些文件,节约时间。

首先我们需要在pom.xml文件当中进行导入这个插件的依赖。

在这里插入图片描述
代码段如下所示:添加依赖,进行导入到maven,等待导入完成即可。

org.mybatis.generator
mybatis-generator-maven-plugin
1.3.2
mysql
mysql-connector-java
5.1.44
true

依赖添加完成之后,我们在resources下新建一个generatorConfig.xml文件

需要修改的地方

  1. classPathEntry标签当中的location属性指向自己本机的mysql驱动的jar包文件
  2. jdbcConnection标签:本地的mysql数据库的配置(数据库名、账号、密码)
  3. 最后面的table标签,指定需要生成的表。
PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">

最后在idea右侧打开maven,双击运行一下这个插件就可以生成对应的文件了。

在这里插入图片描述
UPDATE详解
updateByExample

传入一个对象,将整条数据都更新,如果对象中没有值的属性,就自动设置为null,如下:

在这里插入图片描述
传入的参数是一个map数据类型,而且在执行sql语句时的set每一列都会发生改变,所以在前台传递过来的数据有些列的数据不存在则会被置为空,并且可以在后面加上where条件查询。

Mapper文件当中的方法调用:简单来说,在update更新操作,第一个参数需要传递一个更新的对象也就是实体类,第二个参数看xml当中的接口是否包含了where条件,包含了再加一个参数Example类对象作为where条件即可。

int updateByExample(@Param("record") OvertimemealTaxiregistration record, @Param("example") OvertimemealTaxiregistrationExample example);

updateByExampleSelective

将一行中某几个属性更新,而不改变其他的值

参数详解

xxxMapper.updateByExampleSelective(参数一,参数二);

参数1:这个参数是让传入一个对象,就是你要修改的那条数据所对应的对象,有人肯定要问了,如果要将整个对象传进来那为什么不直接用updateByExample,这个不是更加方便吗?
解释:这里的对象可以里面可以只有一个参数,其他都为null,但是当更新的时候,只会更新有属性的那一列,其他列之前是什么样,现在还是什么样子,不会去修改

参数2:传入xxxExample就可以

在mapper当中进行定义的时候需要加上@Param,定义如下:

int updateByExampleSelective(@Param("record") OvertimemealTaxiregistration overtime ,@Param("example") OvertimemealTaxiregistrationExample example);

注意在使用的时候,参数对应,简单来说就是第一个参数对应的是更新的对象,第二个参数对应的是where条件。

updateByPrimaryKeySelective

对字段进行判断再更新(如果为Null就忽略更新),如果你只想更新某一字段,可以用这个方法。可以看到xml文件当中的sql语句。

在这里插入图片描述
传入一个实体类对象,对其进行判断是否为空,为空将不进行更新,且在最后面还可以加上一个where条件查询(根据主键)这里主键是id。

Mapper当中对应的方法定义,在这里只需要传递一个实体类即可,因为后续的where条件也是根据这个实体类对象得到的。

int updateByPrimaryKeySelective(OvertimemealTaxiregistration record);

updateByPrimaryKey

这个方法和上一个方法的区别是:对你注入的字段全部更新,且可以根据id(主键)进行更新操作。

在这里插入图片描述

这里的Mapper对应方法传递的参数与上一个方法一致。

int updateByPrimaryKey(OvertimemealTaxiregistrationExample record);

select、insert、delete详解

在上面介绍了update更新的接口,在后面的select、insert、delete方法与这个update同理,只需要注意传递给sql语句的是实体类还是where子条件。

其中关于实体Example这个类。可以去看一下Criteria这个类的代码。

总结下来就是我们可以通过这个类给特定的属性进行where查询。如下代码demo所示:()

转载地址:http://xkqzi.baihongyu.com/

你可能感兴趣的文章
谈谈序列化—实体bean一定要实现Serializable接口?
查看>>
实用小技巧之电脑如何滚动截屏/截取长图
查看>>
Eclipse离线安装Java Decompiler插件
查看>>
Http预请求options
查看>>
未来设计师的工作模式?从室内设计领域的实时设计说起 | Mixlab趋势
查看>>
智能设计 | MixAI 知识库 No.69
查看>>
通过研究微信文章的相关推荐逻辑 ,尝试生成指南| Mixlab设计黑客
查看>>
浏览器低成本实现免手提的用户体验,使用人脸、手势、姿态追踪 | Mix群聊
查看>>
这个世界上肯定有另一个我,做着我不敢做的事,过着我想过的生活 | MixAI 知识库 No.70...
查看>>
表情包数据挖掘 | Mix群聊
查看>>
如何阅读科研论文
查看>>
理解本真的REST架构风格
查看>>
10款免费且开源的项目管理工具
查看>>
java调用javascript :js引擎rhino
查看>>
asp 中常用的文件处理函数
查看>>
ADO中sqlserver存储过程使用
查看>>
Linux KernelTech版FAQ 1.0
查看>>
ntfs分区iis故障的解决
查看>>
个人创业“六大死穴”
查看>>
最重要的 12个 J2EE 最佳实践
查看>>