位置:- 正文

Mybatis常见知识点(mybatis的)

编辑:rootadmin
Mybatis常见知识点 ${}和#{}有什么区别 ${}是简单的字符串替换,属于静态文本替换,并且并不是在预处理的时候进行替换,实在编译的时候进行替换,可能会存在sql注入的风险。替换后的值不会自动加上单引号。 #{}是占位符,是在预编译的时候进行替换成?占位符,执行前才会把参数设置进去,相当于j ... Mybatis常见知识点${}和#{}有什么区别

推荐整理分享Mybatis常见知识点(mybatis的),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:mybatis常用,mybatis的,mybatis基本用法,mybatis的,mybatis常用,mybatis常用,mybatis 总结,mybatis 总结,内容如对您有帮助,希望把文章链接给更多的朋友!

${}是简单的字符串替换,属于静态文本替换,并且并不是在预处理的时候进行替换,实在编译的时候进行替换,可能会存在sql注入的风险。替换后的值不会自动加上单引号。

{}是占位符,是在预编译的时候进行替换成?占位符,执行前才会把参数设置进去,相当于jdbc的PreparedStatement,替换后的变量会自动加上单引号,可以防止sql注入。-- ${}-- 替换前select * from t_user where id = ${id}-- 替换后select * from t_user where id = 1-- #{}-- 替换前select * from t_user where id = #{id}-- 替换后select * from t_user where id = ?-- 执行时select * from t_user where id = '1'Mybatis常见的标签

Mybatis常见的标签有<select>、<insert>、<update>、<delete>、<resultMap>、<sql>、<include>、<if>、<foreach>、<choose>、<when>、<otherwise>、<where>、<set>

Mybatis实体类属性名称和数据库表中字段名称不一致,解决方式在sql查询语句中是as将数据库字段名称定义为实体类属性名称,保持两者一直,as可以省略。定义<resultMap>, sql查询语句设置resultType为对应的<resultMap>,<resultMap>里面写实体类字段和数据库表中字段的映射关系。Mybatis中分页的几种方式

直接传入分页参数,在sql中使用limit进行分页。例如:

select * from t_users limit 0, 10

使用Mybatis中的RowBounds进行分页

RowBounds需要传入offset和limit,该方式会把数据全部查询出来,然后进行处理,将offset之前的数据全部跳过,去除offset和limit之间的数据,属于逻辑分页。

Mybatis常见知识点(mybatis的)

使用Mybatis的分页插件,例如PageHelper

PageHelper属于是物理分页,会在sql后面添加limit。

使用Mybatis提供的拦截器,在拦截器中拦截准备执行的sql,之后重新构造sql。

Mybatis获取自动生成的主键

数据库主键是自动生成的,可以使用useGeneratedKeys和keyProerty获取主键值

<insert id="insertUser" useGeneratedKeys="true" keyProperty="id"></insert>

使用selectKey标签中的select LAST_INSERT_ID()获取主键

keyProperty:是属性名

order:BEFORE、AFTER,BEFORE是先获取主键,再执行insert,AFTER是先执行insert,再获取主键。

<insert id="insertUser"><selectKey keyProperty="id" resultType="String" order="BEFORE"> select REPLACE(UUID(), '-', '') </selectKey></insert>

关注微信公众号「平哥技术站」, 每日更新,在手机上阅读所有教程,随时随地都能学习。

原文链接:https://monkey.blog.xpyvip.top/archives/mybatis-chang-jian-zhi-shi-dian

本文链接地址:https://www.jiuchutong.com/zhishi/311717.html 转载请保留说明!
下一篇链接:https://www.jiuchutong.com/zhishi/311718.html
免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

鄂ICP备2023003026号

友情链接: 武汉网站建设 电脑维修 湖南楚通运网络