框架的注解整理

controller

@RestController
@CrossOrigin//解决跨域

@RequestMapping("/itemCat")//包含全部类型
@Autowired//关联Service

 @GetMapping("/findItemCatList/{level}")//查询
@PutMapping("/status/{id}/{status}")//修改
 @PostMapping("/saveItemCat")//新增
@DeleteMapping("/deleteItemCat")//删除

@RequestBody//POST  PUT   将json格式的数据转为java对象
@PathVariable//DELETE  GET 可以将 URL 中占位符参数绑定到控制器处理方法的入参中:URL 中的 {xxx} 占位符可以通过@PathVariable(“xxx“) 绑定到操作方法的入参中。

service

接口
@Service//Service层注解
@Autowired//关联Mapper
@Transactional//添加事务的控制

mapper

@Select("select * from user limit #{start},#{size}")
@Select("Sql!!!!!")
@Insert("sql")
@Update("sql")
@Delete("sql")    
            注意:extends BaseMapper<ItemCat>

pojo

@Data//lombok插件的getset和toString
@Accessors(chain=true)
@TableName("item")//("item_cat")  获取表名全小写
@TableId(type = IdType.AUTO) //主键自增
 //@TableField("name")
 //如果属性与字段同名(包括驼峰规则)注解可以省略

//pojo基类,完成2个任务,2个日期,实现序列化
@Data
@Accessors(chain=true)
public class BasePojo implements Serializable{
@TableField(fill = FieldFill.INSERT)
private Date created;	//表示入库时需要赋值
@TableField(fill = FieldFill.INSERT_UPDATE)
private Date updated;	//表示入库/更新时赋值.
}

 //为了实现参数封装添加的数据
 @TableField(exist = false) //该属性不存在
private List<ItemCat> children;//不是表格固有属性
private Role role;  //定义role角色数据
 private List<Rights> rightsList; //获取当前角色的权限信息

                注意:implements Serializable

vo

AO实现了前后端的交互
@Data
@Accessors(chain = true)
@NoArgsConstructor//无参构造
@AllArgsConstructor//全参构造

 config


//1.表示这个类 是一个配置类  目的: 封装对象-交给Spring容器管理
@Configuration
public class MybatisPlusConfig {
    // @Bean 将方法的返回值对象,交给Spring容器管理
    //MP分页机制  Mysql分页语句/Oracle分页语句  为了实现功能复用 需要手动配置
    //根据数据库类型不同 之后动态的生成Sql  MP才能调用分页对象
    @Bean
    public MybatisPlusInterceptor mybatisPlusInterceptor() {
        //定义分页拦截器对象
        MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
        interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MARIADB));
        return interceptor;
    }
}



@Component//将对象交给spring容器管理
public class MyMetaObjectHandler implements MetaObjectHandler {
    @Override
    public void insertFill(MetaObject metaObject) {
        Date date = new Date();
        this.setFieldValByName("created",date,metaObject);
        this.setFieldValByName("updated",date,metaObject);
    }

    @Override
    public void updateFill(MetaObject metaObject) {
        Date date = new Date();
        this.setFieldValByName("updated",date,metaObject);
    }

 advice

/**
 * Spring为了整合全局异常的处理  开发了如下的注解
 *  1.@RestControllerAdvice //定义全局异常的处理类 返回值JSON串
 *  2.@ExceptionHandler     标识拦截的异常的类型,如果类型匹配,则执行方法
 */
@RestControllerAdvice   //只对Controller层有效
public class MyExceptionAdvice {

    //写法:1.运行时异常(通用)  2.自定义异常信息  3.拦截所有异常Exception.class
    @ExceptionHandler(RuntimeException.class)
    public Object exception(Exception e){
        e.printStackTrace();    //输出异常信息
        //需求: 如果遇到异常,应该提示用户201/失败信息.
        return SysResult.fail();
    }
}

run

@SpringBootApplication
@MapperScan("com.jt.mapper")//Spring容器内部为接口创建代理对象
                             //JDK的动态代理对象

UserMapper.xml

<?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.jt.mapper.UserMapper">

</mapper>

application.yml

server:
  port: 8091
  servlet:
    context-path: /
spring:
  datasource:
    url: jdbc:mysql://127.0.0.1:3306/jt?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8&autoReconnect=true&allowMultiQueries=true
    username: root
    password: root


#mybatis-plush配置
mybatis-plus:
  type-aliases-package: com.jt.pojo
  mapper-locations: classpath:/mappers/*.xml
  configuration:
    map-underscore-to-camel-case: true

logging:
  level:
    com.jt.mapper: debug

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值