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逆向工程笔记小结
Mybatis逆向工程笔记小结
|
2月前
|
SQL Java 数据库连接
【Java笔记+踩坑】MyBatisPlus基础
MyBatisPlus简介、标准数据层开发CRUD、业务层继承IService、ServiceImpl、条件查询、LambdaQueryWrapper、id生成策略、逻辑删除、乐观锁@Version、代码生成器、ActiveRecord
【Java笔记+踩坑】MyBatisPlus基础
|
2月前
|
Java 数据库连接 数据格式
【Java笔记+踩坑】Spring基础2——IOC,DI注解开发、整合Mybatis,Junit
IOC/DI配置管理DruidDataSource和properties、核心容器的创建、获取bean的方式、spring注解开发、注解开发管理第三方bean、Spring整合Mybatis和Junit
【Java笔记+踩坑】Spring基础2——IOC,DI注解开发、整合Mybatis,Junit
|
6月前
|
SQL Java 关系型数据库
MyBatis-Plus全套笔记三
MyBatis-Plus全套笔记三
|
6月前
|
SQL Java 数据库连接
MyBatis-Plus全套笔记二
MyBatis-Plus全套笔记二
|
6月前
|
Java 关系型数据库 数据库连接
MyBatis-Plus全套笔记一
MyBatis-Plus全套笔记一
133 1
|
SQL Java 数据库连接
[推荐] MyBatis框架初学笔记-为之后拾遗
[推荐] MyBatis框架初学笔记-为之后拾遗
58 0
|
SQL 存储 缓存
MyBatis 学习心得笔记
MyBatis 学习心得笔记
95 0