作者:restVerify | 来源:互联网 | 2023-12-13 18:40
本文对MyBatis的错题进行了分析和解析,同时介绍了使用MyBatis时需要注意的一些事项,如resultMap的使用、SqlSession和SqlSessionFactory的获取方式、动态SQL中的else元素和when元素的使用、resource属性和url属性的配置方式、typeAliases的使用方法等。同时还指出了在属性名与查询字段名不一致时需要使用resultMap进行结果映射,而不能使用resultType。
解析: resultMap表示节点名称 ,type属性的值就是映射的类型。
解析:SqlSession由SqlSessionFactory的openSession()方法获得,SqlSessionFactory由SqlSessionFactoryBuilder创建。
解析:MyBatis的动态SQL中没有else元素,when元素的test属性中直接书写表达式即可,即test=”表达式”。
解析:resource属性和url属性是必须的属性,但只能配置其中一个。
解析:一般SqlSession实例不提倡定义为一个类的静态变量,只因为SqlSession是线程不安全,实例不能共享的;而SqlSessionFactory实例建议定义为静态变量。
解析:在大配置文件里使用
解析:选项C的说法错误,当pojo的属性名与sql语句查询出来的字段名不一致的时候,需要使用resultMap来进行结果的映射,不能使用resultType
解析:poolMaximumActiveConnections – 在任意时间存在的活动(也就是正在使用)连接的数量。默认值:10
poolMaximumIdleConnections – 任意时间存在的空闲连接数。
poolMaximumCheckoutTime – 在被强制返回之前,池中连接被检查的时间。默认值:20000 毫秒(也就是 20 秒)
解析:C选项说法错误:MyBatis对于resultMap自动映射有三个匹配级别,当采用默认级别配置的时候,若使用association进行内部嵌套的话,无法自动匹配所有,只能匹配你指定的属性
A选项说法错误:在MyBatis的全局配置文件里配置:autoMappingBehavior的value为NONE,意思是禁止自动匹配,resultType与resultMap在任何时候都不可以同时使用