MyBatis知识点笔记

简介: MyBatis知识点笔记

mybatis mapper-locations的作用?

mapper接口与mapper接口对应的配置文件进行一个绑定 如果没有绑定会报错 无效的绑定语句 未


找到 配置扫描路径


classpath:mapper/*.xml

classpath就是resources *是通配符所有的xml文件


5b905e478e454f86981f42ac02911b71.png

mybatis configuration log-impl 作用?

mybatis:

 configuration:

   log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

就可以将sql打印在控制台

resultType和resultMap的区别?

resultType只要数据库和实体类字段名一样就能查询到数据 但是如果字段名不一样 就会导致有些字段名为null 映射不上

resultMap可以解决数据库表的字段名和实体类属性名不一致的问题

a3b1620d9ce247d5a97e43ed03be61b9.png

参数 useGeneratedKeys ,keyColumn,keyProperty作用和用法

在使用mybatis的时候 我们插入数据 我们希望返回主键id 以便后面使用 正常情况是不可能返回的

我们必须要告诉mybatis 并不是返回的是主键 而是将主键的值写入到我们配置的keyProperty

<!-- useGeneratedKeys 插入后返回主键 keyColumn指定数据库主键 
keyProperty指定在Java 实体类中对应的主键 -->
  <insert id="inertPojo" useGeneratedKeys="true" keyColumn="pojo_id" keyProperty="Pojo">
    <!-- 或者直接不显示的写key(主键) -->
    insert into tb_pojo(key, param1, param2, ...)
    values
    (null, #{param1}, #{param2}, ...)
  </insert>

取值方式#和$区别

#传入的参数在SQL中显示为字符串,$传入的参数在SqL中直接显示为传入的值.

#方式能够很大程度防止sql注入,$方式无法防止Sql注入;

动态标签有哪些

MyBatis提供了9种动态SQL标签:trim、where、set、foreach、if、choose、when、otherwise、bind;

MyBatis常用注解有哪些

@Select 查询


@Insert 插入


@Update 修改


@Delete 删除


@Results和@Result 实体类和数据库字段名称不一样时 使用他们来隐射


@Options 添加属性useGeneratedKeys = true和keyProperty = "id"即可在数据添加后获取添加数据的ID值。


@ResultMap 注解就一个作用,使用已经定义好的@Results或XML配置里已经写好的resultMap。

@One,用于一对一的关系映射

@Many,用于一对多的关系映射

@SelectKey 返回自增id

注解里直接用动态标签为什么报错

要加上script标签 成为脚本sql

注解方式新增数据后如何回填主键ID值

使用@Options 添加属性useGeneratedKeys = truekeyProperty = "id"即可在数据添加后获取

添加数据的ID值。

同一个方法能否既用注解方式又用XML方式

不能  只能在注解和xml方式二选一






相关文章
|
6天前
|
Java 关系型数据库 数据库连接
MyBatis-Plus全套笔记一
MyBatis-Plus全套笔记一
|
6月前
|
SQL Java 数据库连接
[推荐] MyBatis框架初学笔记-为之后拾遗
[推荐] MyBatis框架初学笔记-为之后拾遗
40 0
|
9月前
|
SQL 存储 缓存
MyBatis 学习心得笔记
MyBatis 学习心得笔记
65 0
|
11月前
|
SQL 存储 缓存
|
11月前
|
SQL 存储 Java
|
11月前
|
SQL Java 关系型数据库
|
12月前
|
SQL XML 存储
Mybatis知识点总结
Mybatis知识点总结
158 0
|
12月前
|
SQL Java 数据库连接
MyBatis 小知识点补充(#{} 和 ${})
MyBatis 小知识点补充(#{} 和 ${})
54 0
|
SQL XML Java
(一)Mybatis-plus(MP)中CRUD操作保姆级笔记
🍅 Java学习路线:搬砖工的Java学习路线 🍅 作者:程序员小王 🍅 程序员小王的博客:https://www.wolai.com/wnaghengjie/ahNwvAUPG2Hb1Sy7Z8waaF 🍅 扫描主页左侧二维码,加我微信 一起学习、一起进步 🍅 欢迎点赞 👍 收藏 ⭐留言 📝 🍅 如有编辑错误联系作者,如果有比较好的文章欢迎分享给我,我会取其精华去其糟粕
334 0
(一)Mybatis-plus(MP)中CRUD操作保姆级笔记
|
SQL 缓存 Java
Mybatis核心知识点整理,常见面试题总结必备!
Mybatis核心知识点整理,面试必备! 🍅 Java学习路线:搬砖工的Java学习路线 🍅 作者:程序员小王 🍅 程序员小王的博客:https://www.wolai.com/wnaghengjie/ahNwvAUPG2Hb1Sy7Z8waaF 🍅 扫描主页左侧二维码,加我微信 一起学习、一起进步 🍅 欢迎点赞 👍 收藏 ⭐留言 📝
188 0
Mybatis核心知识点整理,常见面试题总结必备!