1、MyBatis在xml中<select>标签不写接收参数parameterType 和 返回结果类型resultType会报异常。
2、当返回多条一个结果时,并不是在resultType中写成List类型。如下图的错误xml中配置:
<select id="getUniqueAgencyCity" resultType="java.util.List"> SELECT AgencyCity FROM agency_product WHERE ID IN ( SELECT DISTINCT SelectIDs FROM agency_information WHERE State = 0 ) </select>
对应Mapper接口如下:
public List<String> getUniqueAgencyCity();
3、正确的写法如下,resultType是集合中的元素的类型,并不是集合本身。
<select id="getUniqueAgencyCity" resultType="String"> SELECT AgencyCity FROM agency_product WHERE ID IN ( SELECT DISTINCT SelectIDs FROM agency_information WHERE State = 0 ) </select>
4、如果不注意写错了,出现的异常大概是:
Cause: java.lang.UnsupportedOperationException at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:150) at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:141)