此题目考查的是MyBatis的操作步骤,一般步骤为实例化一个SqlSessionFactoryBuilder,然后从SqlSessionFactoryBuilder来build一个SqlSessionFactory,之后从SqlSessionFactory来open一个SqlSession,最后就可以使用SqlSession来进行CRUD操作了。
Role这个实体bean作为参数,需要写类的完全限定名或者别名,由于题目中并没有指明已经设置了别名,并且别名就是Role,所以答案C正确,A答案错误。D选项错误,参数是应该是基本数据类型或者类名,如果参数不是按照对象入参的话,而是Integer类型的id的话,那么B答案也算正确
此题目考查的是ORM相关概念、ORM框架的功能为什么选D,ORM(Object/Relational Mapping)即对象/关系映射,是一种数据持久化技术。它在对象模型和关系型数据库之间建立起对应关系,并且提供了一种机制,通过JavaBean对象去操作数据库表中的数据,因此选项D是错误的。因此答案选择D
typeAliasesPackage:它一般对应实体类所在的包,这个时候会自动取对应包中不包括包名的简单类名作为包括包名的别名,此配置是可选的,因此这里选择d
choose选择语句也是使用频率很高的标签,不过和他组合使用的不是if、else标签而是when、otherwise标签。
#{ids}表示占位符,主要用来防止SQL注入,这里假如是#{ids},则表示in (?),那么当我们传入一个”1,2,3”时,将会变成in (“1,2,3“),这与我们想要的结果in(1,2,3)不符,而使用${ids}则可以完美解决此问题
B选项当title不为null时1=1和title = #{title}之间没有AND连接同样会有运行时异常