个人主页:兜里有颗棉花糖
欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 兜里有颗棉花糖 原创
收录于专栏【MyBatis框架】
本专栏旨在分享MyBatis框架的学习笔记,如有错误定当洗耳恭听,欢迎大家在评论区交流讨论💌
一、insert操作
jdbc的insert操作返回的结果是受影响的行数。比如:通常情况下,如果插入操作成功,返回的结果是1,表示插入了一行数据;如果插入操作失败,返回的结果是0。通过检查受影响的行数,可以判断插入操作是否成功。
右键generate生成测试用例进行测试:
运行结果如下:
如何获取自增ID
@Options注解用于配置插入操作的选项。在这个特定的例子中,注解中的两个属性分别是useGeneratedKeys和keyProperty,解释如下:
- useGeneratedKeys属性设置为true表示告诉MyBatis使用数据库自动生成的主键值。这通常用于自增主键或序列生成主键的情况。
- keyProperty属性用于
指定一个Java对象的属性
,用来接收数据库生成的主键值。这个属性通常与useGeneratedKeys一起使用,它告诉MyBatis将生成的主键值设置到指定的属性中。
@Options注解的这两个属性配置告诉MyBatis在执行插入操作时使用数据库自动生成的主键,并将生成的主键值设置到指定的Java对象属性中。@Options注解的这两个属性配置告诉MyBatis在执行插入操作时使用数据库自动生成的主键,并将生成的主键值设置到指定的Java对象属性中。
对insert的参数进行重命名
对对象进行重命名
二、delete操作
jdbc的delete操作返回的结果依然是受影响的行数。
右键生成delete操作的测试方法:
运行结果如下:
三、update操作
jdbc的delete操作返回的结果依然是受影响的行数。
右键生成测试方法:
运行结果如下:
四、select操作
结果映射:Mybatis会自动地根据数据库的字段名和Java对象的属性名进行映射(根据名称来进行映射),如果名称一样,就进行赋值。
通过
select * from userinfo
查询得到的结果中某些值是空的,如下:
如何解决上述出现的问题呢?
- 解决方式一(从mysql层面对结果进行映射):对mysql查询结果进行重命名。
- 解决方式二(从mybatis层面对结果进行映射,即我们如何让mybatis知道两者之间的对应关系):
使用@Results注解
如何复用@Results的定义
:
- 解决方式三:进行mybatis配置(进行驼峰自动转换)。
本文到这里就结束了,希望友友们可以支持一下一键三连哈。嗯,就到这里吧,再见啦!!!