【Maven+SSM】Mybatis动态SQL拼接根据对象删除单条或者多条数据
来源:互联网 发布:知著投资 vincent 编辑:程序博客网 时间:2024/05/18 06:15
前言:
上一篇文章写了对于多个属性的查询的Mybatis写法。实际是对一个对象的操作方式。
正文:
本文就补充写对一个list的操作吧。
先看如何删除一行数据。然后在看如何删除多行数据。
一、删除一行
<delete id="deleteOne" parameterType="java.lang.Integer"> delete from userinfo where id = #{_parameter} </delete>
_parameter即type传递过来的值。单独传递一个值可以通过这种写法书写。ONGL
二、删除多行
删除多行我们传递进来的一般来说就是一个list对象,那么如何从list对象中取出数据,并拼接程sql语句?
<delete id="deleteBatch" parameterType="java.util.List"> delete from userinfo where id in ( <foreach collection="list" item="item" separator=","> #{item} </foreach> ) </delete>通过foreach语句。separtor分割item,例如本来是delete from userinfo where id in (1,2,4,5);
1,2,4,5之间会有逗号分割,separator就是指的这个分隔符。collection可选,为list,map等,是数据源。item对应下面的item取值。
三、写dao层,service层,controller层:
dao层:
package dao;import java.util.List;import model.UserInfo;public interface BookMapper { UserInfo selectByUsername(String username); UserInfo selectByUser(UserInfo user); void deleteOne(int id); //批量删除 void deleteBatch(List<Integer> ids);}service层
package service;import java.util.List;import model.UserInfo;public interface UserService {UserInfo getUserInfo(String username);UserInfo getUserByUser(UserInfo user);void delete(int id);//批量删除void deleteBatch(List<Integer> ids);}service层实现:
package service;import java.util.List;import javax.annotation.Resource;import org.springframework.stereotype.Service;import dao.BookMapper;import model.UserInfo;@Servicepublic class UserServiceImpl implements UserService{@Resourceprivate BookMapper bookDao;@Overridepublic UserInfo getUserInfo(String username) {return bookDao.selectByUsername(username);}@Overridepublic UserInfo getUserByUser(UserInfo user) {return bookDao.selectByUser(user);}@Overridepublic void delete(int id) {bookDao.deleteOne(id);}@Overridepublic void deleteBatch(List<Integer> ids) {bookDao.deleteBatch(ids);}}controller层
package controller;import java.util.ArrayList;import java.util.List;import javax.annotation.Resource;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import model.UserInfo;import service.UserService;@Controllerpublic class EncodeController {@RequestMapping(value="j.do")public String viewAll(UserInfo userInfo) {System.out.println(userInfo.getUsername());System.out.println(userInfo.getPassword());return "successlogin";}@Resourceprivate UserService userService;@RequestMapping(value="h.do")public String viewAll2(UserInfo userInfo) {System.out.println(userService.getUserInfo("bobo").toString());return "successlogin";}@RequestMapping(value="i.do")public String viewAll3() {UserInfo user = new UserInfo();user.setId(2);user.setUsername("xiaoming");if(null != user)System.out.println(userService.getUserByUser(user).toString());return "successlogin";}@RequestMapping(value="k.do")public String viewAll4() {userService.delete(2);return "successlogin";}//批量删除@RequestMapping(value="l.do")public String viewAll5() {List<Integer> ids = new ArrayList<>();ids.add(new Integer(3));ids.add(new Integer(4));ids.add(new Integer(5));ids.add(new Integer(6));userService.deleteBatch(ids);return "successlogin";}}
阅读全文
0 0
- 【Maven+SSM】Mybatis动态SQL拼接根据对象删除单条或者多条数据
- 【Maven+SSM】Mybatis基础使用及动态SQL拼接根据对象查询数据
- MyBatis(四) 删除单条数据
- MyBatis删除单条记录
- MyBatis插入单条数据
- LitJson删除单条数据
- sql server多条数据拼接成字符串
- 多条sql查询结果拼接
- 拼接sql语句 多条入库
- JavaScript实现根据ID查询单条数据(伪SQL查询)
- Mybatis动态拼接SQL
- Mybatis动态拼接SQL
- MyBatis动态拼接SQL
- Mybatis动态拼接sql
- SQL中删除前1000条数据
- 【SQL】在数据库中使用单条指令插入多条数据
- 删除多条数据-解决方案
- sql分页取数据,或者取个别条数据
- Rhyme/Java 适配器模式应用场景
- UVA 11401 Triangle Counting——计数原理
- Windows PowerShell 使用SDKMAN
- 关于maven 项目创建和父项目和子项目的还有碰到的原因
- C语言学习预习:指针
- 【Maven+SSM】Mybatis动态SQL拼接根据对象删除单条或者多条数据
- vmware Workstation下安装redhat linux+oracle12c 之五 安装oracle 12c准备工作
- consul 集群配置
- linux用户切换与权限设置
- CTAssetsPickerController 选中图片不显示对号的问题解决
- 基于canal实现mysql、oracle的数据库实时同步
- Jenkins + svn + Maven+ tomcat搭建
- COM原理与应用学习之章节预览
- Scrapy学习笔记(9)---Requests and Responses