1、選擇
<select id="getStaffName" parameterType="String" resultType="com.wlhse.entity.SuperVisionGroupMemberPojo">
select * from supervisiongroupmember where SupervisionGroupCode=#{uid};
</select>
注:此處的id必須與xxxDao接口(interface)執行該sql語句的方法名一致。
如果需要傳值,需要加入parameterType屬性與id屬性並列。resultType表示查詢到的值封裝的類型。
uid只是一個占位符,代表傳入的值。而SupervisionGroupCode是數據庫中表的字段(據說windows不區分大小寫,我這里表名、字段都區分了大小寫)
2、添加
<insert id="addTask">
insert into supervisiontask(StartDate,EndDate)values(#{startDate},#{endDate});
</insert>
注:第一個()中,代表的是數據庫中的字段,第二個()中代表的是實體類中的字段,由於實體類是駝峰形式,所以第一個字母小寫了。如果不小寫,get/set方法不會起作用,切記!!!
3、更新
<update id="addTask" parameterType="com.wlhse.entity.SuperVisionTaskPojo">
insert into set StartDate=#{startDate},EndDate=#{endDate} where id=#{id};
</update>
以上語句還可以改寫為:
<sql id="key1">
<trim suffixOverrides=",">
<if test="startDate != null and startDate != ''">
StartDate,
</if>
<if test="endDate != null and endDate != ''">
EndDate,
</if>
</trim>
</sql>
<sql id="value1">
<trim suffixOverrides=",">
<if test="startDate != null and startDate != ''">
#{startDate},
</if>
<if test="endDate != null and endDate != ''">
#{endDate},
</if>
</trim>
</sql>
<insert id="addTask">
insert into supervisiontask
(<include refid="key1"/> )
values
(<include refid="value1"/>)
</insert>
注:可以通過<sql>中的id中的值來確定語句,在insert中引用該語句。當需要寫比較復雜的語句時,可以使用這種方式。
4、刪除
<delete id="addTask" parameterType="Interger">
delete from supervisiontask where id=#{uid};
</delete>
注:id指的是數據庫中的字段,uid只是占位符,代表傳入的參數。
5、模糊查詢
<select id="getTaskTypeDetail" parameterType="String" resultType="com.wlhse.entity.DataDictPojo">
select * from datadict where DictCode like '%${value}%'
</select>
注:value代表傳入的參數,比如傳入的是字符串”王“則語句為 select * from datadict where DictCode like '%王%'
6、查詢某一個字段的最新記錄
<select id="queryStartDateByName" parameterType="String" resultType="String">
SELECT StartDate FROM supervisiontask WHERE ExecStaffName=#{uname} ORDER BY SupervisionTaskID DESC LIMIT 0,1;
</select>
注:這里是查詢員工名為某某某的任務起始時間,后面的ORDER BY SupervisionTaskID DESC LIMIT 0,1表示:通過SupervisionTaskID來排序,后面的LIMIT 0,1表示只取前一行的數據.