Mybatis面试题汇总(持续更新)

请问Mybatis中的动态SQL是什么意思?

对于一些复杂的查询,我们可能会制定多个查询条件,但是这些条件可能存在也可能不存在,需要根据用户指定的条件动态生成SQL语句。

在Mybatis中用于实现动态SQL的元素主要有:
if ,choose/when/otherwise ,trim,where,set,foreach

请问Mybatis中命名空间(namespace)的作用是什么?

在大型项目中,可能存在大量的SQL语句,这时候为每个SQL语句起一个唯一的标识就变得不容易了。而Mybatis中,可以为每个映射文件起一个唯一的命名空间,这样定义在映射文件中的每一个SQL语句就成了定义在这个命名空间中的一个ID,就不会容易产生冲突了。

你可能感兴趣的:(JAVA)