版权属于:
Hello World
作品采用:
《
署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)
》许可协议授权
记录一个真实情况。
有这样一个需求:前端传进一个实体对象,后端需要将其存储。
此时应该这样写:
controller:
public ReturnInfo regUri(Url url){
......
}
mapper:
<insert id="insertUrl" parameterType="url">
INSERT INTO url_info(uri, data, create_time, expiration_time)
VALUE (#{uri}, #{data}, #{createTime}, #{expirationTime});
</insert>
但是,其中有一个属性可能是null,比如,在现在的实体中,expirationTime这个过期时间参数可以为空。这时候可以使用mybatis的动态sql功能的 if标签 对其进行判断,根据expirationTime这个属性的有无来修改sql语句。
<insert id="insertUrl" parameterType="url">
INSERT INTO url_info(uri,data, create_time
<if test="expirationTime != null and expirationTime != ''">
, expiration_time
</if>
)
VALUE (#{uri},#{data}, #{createTime}
<if test="expirationTime != null and expirationTime != ''">
, #{expirationTime}
</if>
);
</insert>
使用<if></if>标签可以根据实体属性,判断标签里的内容是否拼接进sql语句中。
评论 (0)