MyBatis错题分析

本文详细分析了MyBatis的配置错误和操作步骤。全局配置文件用于设定与mapper无关的信息,缓存默认开启,但Mapper XML文件中默认关闭。操作步骤包括构建SqlSessionFactory,打开SqlSession并执行CRUD操作。Role实体bean作为参数需写完全限定名或别名,当属性名与字段名不一致时需用resultMap。同时,resultType与resultMap不能同时使用,#{ids}用于防止SQL注入。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

      该题的错误选项是A。a选项中的配置文件是全局的配置文件,应该配置和具体的mapper无关的信息。

  该题的正确选项是D。MyBatis的缓存全局开关默认是true;在Mapper XML文件中,默认是关闭缓存的;Mabatis支持对个别查询单独设置缓存

该题的正确选项是A。MyBatis的操作步骤,一般步骤为实例化一个SqlSessionFactoryBuilder,然后从SqlSessionFactoryBuilder来build一个SqlSessionFactory,之后从SqlSessionFactory来open一个SqlSession,最后就可以使用SqlSession来进行CRUD操作了。

Role这个实体bean作为参数,需要写类的完全限定名或者别名,由于题目中并没有指明已经设置了别名,并且别名就是Role,所以答案C正确,A答案错误。D选项错误,参数是应该是基本数据类型或者类名,如果参数不是按照对象入参的话,而是Integer类型的id的话,那么B答案也算正确

因此该题的正确选项是:BC

该题的错误选项是C。当pojo的属性名与sql语句查询出来的字段名不一致的时候,需要使用resultMap来进行结果的映射,不能使用resultType

该题的正确选项是;BD。resultType与resultMap在任何时候都不可以同时使用。对于resultMap自动映射有三个匹配级别,当采用默认级别配置的时候,若使用association进行内部嵌套的话,只能匹配你指定的属性。

该题的正确选项是C。#{ids}表示占位符,主要用来防止SQL注入,这里假如是#{ids},则表示in (?),那么当我们传入一个”1,2,3”时,将会变成in (“1,2,3“),这与我们想要的结果in(1,2,3)不符,而使用${ids}则可以完美解决此问题


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值