MyBaits批量增删改查
来源:互联网 发布:水杉建模软件 编辑:程序博客网 时间:2024/05/19 13:30
foreach的主要用在构建in条件中,它可以在SQL语句中进行迭代一个集合。
foreach元素的属性主要有item,index,collection,open,separator,close。
item表示集合中每一个元素进行迭代时的别名,index指 定一个名字,用于表示在迭代过程中,每次迭代到的位置,
open表示该语句以什么开始,separator表示在每次进行迭代之间以什么符号作为分隔 符,close表示以什么结束,
在使用foreach的时候最关键的也是最容易出错的就是collection属性,该属性是必须指定的,
但是在不同情况 下,该属性的值是不一样的,主要有一下3种情况:
1. 如果传入的是单参数且参数类型是一个List的时候,collection属性值为list
2. 如果传入的是单参数且参数类型是一个array数组的时候,collection的属性值为array
3. 如果传入的参数是多个的时候,我们就需要把它们封装成一个Map了,当然单参数也可以封装成map,实际上如果你在传入参数的时候,
在breast里面也 是会把它封装成一个Map的,map的key就是参数名,所以这个时候collection属性值就是传入的List或array对象在自己封装的map 里面的key
<!-- collection="users" 用于指定循环集合的名称,如果接口中并未指定参数别名,那么默认就是list
item="item" 用于指定每次循环后的对象的别名
separator="," 用于指定每次循环后之间的分割符-->
<!-- index="index"表示索引,相当于数组下标, item="item"表示集合的元素,表示每个对象 --
1.新增
int insert(DmsDutymember record);
<insert id="insert" parameterType="com.uhope.dms.model.DmsDutymember" >
insert into dms_dutymember
values (#{id,jdbcType=VARCHAR}, #{dutyid,jdbcType=VARCHAR}, #{memberid,jdbcType=VARCHAR},
#{tel,jdbcType=VARCHAR}, #{week,jdbcType=VARCHAR}, #{deviceid,jdbcType=VARCHAR},
#{sortnum,jdbcType=INTEGER}, #{creator,jdbcType=VARCHAR}, #{createtime,jdbcType=VARCHAR},
#{dataSrc,jdbcType=VARCHAR})
</insert>
2.批量增加
int insertAllDutyMember(List<DmsDutymember> list);
<insert id="insertAllDutyMember" parameterType="java.util.List">
insert into dms_dutymember (id,dutyid,memberid,tel,week,deviceid,
sortnum,creator,createtime,data_src)
values
<foreach collection="list" item="item" index="index" separator="," >
(#{item.id},#{item.dutyid},#{item.memberid,jdbcType=VARCHAR},
#{item.tel,jdbcType=VARCHAR},#{item.week,jdbcType=VARCHAR},#{item.deviceid,jdbcType=VARCHAR},
#{item.sortnum,jdbcType=INTEGER},#{item.creator,jdbcType=VARCHAR},#{item.createtime,jdbcType=VARCHAR},
#{item.dataSrc,jdbcType=VARCHAR})
</foreach>
</insert>
3.根据ID删除
int deleteByPrimaryKey(String id);
<delete id="deleteByPrimaryKey" parameterType="java.lang.String" >
delete from dms_dutymember
where id = #{id,jdbcType=VARCHAR}
</delete>
4.批量删除
int deleteByPrimaryKeys(List list);
<delete id="deleteByPrimaryKeys" parameterType="java.util.List" >
delete from dms_dutymember where id in
<foreach collection="list" item="item" open="(" close=")" separator="," >
#{item}
</foreach>
</delete>
<!-- 第二种批量删除的写法 -->
<delete id="deleteByPrimaryKeys" parameterType="java.util.List" >
delete from dms_dutymember where id in(
<foreach collection="list" item="item" separator="," >
#{item}
</foreach>)
</delete>
5.根据ID修改更新
int updateByPrimaryKey(DmsDutymember record);
<update id="updateByPrimaryKey" parameterType="com.uhope.dms.model.DmsDutymember" >
update dms_dutymember
set dutyid = #{dutyid,jdbcType=VARCHAR},
memberid = #{memberid,jdbcType=VARCHAR},
tel = #{tel,jdbcType=VARCHAR},
week = #{week,jdbcType=VARCHAR},
deviceid = #{deviceid,jdbcType=VARCHAR},
sortnum = #{sortnum,jdbcType=INTEGER},
creator = #{creator,jdbcType=VARCHAR},
createtime = #{createtime,jdbcType=VARCHAR},
data_src = #{dataSrc,jdbcType=VARCHAR}
where id = #{id,jdbcType=VARCHAR}
</update>
6.
7.根据ID查找
DmsDutymember selectByPrimaryKey(String id);
<select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.String" >
select
<include refid="Base_Column_List" />
from dms_dutymember
where id = #{id,jdbcType=VARCHAR}
</select>
8.查找所有
List<DmsDutymember> findAllDutymember(Map<String, Object> params);
<select id="findAllDutymember" resultMap="BaseResultMap" parameterType="java.lang.String" >
select
<include refid="Base_Column_List" />
from dms_dutymember
</select>
9.模糊查询
List<DmsDutymember> findByDutymemberName(Map<String, Object> params);
<select id="findByDutymemberName" resultMap="BaseResultMap" parameterType="java.lang.String" >
select
<include refid="Base_Column_List" />
from dms_dutymember
<where>
<if test="searchValue != null and searchValue != ''">
tel like CONCAT('%',#{searchValue,jdbcType=VARCHAR},'%')
or week like CONCAT('%',#{searchValue,jdbcType=VARCHAR},'%')
or deviceid like CONCAT('%',#{searchValue,jdbcType=VARCHAR},'%')
or creator like CONCAT('%',#{searchValue,jdbcType=VARCHAR},'%')
</if>
</where>
</select>
10.表
<resultMap id="BaseResultMap" type="com.uhope.dms.model.DmsDutymember" >
<id column="id" property="id" jdbcType="VARCHAR" />
<result column="dutyid" property="dutyid" jdbcType="VARCHAR" />
<result column="memberid" property="memberid" jdbcType="VARCHAR" />
<result column="tel" property="tel" jdbcType="VARCHAR" />
<result column="week" property="week" jdbcType="VARCHAR" />
<result column="deviceid" property="deviceid" jdbcType="VARCHAR" />
<result column="sortnum" property="sortnum" jdbcType="INTEGER" />
<result column="creator" property="creator" jdbcType="VARCHAR" />
<result column="createtime" property="createtime" jdbcType="VARCHAR" />
<result column="data_src" property="dataSrc" jdbcType="VARCHAR" />
</resultMap>
<sql id="Base_Column_List" >
id, dutyid, memberid, tel, week, deviceid, sortnum, creator, createtime, data_src
</sql>
- MyBaits批量增删改查
- 批量增删改查--bulk
- MyBaits使用接口代理进行增删改查
- mybaits(2)_使用xml进行增删改查
- mybaits(3)_使用注解进行增删改查
- Hibernate 批量增删改查操作
- Hibernate 批量增删改查操作
- MyBatis批量增删改查操作
- MyBatis批量的增删改查操作
- mybatis增删改查与批量操作
- MyBatis批量增删改查操作
- springboot+Mybatis批量增删改查
- 学习笔记:mybaits的环境搭建和增删改查操作
- mybatis 批量增删改查的几种情况
- thinkphp3.2 管理员增删改查,批量删除
- jsp+servlet实现增删改查,分页,批量删除
- 购物车增删改查,正序倒序,批量删除
- 批量删除+反选+全部删除+增删改查+排序
- C# SqlBulkCopy类大批量数据存入数据库
- 第5章 Cucumber的Tags
- Android上支持矢量图标最简单的方法
- STL六大组件
- Dragonbaord 410c Python交互设计(2)——天气预报demo数据获取
- MyBaits批量增删改查
- vim&git 高级
- java反射对实体类取值和赋值
- jQuery UI datepicker用beforeShowDay给特殊日期添加样式以及常用的属性
- 附件上传下载
- 信息隐藏专业会议
- Linux利用list_head结构实现双向链表
- 进阶篇:3.5)粉末冶金件设计指南
- nc 5 和nc 6 如何破解 授权以满的问题