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)