一、报错内容
java.lang.IllegalArgumentException:
XML fragments parsed from previous mappers does not contain value
for com.xxx.mapper.ProjectMapper.Base_Column_List
报错的全文
java.lang.IllegalArgumentException: XML fragments parsed from previous mappers does not contain value for com.xxx.mapper.ProjectMapper.Base_Column_List
at com.baomidou.mybatisplus.core.MybatisConfiguration$StrictMap.get(MybatisConfiguration.java:445)
at org.apache.ibatis.builder.xml.XMLIncludeTransformer.findSqlFragment(XMLIncludeTransformer.java:98)
at org.apache.ibatis.builder.xml.XMLIncludeTransformer.applyIncludes(XMLIncludeTransformer.java:63)
at org.apache.ibatis.builder.xml.XMLIncludeTransformer.applyIncludes(XMLIncludeTransformer.java:85)
at org.apache.ibatis.builder.xml.XMLIncludeTransformer.applyIncludes(XMLIncludeTransformer.java:50)
at org.apache.ibatis.builder.xml.XMLStatementBuilder.parseStatementNode(XMLStatementBuilder.java:73)
at org.apache.ibatis.session.Configuration.lambda$buildAllStatements$2(Configuration.java:905)
at java.util.Collection.removeIf(Collection.java:414)
二、报错说明
出现上面的报错是因为MyBatis-Plus中的<include>
语句的 refid写错导致的。
如下,定义了refid为Base_Column_List
<select id="findByProjectCode" resultType="xxx.entity.ProjectEntity"
parameterType="java.lang.String">
SELECT
<include refid="Base_Column_List"/>
FROM t_project
<where>
project_code = #{projectCode};
</where>
</select>
但是上下文中,并没有找到refid,而是找到了projectEntitySql如下。
<sql id="projectEntitySql">
t_project.`project_id`,
t_project.`project_name`,
t_project.`project_code`,
t_project.`log_upload_flag`,
t_project.`log_upload_config`,
t_project.`repeat_upload_max_times`,
t_project.`version`,
t_project.`create_time`,
t_project.`update_time`,
t_project.`create_user`,
t_project.`modify_user`
</sql>
三、报错解决
将 <include refid="Base_Column_List"/>
改成<include refid="projectEntitySql"/>
即可。
<select id="findByProjectCode" resultType="xxx.entity.ProjectEntity"
parameterType="java.lang.String">
SELECT
<include refid="projectEntitySql"/>
FROM t_project
<where>
project_code = #{projectCode};
</where>
</select>