mybatis update返回值_MyBatis绑定接口、动态sql

mybatis-config.xml的配置内容和顺序如下(顺序不能乱):

的作用

用于给 java 类型定义别名, 方便在配置文件中使用.

6a20a1e92a81d46bfc726bc2ec9de394.png

parameterTyped

  1. 如果执行的是条件查询, 需要在调用方法时传参数进来, 此
  2. 时, 可以在select标签中通过parameterType属性指定参数
  3. 的类型. 而在 SQL 语句中, 可以通过#{}的方式获取参数.

a3d4a3ec01d50a082e8e20b57afb3f50.png

MyBatis中如何管理事务

  • MyBatis 中配置了事务管理器, type 属性设置为 JDBC.
  • 表示 MyBatis 采用和原生 JDBC 相同的事务管理机制.
  • 在 MyBatis 执行的开始时, 将自动提交功能关闭了. 所以,在执行 DML 操作时, 需要手动提交事务.

918f2b92a00b9607717ce7ad5881cbfc.png

增删改标签没有resultType属性

由于DML 操作的返回值都是 int 类型, 所以, 不需要定义resultType 属性.

MyBatis接口绑定方案

MyBatis 会自动将接口和 xml 文件进行绑定. 根据接口和对应的 xml 文件创建接口的实现类.就是可以得到接口类型的对象, 方便方法的调用.

接口绑定的实现需要满足四个一致:

  1. namespace与接口的全限定类名保存一致
  2. statement的id 与接口的方法名保存一致
  3. resultType的类型与接口中形参的类型保存一致
  4. resultType的类型与接口中当前当前方法所映射的对象类型保存一致

@Param注解

  • 参数中使用@Param 注解为参数取别名用于sql语句中

MyBatis中#{}和${}的区别

  1. #{}表示占位符?,#{}接收简单类型的参数时,里面的名称可以任意
  2. ${}表示拼接符,${}接收简单类型的参数时,里面的名称必须是value
  3. ${}里面的值会原样输出,不加解析(如果该参数值是字符串,有不会添加引号)
  4. ${}存在sql注入的风险,但是有些场景下必须使用,比如排序后面会动态传入排序的列名

MyBatis的动态SQL概述

  • 根据条件的不同, SQL 语句也会随之动态的改变
  • 常用的动态标签有:
  • <if>
  • 用于进行条件判断, test 属性用于指定判断条件.
  • <where>
  • 用于管理 where 子句. 有如下功能:
  1. 如果没有条件, 不会生成 where 关键字
  2. 如果有条件, 会自动添加 where 关键字
  3. 如果第一个条件中有 and, 去除之
  • <set>
  • 用于维护 update 语句中的 set 子句. 功能如下:
  1. 满足条件时, 会自动添加 set 关键字
  2. 会去除 set 子句中多余的逗号
  3. 不满足条件时, 不会生成 set 关键字
  • <choose><when><otherwise>
  • 功能类似于 switch...case...

200d5d02a0284c7b21feec56f9778a89.png
  • <trim>

用于在前后添加或删除一些内容

  1. prefix, 在前面添加内容
  2. prefixOverrides, 从前面去除内容
  3. suffix, 向后面添加内容
  4. suffixOverrides, 从后面去除内容

95baf0f47cc5ec63d091276d459c79a9.png
  • <bind>
  • 用于对数据进行再加工, 用于模糊查询

1452b25ea3475753bfdc298e46d40e80.png
  • <foreach>
  • 用于在 SQL 语句中遍历集合参数, 在 in 查询中使用,其中各个参数含义
  1. collection: 待遍历的集合
  2. open: 设置开始符号
  3. item: 迭代变量
  4. separator: 项目分隔符
  5. close: 设置结束符号

d06051d36ff5ffff2530fc46073ff440.png
  • <sql>
  • 用于提取 SQL 语句

ddee8063449c0a51276457ff81eb4cae.png
  • <include>
  • 用于引用 SQL 语句

38e08846fe3f499cd8192a814e857977.png

mybatis-config.xml的配置内容和顺序如下(顺序不能乱):

  1. properties(属性)用于配置属性信息
  2. settings(全局参数设置)用于配置MyBatis的运行时方式
  3. typeAliases(类型别名)配置类型别名,可以在xml中用别名取代全限定名
  4. typeHandlers(类型处理器)配置类型处理器
  5. objectFactory(对象工厂)
  6. plugins(插件)配置拦截器,用于拦截sql语句的执行
  7. environments(环境信息集合)
  8. environment(单个环境信息)配置数据源信息、连接池、事务属性等
  9. transactionManager(事务)
  10. dataSource(数据源)
  11. mappers(映射器)配置SQL映射文件
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值