40.MyBatis防止sql注入的操作
- 使用#可以防止SQL注入
41.MyBatis常用的标签

42.#与$的区别
#{}是预编译处理,${}是字符串替换。
Mybatis 在处理#{}时,会将 sql 中的#{}替换为?号,调用 PreparedStatement 的 set 方法来赋值;
Mybatis 在处理${}时,就是把${}替换成变量的值。使用#{}可以有效的防止 SQL 注入,提高系统安全性。
54.MyBatis如何做分页
-
数组分页
查询出全部数据,然后再list中截取需要的部分。
-
sql分页
-
拦截器分页
创建拦截器,拦截mybatis接口方法id以ByPage结束的语句
-
RowBounds分页
57.MyBatis是否可以映射到枚举类
Mybatis 可以映射任何对象到表的一列上。映射方式为自定义一个 TypeHandler ,实现 TypeHandler 的 setParameter() 和 getResult() 接口方法。
TypeHandler 有两个作用,一是完成从 javaType 至 jdbcType 的转换,二是完成 jdbcType 至 javaType 的转换,体现为 setParameter()和 getResult() 两个方法,分别代表设置 sql 问号占位符参数和获取列查询结果。
本文详细介绍了MyBatis框架的高级特性,包括如何通过#符号有效防止SQL注入攻击,#与$的区别及其应用场景,以及MyBatis实现分页查询的方法。此外,还探讨了如何自定义TypeHandler以支持枚举类型的映射。
777

被折叠的 条评论
为什么被折叠?



