<?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">
<mapper namespace="com.etoak.mapper.StudentMapper">
<insert id="addStu" parameterType="com.etoak.pojo.Student">
insert into tb_stu (s_name,s_email,s_age,s_birth)
values (#{name},#{email},#{age},#{birth})
</insert>
<!-- 映射 解决返回数据库字段和实体类字段不对应的问题
property 实体类字段
column 数据库表中字段
-->
<resultMap id="stu" type="com.etoak.pojo.Student">
<id property="id" column="s_id"></id>
<result property="name" column="s_name"></result>
<result property="age" column="s_age"></result>
<result property="email" column="s_email"></result>
<result property="birth" column="s_birth"></result>
</resultMap>
<select id="queryAll" resultMap="stu">
select s_id,s_name,s_age,s_email,s_birth from tb_stu
</select>
<!-- 模糊查询 -->
<select id="queryLike" parameterType="string" resultMap="stu">
select * from tb_stu where s_name like '%${name}%'
</select>
<!-- 分页查询 -->
<select id="queryPage" parameterType="int" resultMap="stu">
select * from tb_stu limit #{start},#{pageSize}
</select>
<select id="login" resultMap="stu">
select s_id,s_name,s_age,s_email,s_birth from tb_stu
where s_name = #{name} and s_email = #{email}
</select>
<!--
添加返回主键 (方法一: 开关 useGeneratedKeys="true") (返回的主键在Student参数里)
-->
<insert id="addFindId" parameterType="com.etoak.pojo.Student"
useGeneratedKeys="true" keyColumn="s_id" keyProperty="id">
insert into tb_stu (s_name,s_age,s_email,s_birth)
values (#{name},#{age},#{email},#{birth})
</insert>
<!-- 添加返回主键 (方法二: 查询数据库 select last_insert_id())
order="AFTER" 在添加之前查 / BEFORE 之后查 默认 AFTER
-->
<insert id="addFindId2" parameterType="com.etoak.pojo.Student">
<selectKey resultType="int" keyProperty="id" keyColumn="s_id" order="AFTER">
select last_insert_id()
</selectKey>
insert into tb_stu (s_name,s_age,s_email,s_birth)
values (#{name},#{age},#{email},#{birth})
</insert>
<!-- 批量添加 foreach -->
<insert id="addMore" parameterType="list">
insert into tb_stu (s_name,s_age,s_email,s_birth)
<foreach collection="list" item="stu" separator="union">
(select #{stu.name},#{stu.age},#{stu.email},#{stu.birth})
</foreach>
</insert>
</mapper>
mybatis 条件sql常用 !!!
最新推荐文章于 2024-01-07 10:26:38 发布