参数为HashMap形式的增删改查命名SQL
来源:互联网 发布:it服务外包 编辑:程序博客网 时间:2024/06/01 10:49
表单的各字段,都是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>
阅读全文
0 0
- 参数为HashMap形式的增删改查命名SQL
- sql的增删改查
- SQL的增删改查
- Hashmap(增删改查)
- SQL增删改查
- sql 增删改查
- SQL增删改查
- SQL增删改查
- SQL---增删改查
- sql增删改查
- sql增删改查
- SQLiteDataBase的增删改查方法参数
- sql的简单的增删改查
- C#,sql数据库的增删改查
- sql基本的增删查改
- SQL语句的增删改查
- sql的简单增删改查
- sql 基础 ( 数据的增删改查 )
- Eclipse 生成*.jar包
- HEVC picture type 帧类型详解 [待整理]
- 设计模式之模板方法模式
- 牛客网编程基础16,18(洪水)
- 浅析人脸检测之Haar分类器方法
- 参数为HashMap形式的增删改查命名SQL
- Number Transformation LightOJ
- 设计模式--桥接模式
- React-Native进阶_6.导航 Naviagtion传递数据并展示
- Nginx+Tomcat搭建
- netty(一) java NIO
- 使用GemBox.Spreadsheet控件操作Excel文件
- spring boot 自学笔记(三) Redis集成—RedisTemplate
- 使用心理学推理出对方QQ空间的问题答案,非常给力哦!