1:@RequestParam(defaultValue = "默认的值") 这个可以在一个参数的前面写上 要是前端不传值进来的话 这个形参就是你定义的默认值
2: slf4j 对应的是日志的输出
log.info("参数是 {}", detail);
3: 分页插件 PageHelper 用法:
准备工作: 引入依赖
3.1: 设置分页参数: PageHelper.startPage(page, pageSize);
3.2: 执行查询
3.3: 封装PageBean对象
4: @DateTimeFormat(pattern = "yyyy-MM-dd") 指定前端传进来的日期的格式
5: 操作数据库 xml配置文件 要与接口名字同包 同名
基本的代码模板:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd">
具体的代码演示:
注意:比如查询语句 <select>里面的id 要与接口查询的方法名保持一致 resultType要与返回的数据类型保持一致 但是xml里面写的是全类名 比如: com.findyou.mapper.EmpMapper
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper namespace="com.example.mapper.EmpMapper"><!-- 定义查询所有员工的SQL语句 --><select id="selectAllEmployees" resultType="com.example.model.Employee">SELECT * FROM employee;</select><!-- 定义根据员工ID查询员工信息的SQL语句 --><select id="selectEmployeeById" parameterType="int" resultType="com.example.model.Employee">SELECT * FROM employee WHERE id = #{id};</select><!-- 定义插入员工信息的SQL语句 --><insert id="insertEmployee" parameterType="com.example.model.Employee">INSERT INTO employee (name, age, department)VALUES (#{name}, #{age}, #{department});</insert><!-- 定义更新员工信息的SQL语句 --><update id="updateEmployee" parameterType="com.example.model.Employee">UPDATE employeeSET name = #{name}, age = #{age}, department = #{department}WHERE id = #{id};</update><!-- 定义根据员工ID删除员工信息的SQL语句 --><delete id="deleteEmployee" parameterType="int">DELETE FROM employeeWHERE id = #{id};</delete></mapper>
动态的写法是:
模糊匹配 查询包含name的
<if test = "name != null">
name like concat ('%', #{name}, '%')
</if>
6: 批量删除员工:
delete from emp where id in (1, 2, 3);
7:路径参数的接收: 在参数的前面加上 @PathVariable 表示的就是接收路径参数
比如: localhost:8080/emps/15,16,17 用的是delete的形式
8: 动态删除员工 <foreach>标签
collection: 要遍历的集合
item: 遍历出来的每一个元素
separator: 你这个集合里面每个元素的分隔符
open: 遍历之前拼接的是什么
close: 遍历之后拼接的是什么
代码演示:
<delete id = "delete"deletefrom empwhere id in<foreach collection="ids" item="id" separator="," open="{" close="}">#{id}</foreach>
</delete>
9:使用了@RequestBody注解,这样Spring会将请求的body部分转换成参数对象,并注入到参数中供方法使用