裸装面试,面试内容
自我介绍
1、mybatis中#和$的区别是什么?
1、传入的参数不同
#传入的参数在SQL中会显示为字符串(当成一个字符串),会自动为传入的参数加上双引号。
例如:当我们传递参数为“xiaobo时” ,SQL如下
1 | SELECT * FROM student where name = #{name } |
$传入的参数会在SQL中直接显示为传入的值
例如:当我们传递参数为“xiaobo时” ,SQL如下
1 | SELECT * FROM student where name = ${name } |
2、#可以防止SQL注入的风险(语句的拼接),但$无法当值SQL注入
3、$方式一般用于传入数据库对象,例如传入表明
4、大多数情况下还是经常使用#,一般能用#的就别用$;但有些情况下必须使用$,例:MyBatis排序时使用order by 动态参数时需要注意,用$而不是#。
2、Mybatis中resultMap和resultType的区别是什么
resultType
1、返回单个实例
1 | <select id = "selectStudent" parameterType = "int" resultType = "Student"> |
2、返回List集合
1 | <select id = "selectStudent" resultType = "Student" |
resultMap
1 | <resultMap type ="Student" id = "studentMap"> |
column:数据库中列名称,property:实体类中的属性
resultMap: 适合使用返回值是自定义实体类使用情况
resultType:适合使用返回值的数据类型是非自定义的,即jdk的提供的类型
3、==与equals的区别
==比较两个内存单元中该数据库是不是一样的
equals比较内存单元中指向的 实际对象内容 是不是一个
4、怎么终止for循环
break:跳出当前循环体,也称结束当前循环体
2.continue:跳出此次循环,继续执行下一次循环
5、操作页面元素
可以取到对应的id,name,calss进行操作
根据id可以取到一个,因为id是唯一的
本文作者:
小博
本文链接: https://programmerxiaobo.github.io/2020/04/30/%E7%AC%AC%E4%B8%80%E6%AC%A1%E9%9D%A2%E8%AF%95%E5%86%85%E5%AE%B9/
版权声明: 本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。转载请注明出处!
本文链接: https://programmerxiaobo.github.io/2020/04/30/%E7%AC%AC%E4%B8%80%E6%AC%A1%E9%9D%A2%E8%AF%95%E5%86%85%E5%AE%B9/
版权声明: 本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。转载请注明出处!