日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 默认站点!

默认站点

當前位置: 首頁 >

mybatis简单案例源码详细【注释全面】——Dao层映射文件(UserMapper.xml)【重要】

發布時間:2023/12/3 25 豆豆
默认站点 收集整理的這篇文章主要介紹了 mybatis简单案例源码详细【注释全面】——Dao层映射文件(UserMapper.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"><mapper namespace="org.dao.UserMapper"><!-- user的resultMap,當數據庫字段信息和對象的屬性不一樣時,需要通過resultMap來映射 --><!--association,property,對應的是實體類對象的名稱;resultMap對應的是另一個表的映射 --><resultMap type="Users" id="userList"><result property="id" column="id"/><result property="userCode" column="userCode"/><result property="userName" column="userName"/><result property="userPassword" column="userPassword"/><result property="gender" column="gender"/><result property="birthday" column="birthday"/><result property="phone" column="phone"/><result property="address" column="address"/><result property="userrole" column="userrole"/><result property="createBy" column="createBy"/><result property="creationDate" column="creationDate"/><result property="modifyBy" column="modifyBy"/><result property="modifyDate" column="modifyDate"/><association property="role" resultMap="roleList"/></resultMap><!-- Role的resultMap --><resultMap type="Role" id="roleList"><result property="id" column="id"/><result property="roleCode" column="roleCode"/><result property="roleName" column="roleName"/><result property="createdBy" column="createdBy"/><result property="creationDate" column="creationDate"/><result property="modifyBy" column="modifyBy"/><result property="modifyDate" column="modifyDate"/></resultMap><!-- 查詢用戶表的記錄數 --><select id="count" resultType="int">select count(*) from user</select><!-- 查詢所有的用戶信息 --><select id="getUserList" resultType="Users">select * from user</select><!-- 根據用戶名進行模糊查詢 --><select id="getUsersByName" resultMap="userList" parameterType="string">select * from user where userName like concat ('%',#{userName},'%')</select><!-- 查詢用戶列表 --><select id="getUserListByUser" resultMap="userList" parameterType="Users">select * from user where userName like concat('%',#{userName},'%') and userRole = #{userrole}</select><!-- 查詢用戶列表,參數是Map集合 --><select id="getUsersListByMap" resultMap="userList" parameterType="Map">select * from user where userName like concat ('%',#{userName},'%') and userRole = #{userrole}</select><!-- 查詢用戶列表,連接查詢--><select id="getUserListAndRole" resultMap="userList" parameterType="Users">select * from user u join role r on u.userRole = r.id where u.userName like concat ('%',#{userName},'%') and u.userrole = #{userrole}</select><!-- 增加用戶,字段名必須都寫上 --><insert id="saveUser" parameterType="Users">insert into user (userCode,userName,userPassword,gender,birthday,phone,address,userRole,createdBy,creationDate,modifyBy,modifyDate) values(#{userCode},#{userName},#{userPassword},#{gender},#{birthday},#{phone},#{address},#{userrole},#{createBy},#{creationDate},#{modifyBy},#{modifyDate})</insert><!-- 根據id修改信息 --><update id="updateUser" parameterType="Users">update user set userCode=#{userCode},userName=#{userName},userPassword=#{userPassword},gender=#{gender},birthday=#{birthday},phone=#{phone},address=#{address},userRole=#{userrole},createdBy=#{createBy},creationDate=#{creationDate},modifyBy=#{modifyBy},modifyDate=#{modifyDate}where id=#{id}</update><!-- 根據編號進行刪除數據 --><delete id="delUser" parameterType="int">delete from user where id=#{id}</delete><!-- 根據id查詢用戶列表 --><select id="getUsersById" parameterType="int" resultMap="userList">select * from user where id = #{id}</select><!-- 根據角色id查詢用戶列表 --><select id="getUsersByRoleId" parameterType="int" resultMap="userList">select * from user u,role r where u.userrole = #{userrole} and r.id = u.userrole</select><!-- 根據用戶名和角色編號查詢用戶信息 --><select id="getUsersListByUserNameAndRole_if" resultMap="userList">select * from user u, role r where u.userrole=r.id<if test="userrole!=null">and userrole = #{userrole}</if><if test="userName!=null">and userName like concat('%',#{userName},'%')</if></select><!-- 動態根據用戶名和角色id查詢用戶列表,where and|or --><select id="getUsersListByUserNameAndRole_ifAndwhere" resultMap="userList">select * from user <where><if test="userrole!=null and userrole!=''">and userrole = #{userrole}</if><if test="userName!=null and userName!=''">and userName like concat('%',#{userName},'%')</if></where></select><!-- 動態修改用戶信息表if+set --><update id="updateUser_ifAndSet" parameterType="Users">update user<set><if test="userCode!=null">userCode=#{userCode},</if><if test="userName!=null">userName=#{userName},</if><if test="userPassword!=null">userPassword=#{userPassword},</if><if test="gender!=null">gender=#{gender},</if><if test="birthday!=null">birthday=#{birthday},</if><if test="phone!=null">phone=#{phone},</if><if test="address!=null">address=#{address},</if><if test="userrole!=null">userrole=#{userrole},</if><if test="createBy!=null">createdBy=#{createBy},</if><if test="creationDate!=null">creationDate=#{creationDate},</if><if test="modifyBy!=null">modifyBy=#{modifyBy},</if><if test="modifyDate!=null">modifyDate=#{modifyDate},</if></set>where id=#{id}</update><!-- 動態根據用戶名和角色id查詢用戶列表,使用trim進行查詢用戶信息,where and|or --><!-- prefix:前綴,通過自動識別是否有返回值,在trim包含的內容上加上前綴 --><!-- suffix:后綴,在trim包含的內容的上加上后綴 --><!-- prefixOverrides:對于trim包含的內容的首部進行指定內容 --><!-- suffixOverrides:地獄與trim包含的內容的首尾部進行指定內容的忽略 --><select id="getUsersListByUserNameAndRole_ifAndwhere_trim" resultMap="userList">select * from user <trim prefix="where" prefixOverrides="and | or"><if test="userrole!=null and userrole!=''">and userrole = #{userrole}</if><if test="userName!=null and userName!=''">and userName like concat('%',#{userName},'%')</if></trim></select><!-- 動態修改用戶信息表if+trim --><update id="updateUser_ifAndTrim" parameterType="Users">update user<trim prefix="set" suffixOverrides="," suffix="where id=#{id}"><if test="userCode!=null">userCode=#{userCode},</if><if test="userName!=null">userName=#{userName},</if><if test="userPassword!=null">userPassword=#{userPassword},</if><if test="gender!=null">gender=#{gender},</if><if test="birthday!=null">birthday=#{birthday},</if><if test="phone!=null">phone=#{phone},</if><if test="address!=null">address=#{address},</if><if test="userrole!=null">userrole=#{userrole},</if><if test="createBy!=null">createdBy=#{createBy},</if><if test="creationDate!=null">creationDate=#{creationDate},</if><if test="modifyBy!=null">modifyBy=#{modifyBy},</if><if test="modifyDate!=null">modifyDate=#{modifyDate},</if></trim></update><!-- 根據用戶角色列表,獲取該角色劉表下用戶列表信息foreach_array --><!-- item:循環體中的具體對象。支持屬性的點路徑訪問,如item.age,item.info.details。 具體說明:在list和數組中是其中的對象,在map中是value。該參數為必選。 --><!-- collection:要做foreach的對象,作為入參時,List<?>對象默認用list代替作為鍵,數組對象有array代替作為鍵,Map對象沒有默認的鍵。當然在作為入參時可以使用@Param("keyName")來設置鍵,設置keyName后,list,array將會失效。 除了入參這種情況外,還有一種作為參數對象的某個字段的時候。舉個例子:如果User有屬性List ids。入參是User對象,那么這個collection = "ids"如果User有屬性Ids ids;其中Ids是個對象,Ids有個屬性List id;入參是User對象,那么collection = "ids.id"上面只是舉例,具體collection等于什么,就看你想對那個元素做循環。該參數為必選。 --><!-- separator:元素之間的分隔符,例如在in()的時候,separator=","會自動在元素中間用“,“隔開,避免手動輸入逗號導致sql錯誤,如in(1,2,)這樣。該參數可選。 --><!-- open:foreach代碼的開始符號,一般是(和close=")"合用。常用在in(),values()時。該參數可選。 --><!-- close:foreach代碼的關閉符號,一般是)和open="("合用。常用在in(),values()時。該參數可選。 --><!-- index:在list和數組中,index是元素的序號,在map中,index是元素的key,該參數可選。 --><select id="getUsersByRoleId_foreach_array" resultMap="userList">select * from user where userrole in <foreach collection="array" item="roleids" open="(" separator="," close=")">#{roleids}</foreach></select><!-- 根據用戶角色列表,獲取該角色劉表下用戶列表信息foreach_list --><select id="getUsersByRoleId_foreach_list" resultMap="userList">select * from user where userrole in <foreach collection="list" item="roleids" open="(" separator="," close=")">#{roleids}</foreach></select><!-- 根據用戶角色列表和性別(多參數),獲取該角色劉表下用戶列表信息foreach_map --><select id="getUsersByRoleId_foreach_many_map" resultMap="userList">select * from user where gender = #{gender} and userrole in <foreach collection="roleids" item="roleMap" open="(" separator="," close=")">#{roleMap}</foreach></select><!-- 根據用戶角色列表(單參數),獲取該角色劉表下用戶列表信息foreach_map --><select id="getUsersByRoleId_foreach_one_map" resultMap="userList">select * from user where userrole in <foreach collection="rKey" item="roleMap" open="(" separator="," close=")">#{roleMap}</foreach></select><!-- 查詢用戶列表,使用choose --><select id="getUsersList_choose" resultMap="userList">select * from user where 1=1<choose><when test="userName!=null and userName!=''">and userName like concat('%',#{userName},'%')</when><when test="userrole!=null">and userrole =#{userrole}</when><when test="userCode!=null and userCode!=''">and userCode =#{userCode}</when><otherwise>and YEAR(creationDate) = YEAR(#{creationDate})</otherwise></choose></select><!-- 分頁顯示用戶信息 --><select id="getUserList_page" resultMap="userList">select * from user limit #{from},#{pageSize}</select> </mapper>

總結

以上是默认站点為你收集整理的mybatis简单案例源码详细【注释全面】——Dao层映射文件(UserMapper.xml)【重要】的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得默认站点網站內容還不錯,歡迎將默认站点推薦給好友。