问题背景
参考官方文档教程整合了MybatisPlus后,项目能正常启动并基础代码能正常运行。
但是以下代码存在问题:
DailyDoorInoutChangeType dailyDoorInoutChangeType = dailyDoorInoutChangeTypeService
.lambdaQuery()
.eq(DailyDoorInoutChangeType::getChangeTypeName, changeTypeName)
.one();
表的DDL语句
CREATE TABLE `daily_door_inout_change_type` (
`id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增ID',
`change_type_name` varchar(32) COLLATE utf8mb4_general_ci NOT NULL COMMENT '变动类型名称',
`change_type_color` char(7) COLLATE utf8mb4_general_ci NOT NULL COMMENT '变动类型显示颜色',
`create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '创建者',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '更新者',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间',
`remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '备注',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='日常管理-出入变动类型管理表
运行异常结果截图
SQL中出现了一个未定义的字段search_value,导致程序运行异常。
详细代码
DailyDoorInoutChangeTypeMapper.java
package cc.hugesoft.jiefang.mapper;
import java.util.List;
import cc.hugesoft.jiefang.domain.DailyDoorInoutChangeType;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* 日常管理-出入变动类型管理Mapper接口
*
* @author ruoyi
* @date 2021-05-14
*/
public interface DailyDoorInoutChangeTypeMapper extends BaseMapper<DailyDoorInoutChangeType>
{
/**
* 查询日常管理-出入变动类型管理
*
* @param id 日常管理-出入变动类型管理ID
* @return 日常管理-出入变动类型管理
*/
public DailyDoorInoutChangeType selectDailyDoorInoutChangeTypeById(Integer id);
/**
* 查询日常管理-出入变动类型管理列表
*
* @param dailyDoorInoutChangeType 日常管理-出入变动类型管理
* @return 日常管理-出入变动类型管理集合
*/
public List<DailyDoorInoutChangeType> selectDailyDoorInoutChangeTypeList(DailyDoorInoutChangeType dailyDoorInoutChangeType);
/**
* 新增日常管理-出入变动类型管理
*
* @param dailyDoorInoutChangeType 日常管理-出入变动类型管理
* @return 结果
*/
public int insertDailyDoorInoutChangeType(DailyDoorInoutChangeType dailyDoorInoutChangeType);
/**
* 修改日常管理-出入变动类型管理
*
* @param dailyDoorInoutChangeType 日常管理-出入变动类型管理
* @return 结果
*/
public int updateDailyDoorInoutChangeType(DailyDoorInoutChangeType dailyDoorInoutChangeType);
/**
* 删除日常管理-出入变动类型管理
*
* @param id 日常管理-出入变动类型管理ID
* @return 结果
*/
public int deleteDailyDoorInoutChangeTypeById(Integer id);
/**
* 批量删除日常管理-出入变动类型管理
*
* @param ids 需要删除的数据ID
* @return 结果
*/
public int deleteDailyDoorInoutChangeTypeByIds(String[] ids);
}
DailyDoorInoutChangeTypeMapper.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cc.hugesoft.jiefang.mapper.DailyDoorInoutChangeTypeMapper">
<resultMap type="DailyDoorInoutChangeType" id="DailyDoorInoutChangeTypeResult">
<result property="id" column="id" />
<result property="changeTypeName" column="change_type_name" />
<result property="changeTypeColor" column="change_type_color" />
<result property="createBy" column="create_by" />
<result property="createTime" column="create_time" />
<result property="updateBy" column="update_by" />
<result property="updateTime" column="update_time" />
<result property="remark" column="remark" />
</resultMap>
<sql id="selectDailyDoorInoutChangeTypeVo">
select id, change_type_name, change_type_color, create_by, create_time, update_by, update_time, remark from daily_door_inout_change_type
</sql>
<select id="selectDailyDoorInoutChangeTypeList" parameterType="DailyDoorInoutChangeType" resultMap="DailyDoorInoutChangeTypeResult">
<include refid="selectDailyDoorInoutChangeTypeVo"/>
<where>
<if test="changeTypeName != null and changeTypeName != ''"> and change_type_name like concat('%', #{changeTypeName}, '%')</if>
<if test="changeTypeColor != null and changeTypeColor != ''"> and change_type_color = #{changeTypeColor}</if>
</where>
</select>
<select id="selectDailyDoorInoutChangeTypeById" parameterType="Integer" resultMap="DailyDoorInoutChangeTypeResult">
<include refid="selectDailyDoorInoutChangeTypeVo"/>
where id = #{id}
</select>
<insert id="insertDailyDoorInoutChangeType" parameterType="DailyDoorInoutChangeType" useGeneratedKeys="true" keyProperty="id">
insert into daily_door_inout_change_type
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="changeTypeName != null and changeTypeName != ''">change_type_name,</if>
<if test="changeTypeColor != null and changeTypeColor != ''">change_type_color,</if>
<if test="createBy != null and createBy != ''">create_by,</if>
<if test="createTime != null">create_time,</if>
<if test="updateBy != null and updateBy != ''">update_by,</if>
<if test="updateTime != null">update_time,</if>
<if test="remark != null and remark != ''">remark,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="changeTypeName != null and changeTypeName != ''">#{changeTypeName},</if>
<if test="changeTypeColor != null and changeTypeColor != ''">#{changeTypeColor},</if>
<if test="createBy != null and createBy != ''">#{createBy},</if>
<if test="createTime != null">#{createTime},</if>
<if test="updateBy != null and updateBy != ''">#{updateBy},</if>
<if test="updateTime != null">#{updateTime},</if>
<if test="remark != null and remark != ''">#{remark},</if>
</trim>
</insert>
<update id="updateDailyDoorInoutChangeType" parameterType="DailyDoorInoutChangeType">
update daily_door_inout_change_type
<trim prefix="SET" suffixOverrides=",">
<if test="changeTypeName != null and changeTypeName != ''">change_type_name = #{changeTypeName},</if>
<if test="changeTypeColor != null and changeTypeColor != ''">change_type_color = #{changeTypeColor},</if>
<if test="createBy != null and createBy != ''">create_by = #{createBy},</if>
<if test="createTime != null">create_time = #{createTime},</if>
<if test="updateBy != null and updateBy != ''">update_by = #{updateBy},</if>
<if test="updateTime != null">update_time = #{updateTime},</if>
<if test="remark != null and remark != ''">remark = #{remark},</if>
</trim>
where id = #{id}
</update>
<delete id="deleteDailyDoorInoutChangeTypeById" parameterType="Integer">
delete from daily_door_inout_change_type where id = #{id}
</delete>
<delete id="deleteDailyDoorInoutChangeTypeByIds" parameterType="String">
delete from daily_door_inout_change_type where id in
<foreach item="id" collection="array" open="(" separator="," close=")">
#{id}
</foreach>
</delete>
</mapper>
IDailyDoorInoutChangeTypeService.java
package cc.hugesoft.jiefang.service;
import java.util.List;
import cc.hugesoft.jiefang.domain.DailyDoorInoutChangeType;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* 日常管理-出入变动类型管理Service接口
*
* @author ruoyi
* @date 2021-05-14
*/
public interface IDailyDoorInoutChangeTypeService extends IService<DailyDoorInoutChangeType>
{
/**
* 查询日常管理-出入变动类型管理
*
* @param id 日常管理-出入变动类型管理ID
* @return 日常管理-出入变动类型管理
*/
public DailyDoorInoutChangeType selectDailyDoorInoutChangeTypeById(Integer id);
/**
* 查询日常管理-出入变动类型管理列表
*
* @param dailyDoorInoutChangeType 日常管理-出入变动类型管理
* @return 日常管理-出入变动类型管理集合
*/
public List<DailyDoorInoutChangeType> selectDailyDoorInoutChangeTypeList(DailyDoorInoutChangeType dailyDoorInoutChangeType);
/**
* 新增日常管理-出入变动类型管理
*
* @param dailyDoorInoutChangeType 日常管理-出入变动类型管理
* @return 结果
*/
public int insertDailyDoorInoutChangeType(DailyDoorInoutChangeType dailyDoorInoutChangeType);
/**
* 修改日常管理-出入变动类型管理
*
* @param dailyDoorInoutChangeType 日常管理-出入变动类型管理
* @return 结果
*/
public int updateDailyDoorInoutChangeType(DailyDoorInoutChangeType dailyDoorInoutChangeType);
/**
* 批量删除日常管理-出入变动类型管理
*
* @param ids 需要删除的数据ID
* @return 结果
*/
public int deleteDailyDoorInoutChangeTypeByIds(String ids);
/**
* 删除日常管理-出入变动类型管理信息
*
* @param id 日常管理-出入变动类型管理ID
* @return 结果
*/
public int deleteDailyDoorInoutChangeTypeById(Integer id);
}
DailyDoorInoutChangeTypeServiceImpl.java
package cc.hugesoft.jiefang.service.impl;
import java.util.List;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.utils.DateUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import cc.hugesoft.jiefang.mapper.DailyDoorInoutChangeTypeMapper;
import cc.hugesoft.jiefang.domain.DailyDoorInoutChangeType;
import cc.hugesoft.jiefang.service.IDailyDoorInoutChangeTypeService;
import com.ruoyi.common.core.text.Convert;
/**
* 日常管理-出入变动类型管理Service业务层处理
*
* @author ruoyi
* @date 2021-05-14
*/
@Service
public class DailyDoorInoutChangeTypeServiceImpl extends ServiceImpl<DailyDoorInoutChangeTypeMapper, DailyDoorInoutChangeType> implements IDailyDoorInoutChangeTypeService
{
@Autowired
private DailyDoorInoutChangeTypeMapper dailyDoorInoutChangeTypeMapper;
// ....省略具体实现成员方法代码
}
表中没有search_value字段,使用
@TableField(exist=false)
排除