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

posted @ 2022-01-14 16:31  malala  阅读(81)  评论(0编辑  收藏  举报