1. 程式人生 > >SSM框架中的Mapper.xml文件中的增、刪、改、查等操作

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

關系 class 標識 encoding res doctype info com 參數類型

 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>

後續-----

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