前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >MyBatis知识点笔记

MyBatis知识点笔记

作者头像
陶然同学
发布2023-02-24 11:45:43
4120
发布2023-02-24 11:45:43
举报
文章被收录于专栏:陶然同学博客

目录

mybatis mapper-locations的作用?

mybatis configuration log-impl 作用?

resultType和resultMap的区别?

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

取值方式#和$区别

动态标签有哪些

MyBatis常用注解有哪些

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

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

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

mybatis mapper-locations的作用?

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

找到 配置扫描路径 

代码语言:javascript
复制
classpath:mapper/*.xml

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

mybatis configuration log-impl 作用?

打印mysql日志 使用

代码语言:javascript
复制
mybatis:
  configuration:
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

就可以将sql打印在控制台

resultType和resultMap的区别?

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

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

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

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

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

代码语言:javascript
复制
<!-- 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 = truekeyProperty = "id"即可在数据添加后获取添加

数据的ID值。

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

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

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

@SelectKey 返回自增id

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

要加上script标签 成为脚本sql

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

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

添加数据的ID值。

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

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-01-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • mybatis mapper-locations的作用?
  • mybatis configuration log-impl 作用?
  • resultType和resultMap的区别?
  •  参数 useGeneratedKeys ,keyColumn,keyProperty作用和用法
  • 取值方式#和$区别
  • 动态标签有哪些
  • MyBatis常用注解有哪些
  • 注解里直接用动态标签为什么报错
  • 注解方式新增数据后如何回填主键ID值
  • 同一个方法能否既用注解方式又用XML方式
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档