<?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>