mybatis如何遍历Map的key和value【增删改查】
转:
mybatis如何遍历Map的key和value
1.sql.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">
- <!--namespace必须是接口的全类名 -->
- <mapper namespace="com.genius">
- <!-- 1.0 查询表结构是否存在 -->
- <select id="selectOne" parameterType="java.util.HashMap"
- resultType="java.util.HashMap">
- select count(*) as num from ${tableName} where seq =
- #{seq};
- </select>
- <!-- 1.1 插入一条数据 -->
- <insert id="insertOne" parameterType="java.util.Map">
- insert into ${tableName}
- <foreach collection="content.keys" item="key" open="(" close=")"
- separator=",">
- ${key}
- </foreach>
- values
- <foreach collection="content.values" item="value" open="("
- close=")" separator=",">
- #{value}
- </foreach>
- </insert>
- <!-- 1.2 更新记录 -->
- <update id="updateOne" parameterType="java.util.Map">
- UPDATE ${tableName} SET
- <foreach collection="content.keys" item="key" open="" close=""
- separator=",">
- ${key} = #{content[${key}]}
- </foreach>
- where seq = #{content[seq]} and genius_uid <=
- #{content[genius_uid]};
- </update>
- <!-- 1.3 删除无效数据 -->
- <delete id="deleteOne" parameterType="java.util.Map">
- delete from ${tableName}
- where seq = #{content[seq]};
- </delete>
- </mapper>
2.java代码:
- SqlSession session = MyBatisConnectionFactory.getSession("pg");
- HashMap<String, Object> params = new HashMap<>(); //传入的参数
- params.put("content", tableContent);
- params.put("tableName", tableName);
- params.put("seq", seq);
- int flag = session.delete("deleteOne", params); //删除记录
- HashMap<String, Object> map = session.selectOne("selectOne", params); //查询记录是否存在
- flag = session.update("updateOne", params) > 0 ? true : false; //更新
- flag = session.insert("insertOne", params) > 0 ? true : false; //新增
mybatis如何遍历Map的key和value【增删改查】的更多相关文章
- mybatis实战教程(mybatis in action)之三:实现数据的增删改查
前面已经讲到用接口的方式编程.这种方式,要注意的一个地方就是.在User.xml 的配置文件中,mapper namespace="com.yihaomen.mybatis.inter.I ...
- Mybatis的学习总结(一)——使用配置文件实现增删改查
在使用Mybatis作为持久层来进行操作数据库,有很多的操作都是一样的,基本上都是先得到session,然后调用session提供的相关方法进行操作,接着提交session,最后关闭session.那 ...
- Mybatis学习(3)实现数据的增删改查
前面已经讲到用接口的方式编程.这种方式,要注意的一个地方就是.在User.xml 的配置文件中,mapper namespace="com.yihaomen.mybatis.inter.I ...
- Mybatis select、insert、update、delete 增删改查操作
MyBatis 是支持普通 SQL 查询,存储过程和高级映射的优秀持久层框架. MyBatis 消除了几乎所有的 JDBC 代码和参数的手工设置以及对结果集的检索.MyBatis 可以使用简单的XML ...
- 【MyBatis】-----【MyBatis】---表级联系【一对一】--增删改查
一.核心配置文件 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE configuration ...
- MyBatis学习(二)MyBatis-Statement方式的增删改查
1.前期准备 项目骨架图如下所示 1.配置conf.xml <?xml version="1.0" encoding="UTF-8" ?> < ...
- Mybatis学习总结(二)—使用接口实现数据的增删改查
在这一篇中,让我们使用接口来实现一个用户数据的增删改查. 完成后的项目结构如下图所示: 在这里,person代表了一个用户的实体类.在该类中,描述了相关的信息,包括id.name.age.id_num ...
- MyBatis学习(二)、SQL语句映射文件(2)增删改查、参数、缓存
二.SQL语句映射文件(2)增删改查.参数.缓存 2.2 select 一个select 元素非常简单.例如: <!-- 查询学生,根据id --> <select id=" ...
- SpringMVC,MyBatis商品的增删改查
一.需求 商品的增删改查 二.工程结构 三.代码 1.Mapper层 (1) ItemsMapperCustom.java package com.tony.ssm.mapper; import ja ...
随机推荐
- 关于MySQL服务无法正常启动问题
使用mysql的时候,突然查看服务列表也找不到mysql服务 解决办法: 一.首先打开CMD,切换到MySql安装目录的MySql Server →bin目录下 运行如下命令(具体试个人安装的MySq ...
- zabbix4.2Proxy安装文档
zabbix4.2Proxy安装文档 目录 zabbix4.2Proxy安装文档 1 一.安装 2 1.前期安装准备 2 2.安装zabbix RPM源 3 2.1下载zabb ...
- 移动端的文本框获取焦点时导致fixed或absolute定位的按钮被手机键盘顶上去的问题
var win_h = $(window).height();//关键代码 window.addEventListener('resize', function () { if($(window).h ...
- 认识并初步应用GitHub——C++
好好学习,天天向上 一.这是一个根据规定的开头 GIT的地址 https://github.com/Notexcellent GIT的用户名 Notexcxllent 学号后五位 82405 博客地址 ...
- PHP程序员要掌握的技能
1. Composer 第一点就要提 Composer ,自从 Composer 出现后,PHP 的依赖管理可以变得非常简单.程序内依赖一些类库和框架,直接使用 Composer 引入即可,通过使用 ...
- 返回vector指针
#include<iostream> #include <vector> using namespace std; vector<int> *MyFind() { ...
- hive元数据
本文介绍Hive元数据库中一些重要的表结构及用途,方便Impala.SparkSQL.Hive等组件访问元数据库的理解. 1.存储Hive版本的元数据表(VERSION) 该表比较简单,但很重要. V ...
- 题解 [SCOI2007]修车
题面 解析 这题要拆点.. 首先,证明一个式子: 设修理员M修了N辆车, 且修每辆车的时间为W1,W2....WN. 那么,这个修理员一共花的时间就为:W1*N+W2*(N-1)+...+WN*1. ...
- vue中axios的二次封装
我们做项目时,虽然axios也可以直接拿来用,但是对接口比较零散,不太好进行维护,也会产生大量的重复代码,所以我在这对axios进行了统一接口处理 第一步,先在src中的公共文件夹中如utils里新建 ...
- VUE路由过度效果vs缓存
app页面 router.js