美文网首页
吊打面试官之 JavaEE(Mybatis)部分[2]

吊打面试官之 JavaEE(Mybatis)部分[2]

作者: 是小猪童鞋啦 | 来源:发表于2020-04-25 07:35 被阅读0次
    1.请问MyBatis中的动态SQL是什么意思?
    参考回答:

    对于一些复杂的查询,我们可能会指定多个查询条件,但是这些条件可能存在也可能不存在,需要根据用户指定的条件动态生成SQL语句。如果不使用持久层框架我们可能需要自己拼装SQL语句,还好MyBatis提供了动态SQL的功能来解决这个问题。MyBatis中用于实现动态SQL的元素主要有:

    • if
    • choose / when / otherwise
    • trim
    • where
    • set
    • foreach
    2. 请说明一下MyBatis中命名空间(namespace)的作用是什么?
    参考回答:

    在大型项目中,可能存在大量的SQL语句,这时候为每个SQL语句起一个唯一的标识(ID)就变得并不容易了。为了解决这个问题,在MyBatis中,可以为每个映射文件起一个唯一的命名空间,这样定义在这个映射文件中的每个SQL语句就成了定义在这个命名空间中的一个ID。只要我们能够保证每个命名空间中这个ID是唯一的,即使在不同映射文件中的语句ID相同,也不会再产生冲突了。

    @Mybatis常见面试题 [1]
    @Mybatis常见面试题[2]

    相关文章

      网友评论

          本文标题:吊打面试官之 JavaEE(Mybatis)部分[2]

          本文链接:https://www.haomeiwen.com/subject/hfduphtx.html