参数为HashMap形式的增删改查命名SQL

HashMap的增删改查 HashMap的增删改查,希望可以帮到大家 立即下载

表单的各字段,都是string类型提交到服务器的。所以可以直接用##加入数据库中,其中要注意的是日期birthday”2017-07-12”也是字符串类型,如果该表单字段未输入内容,则提交到服务器时用null取代而不是空字符串形式。所以在命名sql编写时,最好使用parameterMap形式,这样可以自动转换数据格式,而排出应表单输入为空,而自动填入null形式而报sql语法错误。
转为数据库中date格式时直接 to_Date(#birthday#,’yyyy-MM-dd’)。


delete

<sqlMap>
     <delete id="delete" parameterClass="commonj.sdo.DataObject">
        <![CDATA[delete from O_OPERATOR where OPERATOR_ID = #operatorId#]]>
     </delete>
</sqlMap>

select

<sqlMap>
    <select id="selectUser" parameterClass="commonj.sdo.DataObject" resultClass="commonj.sdo.DataObject">
        <![CDATA[select OPERATOR_ID "operatorId",
                        USER_ID "userId",
                        USER_NAME "userName",
                        BIRTHDAY "birthday",
                        GENDER "gender",
                        POSTCODE "postcode",
                        ADDRESS "address",
                        PHONE "phone",
                        EMAIL "email",
                        MEMO "memo"
         from O_OPERATOR where 1=1]]>
        <isNotNull  property="userName">
             and USER_NAME = '$userName$'
        </isNotNull>
    </select>
</sqlMap>

update

①
<sqlMap>
    <update id="updateUser" parameterClass="java.util.HashMap">
    <![CDATA[update O_OPERATOR set USER_ID=#userId#, 
                                   USER_NAME=#userName#, 
                                   BIRTHDAY=to_Date(#birthday#,'yyyy-MM-dd'), 
                                   GENDER=#gender#, 
                                   POSTCODE=#postcode#, 
                                   ADDRESS=#address#, 
                                   PHONE=#phone#]]>
                                   <isNotNull  property="email">                表单提交时,若该字段提交时为空,则
                                    ,EMAIL='$email$'                      email属性为null,用sql更新语句时,会报错
                                    </isNotNull>                            这里用<isnotnull>来实现为空则不插入该字段
                                   <isNotNull  property="memo">             或者用下面的方式,通过<parameterMap>方式
                                    ,MEMO='$memo$'                       若字段为null,则自动不传入值。
                                    </isNotNull>
              where OPERATOR_ID=#operatorId#
    </update>
</sqlMap>
②
<sqlMap>
    <parameterMap class="java.util.HashMap" id="parameterMap">
       <parameter javaType="string" jdbcType="VARCHAR" property="userId"/>
       <parameter javaType="string" jdbcType="VARCHAR" property="userName"/>
       <parameter javaType="string" jdbcType="VARCHAR" property="birthday"/>
       <parameter javaType="string" jdbcType="VARCHAR" property="gender"/>
       <parameter javaType="string" jdbcType="VARCHAR" property="postcode"/>
       <parameter javaType="string" jdbcType="VARCHAR" property="address"/>
       <parameter javaType="string" jdbcType="VARCHAR" property="phone"/>
       <parameter javaType="string" jdbcType="VARCHAR" property="email"/>
       <parameter javaType="string" jdbcType="VARCHAR" property="memo"/>
       <parameter javaType="string" jdbcType="VARCHAR" property="operatorId"/>
    </parameterMap>

    <update id="updateUser" parameterMap="parameterMap">
    <![CDATA[update O_OPERATOR set USER_ID=?, 
                                   USER_NAME=?, 
                                   BIRTHDAY=to_Date(?,'yyyy-MM-dd'), 
                                   GENDER=?, 
                                   POSTCODE=?, 
                                   ADDRESS=?, 
                                   PHONE=?,
                                    EMAIL=?,
                                    MEMO=?
              where OPERATOR_ID=?]]>
    </update>
</sqlMap>

insert

①
<sqlMap>
    <insert id="insertUser" parameterClass="commonj.sdo.DataObject">
    <![CDATA[insert into O_OPERATOR (
            OPERATOR_ID,USER_ID,USER_NAME,BIRTHDAY,GENDER,POSTCODE,ADDRESS,PHONE,EMAIL,MEMO) 
            values (#operatorId#,#userId#,#userName#,to_Date(#birthday#,'yyyy-MM-dd'),
            #gender#,#postcode#,#address#,#phone#,#email#,#memo#)]]>
    </insert>
</sqlMap>
②
<sqlMap>
    <parameterMap class="java.util.HashMap" id="parameterMap">
       <parameter javaType="string" jdbcType="INTEGER" property="operatorId"/>
       <parameter javaType="string" jdbcType="INTEGER" property="userId"/>
       <parameter javaType="string" jdbcType="VARCHAR" property="userName"/>
       <parameter javaType="string" jdbcType="VARCHAR" property="birthday"/>
       <parameter javaType="string" jdbcType="VARCHAR" property="gender"/>
       <parameter javaType="string" jdbcType="VARCHAR" property="postcode"/>
       <parameter javaType="string" jdbcType="VARCHAR" property="address"/>
       <parameter javaType="string" jdbcType="VARCHAR" property="phone"/>
       <parameter javaType="string" jdbcType="VARCHAR" property="email"/>
       <parameter javaType="string" jdbcType="VARCHAR" property="memo"/>
    </parameterMap>

    <insert id="insertUser" parameterMap="parameterMap">
    <![CDATA[insert into O_OPERATOR (
            OPERATOR_ID,USER_ID,USER_NAME,BIRTHDAY,GENDER,POSTCODE,ADDRESS,PHONE,EMAIL,MEMO) 
            values (?,?,?,?,?,?,?,?,?,?)]]>
    </insert>
</sqlMap>
hashmap学员简单增删改查 序列化 自己写的小程序,面向对象,集合,io等等内容 立即下载

相关推荐

ECU-TEST 快速入门

ECU-TEST 是由位于德国德累斯顿的TraceTronic公司开发的一款用于嵌入式系统测试验证软件工具。自从2003年首次发布ECU-TEST ,该软件成为了汽车ECU开发的标准工具 ,同时也逐步成为了重型机械和工业自动化开发的标准工具 。该软件是起源自于一个控制单元的系统化测试的项目研究,从而为从德累斯顿工业大学脱离出来的TraceTronic公司奠定了基础。ECU-TEST旨在完成测试案例的规范化、评估、求解和归档。得益于该软件包含大量的自动化测试方法使得测试案例的所有必要功能如创建、求解和评估

wangying202的博客 1万+

翻车现场:ParameterMap cannot be cast to java.util.HashMap

问题报错: ParameterMap cannot be cast to java.util.HashMap 也就是说:request.getParameterMap 类型的map不能转换为HashMap 解决: request.getParameterMap() 是不能进行强转map类型,但可以间接完成转换,解决方法如下: Map<String, String[]> map = new HashMap<String,String[]>(reques..

每天进步一点点 1957

支持向量机算法(带你了解原理 实践)

支持向量机作为一种强大的分类算法,在各个领域都取得了显著的成果。其基于统计学习理论的原理使得它能够在高维空间中找到最优分类超平面,并通过核函数处理非线性问题。

2303_79387663的博客 3738

Mybatis动态SQL & ResultType = hashMap

mybatis update set 多个字段 <update id="updateCustomer" parameterType="com.entrym.domain.Customer"> UPDATE customer set <if test="name!=null">name=#{name,jdbcType=VARCHAR},</if> <if test="role!=null">role=#{role,jdbcType=VAR

qq_33934427的博客 4108

手把手教你用GNU Radio和PlutoSDR搭建FM收音机(附完整流程图)

本文提供了一份详细的实践指南,教你如何使用GNU Radio和PlutoSDR搭建一个功能完整的FM收音机。从软硬件环境准备、核心流程图构建,到运行调试与效果优化,手把手带你完成从射频信号接收、下变频、FM解调到音频输出的全过程,是入门软件定义无线电(SDR)的绝佳实践项目。

weixin_29189377的博客 752

【SpringBoot 3.x 第56节】再见 Feign?原生 HTTP 接口强势上位,这才是微服务调用的正确姿势!

🏆本文收录于《滚雪球学SpringBoot 3》,专门攻坚指数提升,本年度国内最系统+最专业+最详细(永久更新)。    本专栏致力打造最硬核 SpringBoot3 从零基础到进阶系列学习内容,🚀均为全网独家首发,打造精品专栏,专栏持续更新中…欢迎大家订阅持续学习。 如果想快速定位学习,可以看这篇【SpringBoot3教程导航帖】,你想学习的都被收集在内,快速投入学习!!两不误。    若还想学习更多,可直接前往《滚雪球学SpringBoot(全版本合集)》,涵盖SpringBoot所有版本教学文章

**My Coding Family** 1017

开发小工具(实体类、返回map,sql语句自动生成)

创建工程、导入maven依赖 1.添加Thymeleaf依赖 要想使用Thhymeleaf,首先要在pom.xml文件中单独添加Thymeleaf依赖。 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spri...

craywen的博客 639

【软件系统架构】系列四:嵌入式技术

嵌入式系统是以应用为中心、以计算机技术为基础,并将可配置与可裁剪的软硬件集成于一体的专用计算机系统。它需要满足功能、可靠性、成本、体积、功耗等方面的严格要求。 嵌入式系统一般由以下组成部分构成:

moton2017的博客 1001

Ibatis/mybatis中,查询SQL参数和返回都是Map的情况

在实际开发中,经常需要SQL查询的参数为map,而返回的结果集也是map的情况,不用去写繁琐的ResultMap. 其DAO接口代码如下:

simon_xu_sh的专栏 1857

倍福--实现TCP/IP的配置

控制器为CX5120,需要和上位机做通信,选择TCP/IP的通讯方式,本文介绍TCP/IP通信的操作步骤。 目 录 软硬件版本 3 1.1. 倍福Beckhoff 3 1.1.1. 控制器硬件 3 1.1.2. 控制软件 3 1.2. 串口调试助手 3 1.2.1. TCP调试通信助手 3 授权文件 3 2.1 Lib文件 3 2.2. CAB文件 4 PLC程序编写 4 3.1. 引入TCP/IP库文件 4 3.2. Client端程序 5 3.2.1. 建立相关变量 5 3.3.2. 编写连接功能块

weixin_41883890的博客 5730

YOLOv8改进,YOLOv8主干网络替换为FasterNet(全网独发手把手教学,助力涨点)

FasterNet的整体架构由四个分层阶段组成,每个阶段包含一组FasterNet模块,并在前面加一个嵌入或合并层。最后三层用于特征分类。每个FasterNet模块内部,一个PConv层后跟两个PWConv层,为了保持特征多样性并降低延迟,归一化和激活层仅在中间层之后进行,其中,PConv 是一种快速高效的卷积操作,通过仅对部分输入通道应用卷积滤波器,而保持其余通道不变,从而减少了计算量和内存访问。

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 2018

Java的HashMap应用(查增改删)

记录:295 场景:Java的HashMap理解与应用。把对HashMap操作,从查、增、改、删的角度去理解和应用HashMap的API。

zhangbeizhen18的博客 4812

ORB-SLAM2算法4之KITTI开源数据集运行ORB-SLAM2生成轨迹并用evo工具评估轨迹

ORB-SLAM2算法1 已成功编译安装ORB-SLAM2到本地,本篇目的是用KITTI开源数据来运行ORB-SLAM2,并生成轨迹,最后用evo评估工具来评估ORB-SLAM2生成的轨迹和真值轨迹。

重点记录机器人和自动驾驶相关领域的技术,尤其是计算机视觉,视觉SLAM等,不仅有前言文献或必备算法的学习,也会有实际应用的点滴经验 2326

实训总结day2(mybatis基本概念,框架搭建,动态代理方式,增删改查,模糊查询,解决字段命名冲突)

什么是Mybatis: MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。2013年11月迁移到Github。 MyBatis是一个优秀的持久层框架,它对jdbc的操作数据库的过程进行封装,使开发者只需要关注 SQL 本身,而不需要花费精力去处理例如注...

发光吖的博客 524

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

对hibernate增删改查总结

对hibernate增删改查总结 (1)Hql 更新     A. 注意这里是部分更新。如果直接进行更新session.update(js);将会默认更新所有的字段。设置更新的字符时,采用的是下标(0,1,2,3)的形式。 @Override public void upadteJS(BJs js) { BJs是类 String hql = "update BJs js set  js

leixingbang的专栏 1375

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

day7/14

Hashmap Hashmap特点 //1.key-value形式 //2.集合里面数据是无序的 //3.key不能重复,value可以重复 //数组的特点 //1.规定数据类型 //2.规定数据长度 //有序 //ArrayList的特点 //数据类型不固定,长度不固定 有序 import java.util.HashMap; public class MapTest { pu...

weixin_45351817的博客 108

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

java创建数据库_用Java语言来进行数据库的创建以及增删改查

packagecom.bwf.a10_sql_02.db;importandroid.content.ContentValues;importandroid.content.Context;importandroid.database.Cursor;importandroid.database.sqlite.SQLiteDatabase;/*** 使用该类来封装增删改查等数据库操作的方法,方便使用...

weixin_30938297的博客 1156

mybatis动态SQL语法

对于频繁使用的SQL可以使用 下列方式完成封装。封装结果集–显示结果的字段。

qq_42612870的博客 855

基于springboot实现注解形式的mybatis

1.首先是用到的两个工具类: package com.wangyu.utils; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.ResultSetMetaData; ...

qq_41988225的博客 324

后台开发笔试全攻略:从HashMap到分布式锁的考点解析

后台开发岗位的笔试与纯算法题不同,更注重考察工程实践中真正会用到的核心原理。从Java集合框架的HashMap底层设计,到并发编程中的线程池与锁机制,再到MySQL索引优化和Redis缓存策略,这些知识点共同构成了后台工程师解决问题的技术基石。理解它们的原理,不仅是为了应对笔试,更是为了在真实的高并发、分布式场景中做出正确技术选型。本文以一份典型的后台岗笔试题为例,逐题剖析背后的考点与答题思路,帮助你建立系统的知识框架,提升实战能力。

weixin_29261711的博客 327

mybatis 多字段in_Mybatis多字段模糊查询

刚刚学习Mybatis,认识到增删改查这些操作都只能传入一个参数,传出一个参数。如果需要传入或传出好几个参数,则有两种方法:方法1::这就需要定义PO(Persistent Object)类。我理解的PO类就是主要用来和数据库打交道的,该类的变量基本上都要在数据库表中存在(有可能分布在多张表中,比如将多表查询时获得的结果放到PO类中)。随便说一下VO类(Value Object),我理解的VO类主...

weixin_32465003的博客 1054

用java语句创建数据库_用Java语言来进行数据库的创建以及增删改查1

packagecom.bwf.a10_sql_02.db;importandroid.content.ContentValues;importandroid.content.Context;importandroid.database.Cursor;importandroid.database.sqlite.SQLiteDatabase;/*** 使用该类来封装增删改查等数据库操作的方法,方便使用...

weixin_39688035的博客 301

mybatis一个方法执行多条sql_Mybatis之Mapper接口如何执行SQL

前言在众多的ORM框架中,Mybatis现在越来越多的被互联网公司所使用;主要原因还是因为Mybatis使用简单,操作灵活;本系列准备通过提问的方式来从源码层来更加深入的了解Mybatis。提问我们最常用的使用Mybatis的方式是获取一个Mapper接口对象,然后通过接口的方法名映射到配置文件中的statement;大致的代码格式如下所示:public class BlogMain { publ...

weixin_34584899的博客 1585

Mybatis的增删改查语法标签

1.增加(insert) <!--添加所有的商品--> <insert id="addActivityServe" parameterType="类的全路径" useGeneratedKeys="true" keyProperty="id"> insert into "表名" <trim prefix="(" suffix=")" suffixOverrides=","> <if test="goods

qq_37176833的博客 686

mybatis动态表增删改查

mybatis动态表操作

zhu714702382的博客 723

JDBC连接MySQL 方法(封装方法,把增删改查操作封装在函数中)

准备工作   首先,安装MySQL,配置用户名和密码,创建数据库。   可参见之前的文章:   http://www.cnblogs.com/mengdd/p/3154638.html   http://www.cnblogs.com/mengdd/p/3154922.html   准备驱动包   要用JDBC连接MySQL,需要一个驱动包:   可

ITofwanyifei的专栏 1523
上一篇: 实习前十天总结
下一篇: 实习20天小结
gamedev˚
博客等级 码龄12年 280粉丝 293原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值