mybatis json 字段
@TableName(value = "", autoResultMap = true)
@TableField(value = "", typeHandler = JacksonTypeHandler.class)
<result column="" property="" typeHandler="com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler"/>
XML映射中,SQL语句的两种参数注入方法:#和$的区别?
- #{}可以防止Sql 注入,它会将所有传入的参数作为一个字符串来处理。
- ${}则将传入的参数拼接到Sql上去执行,一般用于表名和字段名参数,${}所对应的参数应该由服务器端提供,前端可以用参数进行选择,避免 Sql 注入的风险。
XML映射中,如何使用LIKE进行模糊查询?
使用concat('%', #{name}, '%')
XML映射中,如何批量插入传入的集合(Collection<E>)?
接口:
public int insertBatch(@Param("list") List<User> list);
mapper:
<insert id="insertBatch" parameterType="com.zwh.project.entity.User">
INSERT INTO user (name, password, sex, age)
VALUES
<foreach collection ="list" item="user" separator =",">
(#{user.name}, #{user.password}, #{user.sex}, #{user.age})
</foreach >
</insert>
XML映射中,如何在插入的同时获取MySQL自增字段(AUTO_INCREMENT)的生成值?
在insert 标签中添加两个属性 useGeneratedKeys="true" keyProperty="id",插入完后,即可在实体类中获取到自增的值。