05-curd
<?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="xxx"> <insert id="insertStudent"> insert into student(name,age,score) values(#{name}, #{age}, #{score}) </insert> <insert id="insertStudentCatchId"> insert into student(name,age,score) values(#{name}, #{age}, #{score}) <selectKey resultType="int" keyProperty="id" order="AFTER"> <!-- select @@identity --> select last_insert_id() </selectKey> </insert> <!-- 当动态参数类型为基本数据类型或String时,#{}的作用仅仅是个占位符,其中填写什么内容都可以 当动态参数类型为自定义类型的对象时,#{}中填写的是该对象的属性名 --> <delete id="deleteById"> delete from student where id=#{xxx} </delete> <update id="updateStudent"> update student set name=#{name}, age=#{age}, score=#{score} where id=#{id} </update> <!-- resultType与resultMap指的是查询出的每一条记录所要封闭的对象类型,并非查询的结果集类型 --> <select id="selectAllStudent" resultType="Student"> select id,name,age,score from student </select> <select id="selectStudentById" resultType="Student"> select id,name,age,score from student where id=#{ooo} </select> <select id="selectStudentsByName" resultType="Student"> <!-- select * from student where name like '%张%' --> select id,name,age,score from student where name like '%' #{jjj} '%' <!-- select id,name,age,score from student where name like concat('%', #{jjj}, '%') --> <!-- select id,name,age,score from student where name like '%${value}%' --> </select> <select id="selectStudentsByCondition" resultType="Student"> select id,name,age,score from student where name like '%' #{name} '%' and age < #{age} </select> <select id="selectStudentsByCondition2" resultType="Student"> <!-- select id,name,age,score from student where name like '%' #{cname} '%' and age < #{cage} --> select id,name,age,score from student where name like '%' #{stu1.name} '%' and age < #{stu2.age} </select> <!-- 总结 #{}中可写填写什么内容: 1)参数对象的属性 2)任意内容,参数对象为基本数据类型或String时,起占位符作用 3)map的key 4)map的key的属性,当map的key为对象时 --> </mapper>