//根据ID删除用户 @Delete("delete from emp where id=#{id}") publicintdelete(Integer id);//返回值是影响的记录数 @Update("update emp set username=#{username}, name=#{name}, create_time=#{createTime} where id=#{id}") publicvoidupdate(Emp emp);
@Mapper publicinterfaceEmpMapper { //根据ID删除用户 @Delete("delete from emp where id=#{id}") publicintdelete(Integer id);//返回值是影响的记录数 @Options(keyProperty = "id",useGeneratedKeys = true)//将自动生成的主键值赋值给emp对象的id属性 @Insert("insert into emp(username,name,creat_time) values (#{username},#{name},#{creatTime})") publicvoidinsert(Emp emp); @Update("update emp set username=#{username}, name=#{name}, create_time=#{createTime} where id=#{id}") publicvoidupdate(Emp emp); //Select方式一:开启mybatis驼峰命名自动映射开关 @Select("select * from emp where id=#{id}") public Emp getById(Integer id); //Select方式二:起别名 @Select("select id,username,create_time AS createTime from emp where id=#{id}")//AS关键字可以省略 public Emp getById(Integer id); //Select方式三:@Results,@Result注解手动映射 //property指的是类中的属性名,column指的是表中的字段名 @Select("SELECT id, username, name, create_time FROM emp WHERE id = #{id}") @Results({ @Result(property = "id", column = "id"), @Result(property = "username", column = "username"), @Result(property = "name", column = "name"), @Result(property = "createTime", column = "create_time") }) public Emp getById(Integer id);
//条件查询员工 @Select("select * from emp where name like '%${name}%' and gender = #{gender} and " +//注意此时如果写#{name}会出现问题 "entrydate between #{begin} and #{end} order by update_time desc ") public List<Emp> list(String name, Short gender, LocalDate begin, LocalDate end);
@Select("select * from emp where name like concat('%', #{name}, '%') and gender = #{gender} " +//换为concat即可使用 "and entrydate between #{begin} and #{end} order by update_time desc") public List<Emp> list(String name, Short gender, LocalDate begin, LocalDate end); }
@Select("select * from emp where name like concat('%', #{name}, '%') and gender = #{gender} and entrydate between #{begin} and #{end} order by update_time desc") public List<Emp> list(String name, Short gender, LocalDate begin, LocalDate end);
1 2 3 4 5 6 7 8 9 10
<?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.XXXXX.test.mapper.EmpMapper"> <!-- id为函数名,返回类型为Emp--> <select id="list" resultType="com.XXXXX.test.pojo.Emp"> select * from emp where name like concat('%', #{name}, '%')andgender= #{gender} and entrydate between #{begin} and #{end} order by update_time desc </select> </mapper>
<select id="list" resultType="com.XXXXX.test.pojo.Emp"> <include refid="empSelect"></include> <where> <if test="name != null"> name like concat('%', #{name}, '%') </if> <if test="gender != null"> andgender= #{gender} </if> <if test="begin != null and end != null"> and entrydate between #{begin} and #{end} </if> order by update_time desc </where>
//根据ID删除用户 @Delete("delete from emp where id=#{id}") publicintdelete(Integer id);//返回值是影响的记录数 @Update("update emp set username=#{username}, name=#{name}, create_time=#{createTime} where id=#{id}") publicvoidupdate(Emp emp);
@Mapper publicinterfaceEmpMapper { //根据ID删除用户 @Delete("delete from emp where id=#{id}") publicintdelete(Integer id);//返回值是影响的记录数 @Options(keyProperty = "id",useGeneratedKeys = true)//将自动生成的主键值赋值给emp对象的id属性 @Insert("insert into emp(username,name,creat_time) values (#{username},#{name},#{creatTime})") publicvoidinsert(Emp emp); @Update("update emp set username=#{username}, name=#{name}, create_time=#{createTime} where id=#{id}") publicvoidupdate(Emp emp); //Select方式一:开启mybatis驼峰命名自动映射开关 @Select("select * from emp where id=#{id}") public Emp getById(Integer id); //Select方式二:起别名 @Select("select id,username,create_time AS createTime from emp where id=#{id}")//AS关键字可以省略 public Emp getById(Integer id); //Select方式三:@Results,@Result注解手动映射 //property指的是类中的属性名,column指的是表中的字段名 @Select("SELECT id, username, name, create_time FROM emp WHERE id = #{id}") @Results({ @Result(property = "id", column = "id"), @Result(property = "username", column = "username"), @Result(property = "name", column = "name"), @Result(property = "createTime", column = "create_time") }) public Emp getById(Integer id);
//条件查询员工 @Select("select * from emp where name like '%${name}%' and gender = #{gender} and " +//注意此时如果写#{name}会出现问题 "entrydate between #{begin} and #{end} order by update_time desc ") public List<Emp> list(String name, Short gender, LocalDate begin, LocalDate end);
@Select("select * from emp where name like concat('%', #{name}, '%') and gender = #{gender} " +//换为concat即可使用 "and entrydate between #{begin} and #{end} order by update_time desc") public List<Emp> list(String name, Short gender, LocalDate begin, LocalDate end); }
@Select("select * from emp where name like concat('%', #{name}, '%') and gender = #{gender} and entrydate between #{begin} and #{end} order by update_time desc") public List<Emp> list(String name, Short gender, LocalDate begin, LocalDate end);
1 2 3 4 5 6 7 8 9 10
<?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.XXXXX.test.mapper.EmpMapper"> <!-- id为函数名,返回类型为Emp--> <select id="list" resultType="com.XXXXX.test.pojo.Emp"> select * from emp where name like concat('%', #{name}, '%')andgender= #{gender} and entrydate between #{begin} and #{end} order by update_time desc </select> </mapper>
<select id="list" resultType="com.XXXXX.test.pojo.Emp"> <include refid="empSelect"></include> <where> <if test="name != null"> name like concat('%', #{name}, '%') </if> <if test="gender != null"> andgender= #{gender} </if> <if test="begin != null and end != null"> and entrydate between #{begin} and #{end} </if> order by update_time desc </where>