前言
<resultMap id="BaseResultMap" type="com.spring.demo.entity.Student">
<id column="id" property="id" jdbcType="INTEGER"/>
<result column="student_name" property="studentName" jdbcType="VARCHAR"/>
<result column="student_sex" property="studentSex" jdbcType="VARCHAR"/>
<result column="student_class" property="studentClass" jdbcType="INTEGER"/>
<result column="student_age" property="studentAge" jdbcType="INTEGER"/>
</resultMap>
<sql id="All_Menu">
id, student_name, student_sex, student_class, student_age
</sql>
查询
<!--无参数-->
<select id="selectAll" resultMap="BaseResultMap">
select
<include refid="All_Menu"/>
from student_table
</select>
<!--有参数-->
<select id="selectById" resultMap="BaseResultMap" parameterType="java.lang.Integer">
select
<include refid="All_Menu"/>
from student_table
where id = #{id, jdbcType=INTEGER}
</select>
修改
<update id="updateById" parameterType="com.spring.demo.entity.Student">
update student_table
<set>
<if test="studentName != null and studentName != ''">
student_name = #{studentName},
</if>
<if test="studentSex != null and studentSex != ''">
student_sex = #{studentSex},
</if>
<if test="studentClass != null and studentClass != ''">
student_class = #{studentClass},
</if>
<if test="studentAge != null and studentAge != ''">
student_age = #{studentAge},
</if>
</set>
<where>
id = #{id}
</where>
</update>
插入
<!--插入一个学生信息-->
<insert id="insertStudent" parameterType="com.spring.demo.entity.Student">
insert into student_table
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="studentName != null and studentName != ''">
student_name,
</if>
<if test="studentSex != null and studentSex != ''">
student_sex,
</if>
<if test="studentClass != null and studentClass != ''">
student_class,
</if>
<if test="studentAge != null and studentAge != ''">
student_age,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="studentName != null and studentName != ''">
#{studentName, jdbcType=VARCHAR},
</if>
<if test="studentSex != null and studentSex != ''">
#{studentSex, jdbcType=VARCHAR},
</if>
<if test="studentClass != null and studentClass != ''">
#{studentClass, jdbcType=VARCHAR},
</if>
<if test="studentAge != null and studentAge != ''">
#{studentAge, jdbcType=VARCHAR},
</if>
</trim>
</insert>
<!--插入一个学生信息列表-->
<insert id="insertStudentList">
insert into student_table (student_name, student_sex, student_class, student_age)
values
<foreach collection="list" item="item" separator=",">
(#{item.studentName}, #{item.studentSex},
#{item.studentClass}, #{item.studentAge})
</foreach>
</insert>
删除
<!--通过id删除信息-->
<delete id="deleteStudentById" parameterType="java.lang.Integer">
delete from student_table where id = #{id}
</delete>
<!--传入List删除-->
<delete id="deleteByIdList" parameterType="java.util.List">
delete from student_table
where id in (
<foreach collection="list" item="id" index="index" separator=",">
#{id}
</foreach>
)
</delete>
其它
resultType和resultMap的区别:
resultType是简单的返回类型,比如查询数据只需要一个简单的String、int只需要使用resultType即可满足需求,
resultMap是resultType的高级版,可以自定义返回类型
resultMap:
column对应数据库中的字段名字,property对应实体类的名字
输入映射parameterType:
可以传入8种基本数据类型,pojo类型,包装pojo类型(pojo类型再次封装),传入map(在映射文件中获取对应的key, #{key})