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

表单的各字段,都是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">
        
     delete>
sqlMap>

select


    <select id="selectUser" parameterClass="commonj.sdo.DataObject" resultClass="commonj.sdo.DataObject">
        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]]>
        property="userName">
             and USER_NAME = '$userName$'
        
    select>

update

<sqlMap>
    <update id="updateUser" parameterClass="java.util.HashMap">
    
                                   <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">
    
    update>
sqlMap>

insert

<sqlMap>
    <insert id="insertUser" parameterClass="commonj.sdo.DataObject">
    
    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">
    
    insert>
sqlMap>

你可能感兴趣的:(【程序人生】➣,技术水波纹)