Java后端之SQL語句


 

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表示只取前一行的數據.

 


免責聲明!

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



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