<?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">
<!--namespace是對應的dao層接口-->
<mapper namespace="dao.StudentMapper">
<!--id就是方法的名稱 parameterType參數的類型-->
<insert id="insertOne" parameterType="entity.Student">
<!--#代表的是javaBean對象的屬性,用來設置sql語句中的位置的數據 -->
INSERT INTO st_student VALUE (DEFAULT,#{stuName},#{sex},#{birthDate},#{address})
</insert>
<delete id="deleteById" parameterType="int">
<!--因爲這裏參數是單個屬性所以#就代表這個屬性 -->
DELETE FROM st_student where id=#{id}
</delete>
<update id="updateInfo" parameterType="entity.Student">
UPDATE st_student
<!-- test中的stuName是javaBean的屬性
加了if判斷以後就是選擇字段更新否則就是全字段更新
set標籤替換了 UPDATE st_student set的set
並且去去掉了逗號
-->
<set>
<if test="stuName!=null and stuName!=''">
stuName=#{stuName},
</if>
<if test="sex!=null and sex!=''">
sex=#{sex},
</if>
<if test="birthDate!=null">
birthDate=#{birthDate},
</if>
<if test="address!=null and address!=''">
address=#{address}
</if>
</set>
WHERE id=#{id};
</update>
<!-- resultType作爲返回值類型(前提Bean對象的屬性名稱和數據庫中屬性名稱完全相等) 查詢最好全字段名稱儘量不用*-->
<select id="findById" parameterType="int" resultType="entity.Student">
SELECT id,stuName,sex,birthDate,address from st_student WHERE id = #{id}
</select>
<!--返回的是list集合和普通的一樣不用單獨設置-->
<select id="findAll" resultType="entity.Student">
SELECT id,stuName,sex,birthDate,address from st_student
</select>
</mapper>