刘小爱v|【框架】116:mybatis配置文件标签详解( 二 )


parameterType:参数类型 。
即从数据库中查询到的返回值类型 。
2${}的用法
${}非预编译 , 直接的sql拼接 , 不能防止sql注入 , 所以一般都会使用它 。
那么问题来了 , 既然如此 , ${}有什么用呢? 。
比如说:数据库有两个一模一样的表 , 历史表 , 当前表 , 查询表中的信息时:
有时候要从历史表中去查询数据 。
有时候需要去新的表去查询数据 。
希望使用1个方法来完成操作 。
这个时候就可以根据表名来查询信息:
刘小爱v|【框架】116:mybatis配置文件标签详解
文章图片
如果参数是表名 , 那么用#号是不行的 , 因为它是预编译 。
就是我们去数据库查询数据 , from+表名是第一个步骤 , 需要一开始就知道 , 这个我们以前也说明过 。
如果是预编译 , 它是不行的 , 所以这个时候就需要使用到$了 , 它是直接拼接sql语句 。
其中在mapper层接口中的参数名前需要加一个注解@Param()做出说明 。
获取参数时 , 使用注解中的说明即可 。
3#{}的用法
#{}预编译 , 能防止sql注入 。
刘小爱v|【框架】116:mybatis配置文件标签详解
文章图片
如果涉及到多个参数的传递时 , 需要使用到# , 使用$不行 。
同样的方法:使用@Param注解指定参数名 , 这是最简单也最常用的用法 。
就是如果是单个参数 , 可以不写注解 , 但是写了也没问题 , 既然如此 , 干脆都写 。
这是一种习惯 , 并且可读性也很强 。
4传参的类型
parameterType有三种类型的输入参数:基本数据类型 , hashMap , pojo包装类 。
比如增加操作的时候传的就是User , User就是包装类 。
比如查询操作根据id查询 , 传的参数就是基本数据类型 。
那hashMap是怎么回事呢?
刘小爱v|【框架】116:mybatis配置文件标签详解
文章图片
根据map查询数据 , 其中map中的key要和sql语句中的参数相对呀 。
起什么名无所谓 , 但要一致 , 不过这种传参方法不常见 , 了解即可 。
三、介绍一个mybatis插件
该插件对于新手来说会有点用处 , 对于老程序员来说感觉用处不大 。
1下载插件
idea中选择File-settings:
刘小爱v|【框架】116:mybatis配置文件标签详解
文章图片
找到plugins , 其本身也就是插件的意思 , 搜索MybatisX:
如果搜索不到 , 需要先下载 。
如果不想使用这个插件了 , 也可以在搜索框中将插件取消 。
2插件效果
重启idea , 就会看到多出了一些小鸟:
刘小爱v|【框架】116:mybatis配置文件标签详解
文章图片
其效果就是将mapper层接口中的方法 , 和对应映射文件中的sql语句关联起来了 。
就这么一个效果 , 也不清楚有啥其它作用 。
最后
谢谢你的观看 。
【刘小爱v|【框架】116:mybatis配置文件标签详解】如果可以的话 , 麻烦帮忙点个赞 , 谢谢你 。


推荐阅读