<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    yxhxj2006

    常用鏈接

    統計

    最新評論

    ibatis動態參數和集合參數配置

    iterate 

    // 此處必須要$,不能用#property<result property="" column=""/>    ibatis是輕量的ORM,類似于一個半自動化化數據操作框架。而hibernate是全自動的ORM。
        ibatis主要是讓實體類與數據庫的字段名稱一一對應,然后在xml編寫操作數據庫的SQL語句。
        ibatis數據庫操作主要包括增刪查改。
       主要包括:一:在代碼中:
                         通過sqlMapper.queryForList("sql_id",param),其中:sql_id就是我們在xml中編寫的sql語句id號(通過此id找到數據庫sql語句)
                         parm就是查詢條件參數值(一般是一個參數(也有兩個參數或者無參數)),參數值可以使對象,int或者String類型。
                    二:在xml編寫sql語句,主要包括增刪查改
                        在寫sql語句前,可以做一些其他的簡單說明:比如,類別名(類似給類弄一個簡稱,方法類以后使用),實體類與數據字段一一對應說明等等。
                        <sqlMap namespace="空間名稱">
                    <typeAlias alias="teacher" type="com.wsw.ibatis.bean.Teacher"/>        // 給類取一個別名,方便以后在后來使用。
                    <resultMap class="" id="">                                                             // 給返回的類定一個id號,以后就可以直接用該id表示這個類    
                    <result property="屬性名" column="數據庫字段名"/>                      // 返回的實體類的屬性與數據庫字段匹配,兩者名稱可相同或者不同 
                                   
    <result property="屬性名" column=" 數據庫字段名"/>
                    </resultMap>
                    <parameterMap class="" id="">                                                       // 參數類,用于執行sql的參數值,與上面的返回類不同。
                <parameter property="屬性名" jdbcType="屬性類型"/>                                        
                    </parameterMap>
                       </sqlMap>
                      還有就是: parameterClass 表示參數類,用于做參數值。
                                    parameterClass  表示返回值類,用于返回值。
                                    在這種情況下 ,沒有把實體類屬性和數據庫的字段一一寫出,表示實體類屬性和數據庫的字段名稱和類型完全一致。
                   ----------------------------------------------------------------------------------------------------------------------------
                        (1):增:     <insert id="addTeacher" parameterClass="com.wsw.ibatis.bean.Teacher">
                                               insert into teacher (id,username, age)values (#id#,#username#,#age#)
                                            </insert>
                                 
                        (2):刪:   <delete id="deleteAccountById" parameterClass="String">
    delete from teacher where id = #id#
    </delete>

                       (3):改: <update id="updateTeacher" parameterClass="com.wsw.ibatis.bean.Teacher">
    update teacher set username=#username#,age= #age# where id=#id#
    </update>

                       (4):查:    <!-- 查找某一條記錄 -->
                                    <select id="selectTeacherById" parameterClass="int" resultClass="com.wsw.ibatis.bean.Teacher">
                                select * from teacher where id = #id#
    </select>
                                           <!-- 查詢所有記錄 -->
                                    <select id="selectAllTeacher" resultClass="com.wsw.ibatis.bean.Teacher">
    select * from teacher
    </select>
                  ===============================================================================================
                        (5):動態按照條件查詢 (如果需要循環迭代,最好用list,不要用數組)
                                           <!-- 按照提交參數記錄 -->
    <select id="selectSomeTeacher" parameterClass="com.wsw.ibatis.bean.Teacher"                                                                   resultClass="com.wsw.ibatis.bean.Teacher" >
                                                select * from teacher 
                                    <dynamic prepend="WHERE">                 // 表示動態
                                  <isNotEmpty prepend="AND" property="username">        // isNotEmpty 表示如果非空,property表示類屬性名
                                  <![CDATA[ username in ]]>        
                                                                          <iterate conjunction="," open="(" close=")" property="username" >  // iterate 表示迭代
                                                $usernames[]$              // 此處必須要$,不能用#                     // 迭代必須是集合list 千萬不能
                                            </iterate>                                                                                             //是數組
                                   <![CDATA[]]>
                                                    </isNotEmpty>
    <isNotEmpty prepend="AND" property="age">
    (age = #age#)                              // 此處最好用#,不要用$
    </isNotEmpty>
    </dynamic>
    </select>
      

    posted on 2012-08-31 00:19 奮斗成就男人 閱讀(5152) 評論(0)  編輯  收藏


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 久久久久国色AV免费观看| 污视频在线免费观看| 亚洲精品午夜无码专区| 51在线视频免费观看视频| 亚洲 欧洲 视频 伦小说| 亚洲av无码国产精品色在线看不卡| 国产日韩精品无码区免费专区国产 | 亚洲国产高清在线精品一区| 日韩毛片无码永久免费看| 精品国产污污免费网站入口 | 97久久精品亚洲中文字幕无码| 三年片在线观看免费大全 | 亚洲日产乱码一二三区别| 亚洲一区日韩高清中文字幕亚洲| 131美女爱做免费毛片| 日本高清不卡中文字幕免费| 亚洲色图古典武侠| 亚洲VA综合VA国产产VA中| 亚洲一区二区三区免费在线观看| 成年免费a级毛片| 激情综合亚洲色婷婷五月APP| 久久亚洲国产成人影院网站| 成人A级毛片免费观看AV网站| 国内永久免费crm系统z在线| 亚洲熟伦熟女专区hd高清| 无码欧精品亚洲日韩一区| 免费a级毛片18以上观看精品| 国产大片91精品免费观看不卡| 国产va免费精品| 亚洲国产AV一区二区三区四区| 777亚洲精品乱码久久久久久| 亚洲日韩VA无码中文字幕 | 国内自产拍自a免费毛片| 亚洲精品在线免费观看| 中出五十路免费视频| 看全免费的一级毛片| 亚洲精品无码久久久久牙蜜区| 亚洲美女中文字幕| 国产AV无码专区亚洲AV男同| 亚洲精品无码激情AV| 国产精品黄页在线播放免费|