Mybatis中数据库的增删改查和动态Sql
2.数据库的增删改查:
马克-to-win:以下例子的配置文件中出现了一些mybatis特有的动态Sql的标签,比如trim,foreach或set标签。动态Sql是为了应对更多的情况。trim标签的功能是可以在自己包含的内容前加上某些前缀(prefix属性),也可以在自己包含的内容后加上某些后缀(suffix属性), 可以把包含内容的首部某些内容删掉(prefixOverrides属性),也可以把包含内容的尾部的某些内容删掉(suffixOverrides属性)。
例 1.2
package com.mapper;
import com.Register;
import java.util.List;
import java.util.Map;
public interface RegisterMapper {
public int insertBatch(List list);
public List<Register> selectAll();
int deleteByPrimaryKey(Integer id);
int insert(Register record);
int insertSelective(Register record);
Register selectByPrimaryKey(Integer id);
int updateByPrimaryKeySelective(Register record);
int updateByPrimaryKey(Register record);
List<Register> selectPageList(Map map);
List<Register> selectList(Map map);
int selectCount(Map map);
}
RegisterMapper.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="com.mapper.RegisterMapper">
<select id="selectAll" resultType="com.Register">
select * from register;
</select>
<!--
生成的结果是insert into register(Id,Name,Age) values (?,?,?) , (?,?,?) -->
<insert id="insertBatch" parameterType="java.util.List">
insert into register(Id,Name,Age)
values
<foreach collection="list" item="item" index="index" separator="," >
(#{item.id},#{item.name},#{item.age})
</foreach>
</insert>
<resultMap id="BaseResultMap" type="com.Register">
<id column="Id" jdbcType="INTEGER" property="id" />
<result column="Name" jdbcType="VARCHAR" property="name" />
<result column="Age" jdbcType="INTEGER" property="age" />
</resultMap>
<sql id="Base_Column_List">
Id, Name, Age
</sql>
更多内容请见原文,原文转载自:https://blog.csdn.net/qq_44639795/article/details/100099600