遇到mybatis面试问题应该怎么回答

遇到mybatis面试问题应该怎么回答,第1张

遇到mybatis面试问题应该怎么回答

遇到mybatis面试问题应该怎么回答

1. #{}和${}的区别是什么?

	#{}是预编译处理,${}是字符串替换。

	(1) Mybatis在处理#{}时,会将sql语句中的?号替换为#{},调用项目工程entity中定义的实体类中获取到定义的属性值,
		处理过程种可以有效的防止Sql注入,安全性比较高

	(2)Mybatis在处理${}时,属于暴力拆解,简单讲就是把${}直接替换成变量的值。安全性比较低。

2. mybatis中的Xml映射文件,都会写一个mapper接口与之对应
(问题1)mapper接口的工作原理是什么?

	所谓的Mapper接口 就是人们常说的Dao接口,在mybatis-config.xml中namespace的值就是映射的接口所在位置的全路径名,
	接口中的方法名是映射文件中所要增删改查的Id值,接口方法内的参数,就是传递给sql的参数。
	Mapper接口中不允许有实现类,需要调用接口中方法时。需要在resources资源库中创建实现类的xml包,
	运用标签均会被解析为MappedStatement对象,
	标签内的sql会被解析为BoundSql对象。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5637545.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存