SSM框架中的Mapper.xml文件中的增、刪、改、查等操作


 1 <?xml version="1.0" encoding="UTF-8" ?>
 2 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 3 
 4 <!-- ==================代理方式=================
 5 由mapper標簽開始,由/mapper結束,可以把它想成一個空間,是映射文件
 6 屬性namespace:空間名,主要在代理中使用。這個namespace是唯一的。
 7 這里把mapper標簽和接口聯系在一起了,namespace=寫接口路徑,映射文件要和接口在同一目錄下
 8  -->
 9 <mapper namespace="com.dao.UserinfoDAO">
10     <!-- =============映射關系標簽=============
11     屬性type:寫po類的包名類名,由於之前定義了po類的別名,這里就寫這個別名
12     屬性id:是這個映射標簽的唯一標識
13     id標簽是查詢結果集中的唯一標識
14     屬性column:查詢出來的列名
15     屬性property:是po類里所指定的列名
16     通常會在原列名后面加下划線,這是固定的,這里就是id后面_
17      -->
18     <resultMap type="com.po.UserinfoPO" id="userinfoMap">
19         <result column="userid" property="userid"/>
20         <result column="loginname" property="loginname"/>
21         <result column="loginpass" property="loginpass"/>
22         <result column="username" property="username"/>
23         <result column="upower" property="upower"/>
24         <result column="birthday" property="birthday"/>
25         <result column="sex" property="sex"/>
26     </resultMap>
27     <!-- ==================定義sql片段==============
28     sql:是sql片段標簽屬性id是該片段的唯一標識 -->
29     <sql id="zd">
30         userid,loginname,loginpass,username,upower,birthday,sex
31     </sql>
32     <!-- 增刪改查標簽里的id:一定要和接口里對應的方法名一致,
33          resultMap輸出類型里寫映射標簽里的id 
34          parameterType:輸入類型,規范輸入數據類型,指明查詢時使用的參數類型-->
35     <!-- 驗證登錄 -->
36     <select id="login" resultMap="userinfoMap" parameterType="com.po.UserinfoPO">    
37         <!-- 用include標簽引入sql片段,refid寫定義sql片段的id,where標簽不要寫在片段里 -->
38         select <include refid="zd"/> from userinfo
39         <where>            
40                 loginname=#{loginname} and loginpass=#{loginpass}
41         </where>
42     </select>
43     
44     <!-- 查詢用戶列表 -->
45     <select id="userList" resultMap="userinfoMap" parameterType="com.po.UserinfoPO">
46         <!-- 用include標簽引入sql片段,refid寫定義sql片段的id,where標簽不要寫在片段里 -->
47         select <include refid="zd"/> from userinfo
48     </select>
49     
50     <!-- 查詢修改用戶信息的id -->
51     <select id="updateid" resultMap="userinfoMap" parameterType="com.po.UserinfoPO">
52         <!-- 用include標簽引入sql片段,refid寫定義sql片段的id,where標簽不要寫在片段里 -->
53         select <include refid="zd"/> from userinfo
54         <where>userid=#{userid}</where>
55     </select>
56     
57     <!-- 修改用戶信息 -->
58      <update id="update" parameterType="com.po.UserinfoPO">
59          update userinfo 
60          set loginname=#{loginname},loginpass=#{loginpass},username=#{username},
61              upower=#{upower},birthday=#{birthday},sex=#{sex}
62          where userid=#{userid}     
63      </update>
64      
65     <!-- 添加用戶信息 -->
66     <insert id="insert" parameterType="com.po.UserinfoPO">
67         insert into userinfo(<include refid="zd"/>) 
68         values
69         (#{userid},#{loginname},#{loginpass},#{username},#{upower},#{birthday},#{sex})
70     </insert>
71         
72     <!-- 增刪改查標簽里的id:一定要和接口里對應的方法名一致 -->
73     <delete id="delete" parameterType="int">
74         delete from userinfo where userid=#{userid}
75     </delete>
76     
77     <!-- 根據用戶名模糊查詢,根據權限查詢 -->
78     <select id="select" resultMap="userinfoMap" parameterType="java.util.Map">
79         <!-- 用include標簽引入sql片段,refid寫定義sql片段的id,where標簽不要寫在片段里 -->
80         select <include refid="zd"/> from userinfo
81         <!-- 當頁面沒有輸入用戶名和選擇權限,就讓它的條件永遠為真,就變成全查詢了 -->
82         <where>
83             <if test="username == null and username = '' and upower == -1">
84                 and 1=1
85             </if>
86             <if test="username != null and username !=''">
87                 and username LIKE '%${username}%' 
88             </if>        
89             <if test="upower != -1">
90                 and upower=#{upower} 
91             </if>            
92         </where>
93     </select>
94 </mapper>

后續-----


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM