使用mybatis注解解放xml
我们以前写mybatis的dao的时候,基本上都是使用的xml文件来处理的。
xml相对来讲,一般的比较复杂点的单表还好点,但是简单的增删改查,使用xml就有点重了。
所以后来就出现了mybatis-plus之类的框架。
但是有些业务使用mybatis-plus在效率方面还是有点不太好看。
例如批量功能。
mybatis-plus的批量是一条条操作的。如果数据太大,可能就是个悲伤的故事。。。
如果要自己写,一般就使用dao,在xml中使用sql语句来实现。
操作流程:
1、先写个测试SQL;
update table set status=0
2、dao定义接口
Integer updateBatch();
3、找到对应的mapper xml文件,xml中写对应的sql映射块
<update id="updateBatch">update table set status=0
</update>
我们发现,这个方式下,我们需要修改dao和xml文件。
有没有更简单的实现呢?
这里推荐使用@Update注解。
直接在dao接口上面写就可以了。
@Update("update table set status=0")
Integer updateBatch();
这样就剩下了第3步了。xml文件也不用建了。后续查找的时候也不用去找xml文件了。
下面列下常用的XML注解
注解 | 说明 |
@Insert | 新增 |
@Delete | 删除 |
@Update | 更新 |
@Select | 查询 |
@Result | 结果集封装 |
@Results | 与@Result 一起使用,封装多个结果集 |
@ResultMap | 引用@Results 定义的封装 |
@One | 一对一结果集封装 |
@Many | 一对多结果集封装 |
@SelectProvider | 动态 SQL 映射 |
@CacheNamespace | 注解二级缓存的使用 |
使用mybatis注解解放xml相关推荐
- mybatis 注解和xml同时实现
一.pox文件引入mysql和mybatis <dependency><groupId>mysql</groupId><artifactId>mysql ...
- mybatis使用注解替代xml配置,动态生成Sql
mybatis使用注解替代xml配置时,遇到判断条件是否为null或者为空时,@Select很难搞定,不知道怎么办? mybatis3中增加了使用注解来配置Mapper的新特性,使用 SelectPr ...
- Mybatis注解配置与xml配置不能同时使用
错误信息 Error parsing SQL Mapper Configuration. Cause: java.lang.IllegalArgumentException: Mapped State ...
- Mybatis中注解和xml可以同时使用吗?
今天开始使用注解的方式写dao层的接口,注解比xml文件更加的方便,但是感觉不利于代码的维护,也不利于动态sql的书写,而且需要在全局配置文件中配置<mappers>标签,注解需要使用&l ...
- java xml快捷注释_详解SpringBoot 快速整合Mybatis(去XML化+注解进阶)
序言:使用MyBatis3提供的注解可以逐步取代XML,例如使用@Select注解直接编写SQL完成数据查询,使用@SelectProvider高级注解还可以编写动态SQL,以应对复杂的业务需求. 一 ...
- 博为峰JavaEE技术文章 ——MyBatis 注解
2019独角兽企业重金招聘Python工程师标准>>> 前面在介绍Mybatis时,我们都是使用mapper xml文件来配置SQL语句的.Mapper xml使用起来比较方便,但是 ...
- java 注解生成实例_Java 8 开发的 Mybatis 注解代码生成工具
MybatisAnnotationTools MybatisAnnotationTools 是基于 Java8 开发的一款可以用于自动化生成 MyBatis 注解类的工具,支持配置数据源.类路径,表名 ...
- mybatis注解详解
mybatis注解详解 首 先当然得下载mybatis-3.0.5.jar和mybatis-spring-1.0.1.jar两个JAR包,并放在WEB-INF的lib目录下 (如果你使用maven,则 ...
- 3、SpringBoot整合MyBatis注解版及配置文件版
目录 1.配置pom.xml 2.配置application.yml 3.配置DruidConfig关联yml的配置文件spring.datasource 4.创建数据库及数据库表结构 5.创建对应的 ...
最新文章
- 实体嵌入Entity Embedding及代码实现
- Python的隐藏功能
- golang 切片排序
- python break语句作用_Python
- 基于新版 node 的 vue 脚手架搭建
- Nginx 概述(2)
- 麦克纳姆轮全向移动机器人自旋转运动分析
- 高级软件工程第六次作业:东理三剑客团队作业-3
- 这次聊聊Promise对象
- 企业全面运营管理沙盘模拟心得_企业经营沙盘模拟心得体会
- matlab 多项式输入,MATLAB多项式
- 多种方法教你如何让手机免费上网
- php显示某年某月某日,C++_C++自定义函数判断某年某月某日是这一年中第几天,本文实例讲述了C++自定义函数 - phpStudy...
- Oracle之排序会影响rownum混乱的问题
- 驭势领读 | 《让大象飞》:资本寒冬正好能让市场回归理性
- 高德地图api调用demo_高德地图定位如何调用api?
- Tampermonkey谷歌浏览器插件
- matlab提取数据画图,matlab提取excel表格数据画图-如何将Excel中的数据导入MATLAB并在MATLAB中画出图......
- 一文搞定pandas的数据合并
- 4个方面入手 TiledMap 地图优化!W字干货分享