SSM知识点+注解详解

SSM知识点+注解详解,第1张

SSM知识点+注解详解

SSM知识点+注解详解
  • 参数取值特殊说明
      • @Param注解使用
    • RestFul语法
      • @PathVariable注解使用
    • Axios-POST/PUT
      • @RequesBody使用
  • 常见动态代理

参数取值特殊说明

1.形参/实参:参数传递的是值,与名称无关;
2.resultMap简化:当开启驼峰映射规则时,可以自动映射,则resultType可以直接使用;
3.如果mybatis传递的参数只有一个,则mybatis是利用下标取值,所以名称任意;
但是,一般需要注意开发规范。

Dept findDeptById(int id);
方式一:

    select * from dept where dept_id = #{id}

方式二:

    select * from dept where dept_id = #{id}

RestFul语法

1.用户url编辑
* 1.1 参数与参数之间使用/分割.
* 1.2 restFul结构顺序一旦确定,不能随意更改
* 1.3 如果使用restFul结构,请求路径中不能出现动词.隐藏目的.
*
* 2.用户规范:
* 由于restFul结构请求路径都是名词,所以不能区分业务逻辑.
* 所以采用请求类型,严格区分业务需求.
* 2.1 GET 查询 *** 作
* 2.2 POST 新增 *** 作/form表单提交
* 2.3 PUT 修改 *** 作
* 2.4 DELETE 删除 *** 作
*
* 3.参数接收
* 1.参数与参数之间使用/分割.
* 2.参数必须使用{xxx}包裹
* 3.使用特定的注解@PathVariable(“name”) String name 接收参数
* 4.如果接收参数的名称与对象中的属性名称一致,则可以使用对象接收

@PathVariable注解使用

URL:参数进行动态传值,必须使用@PathVariable注解

  @GetMapping("/user/{name}/{age}/{id}")
    public Object restFul(User user){

        userService.update(user);
        return "数据更新成功!!!";
    }
Axios-POST/PUT

业务:实现用户的新增
* URL: http://localhost:8090/axios/saveUser
* 参数: {“name”:“国庆快乐”,“age”:72,“sex”:“女”} JSON串
* 返回值: String 新增成功
* 知识点: post请求传递对象时,传递的数据是一个json串.不能直接为User对象赋值.
* 解决方案:
* 1.对象转化为JSON @ResponseBody
* 2.JSON转化为对象 @RequestBody

@RequesBody使用
@PostMapping("/saveUser")
    public String saveUser(@RequestBody User user){
        System.out.println(user);
        userService.saveUser(user);
        return "用户入库成功!!!";
    }
常见动态代理

1.JDK动态代理
特点:
1.要求被代理者必须实现(有)接口.
2.JDK代理是jdk默认提供的.

2.CGLIB动态代理
特点:
1.不管被代理者是否有接口,都可以为其创建代理对象. 代理对象是目标对象的子类.
2.cglib需要手动导入jar包
3.spring为了创建代理对象方便,自身自动添加cglib依赖项.

 
    @Test
    public void testFindDeptById(){
        SqlSession sqlSession = sqlSessionFactory.openSession();
        DeptMapper deptMapper = sqlSession.getMapper(DeptMapper.class);
        System.out.println(deptMapper.getClass());
        int id = 100;
        Dept dept = deptMapper.findDeptById(id);
        System.out.println(dept);
        sqlSession.close();
    }

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/4026806.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-10-22
下一篇 2022-10-22

发表评论

登录后才能评论

评论列表(0条)

保存