mybatis学习入门(二)

本章介绍一下mybatis学习入门之后一些细节操作

一:parameterType输入参数和resultType输出参数的使用

1 搭建mybatis环境,在上一章已经提到了 2 在接口创建一个方法,参数是一个integer 3 编写映射文件,输入参数 int/integer都可以

4 输出参数,为返回值的类型

注意事项:parameterType可以不写,resultType一定要写(void的话可以不写)

二:sql语句占位符

占位符不能直接用问号,而是用#{xxx},这个xxx就要看接口方法参数而定.

1 如果参数是只有一个的情况下:

    如果参数是简单类型:那么xxx的值可以是任意

    如果参数是对象类型,那么xxx需要写对象的属性名保持一致

2 如果参数大于一个的情况下:

   在第三章再谈 

三:插入操作获取主键值

应用场景:当你插入的时候,可能会插入两个表的时候,这时候次表的的外键可能是主表的主键,那么这时候插入主表的数据的时候,可以获取到主表的主键,然后再作为参数插入到次表的外键

通过<selectKey>标签获取到主键,结果会返回到参数对象中

注意事项:<selectKey>的order属性,如果是选择after的话就是说明插入之后获取主键值

四:多条件查询

我们在开发中,可能会遇到一些多条件查询的条件,那么多个多条件的话,应该怎么做呢?这里可以通过自定义一个对象,专门就是封装条件属性,这样就能解决了.

注意事项1,如果这个条件对象的属性也是一个对象xxx,占位符为xxx.xxxx 其中xxxx是xxx对象的属性名

注意事项2,对于大于小于,处于xml的语法问题,需要给<![CDATA[内容]]>包括起来.不然就会出现问题

五:模糊查询

对于模糊查询,相信小伙伴都知道需要给占位符加上%%,方法一:在sql编写的时候直接写上xxxxxx like '%${value}%'

上面的这种使用方法不安全,容易sql注入

所以我们用的是方法二:在参数上面加上%%,不过这样的话,就很不方便,最佳的做法就是 xxxxx like concat ('%',xxx,'%')

这样的话我们只需要关注参数就行了

六:当列名和对象的属性名不一致的时候

我们开发中,经常就会自定义列名查询.这时候就会javabean中的属性名出现不一致的情况了,那么这时候应该怎么办呢?

没错,这时候就用resultMap去映射列名,原理就是和返回来的结果集的列名和javabean映射一下而已

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MyBatis入门到精通的学习路径可以分为以下几个步骤: 1. 学习数据库基础知识:MyBatis是一个持久层框架,需要掌握数据库的基本知识和SQL语句的基本用法。 2. 学习MyBatis的基本概念和原理:了解MyBatis的架构和基本概念,包括SqlSessionFactory、SqlSession、Mapper等。 3. 学习MyBatis的配置文件:MyBatis的配置文件包括数据库连接信息、映射文件、插件等,需要了解如何正确地配置这些文件。 4. 学习MyBatis的映射文件:MyBatis的映射文件是将Java对象和数据库表进行映射的关键,需要了解映射文件的结构、标签和属性,以及如何编写SQL语句。 5. 学习MyBatis的API:MyBatis提供了丰富的API,包括SqlSessionFactory、SqlSession、Mapper等,需要了解它们的作用和用法,以及如何正确地使用它们进行数据库操作。 6. 学习MyBatis的高级特性:MyBatis还提供了一些高级特性,如缓存、动态SQL、插件等,需要了解它们的原理和用法,以便更好地使用MyBatis。 7. 实践项目经验:通过实践项目来巩固和应用所学的知识,掌握MyBatis的实际使用技巧,例如如何处理事务、如何优化SQL语句等。 8. 深入源码学习:深入学习MyBatis的源码,了解MyBatis的原理和实现细节,以便更好地使用和定制MyBatis。 总之,学习MyBatis需要掌握数据库的基本知识和SQL语句的基本用法,了解MyBatis的配置文件和映射文件,掌握MyBatis的API和高级特性,通过实践项目来巩固和应用所学的知识,深入学习MyBatis的源码,才能从入门到精通。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值