springboot注解

文章介绍了如何在Spring框架中使用@PreAuthorize进行权限控制,以及在后台和前端如何配合实现权限判断。同时,讨论了@Transactional注解在事务管理中的应用,包括异常回滚机制。此外,提到了动态SQL的实现,如@Select注解的使用,包括单个和多个SQL查询,以及如何处理复杂的逻辑判断。
摘要由CSDN通过智能技术生成

权限:@PreAuthorize

后台:在路径后、方法名前加


@PreAuthorize("@pms.hasPermission('d_add')" )

前台:在调用后台方法的标签中加判断,与后台注解中内容一致

<div v-if="permissions.d_add" @click="add">添加新套餐</div>

在页面中加按钮权限,权限标识和后台注解中内容一致,分配角色时为其分配权限才可以使用该方法。

事务管理:@Transactional注解

数据库中有对事务的提交、回滚等操作,实现方式有:

1xml配置文件:和在数据库中一致

2基于@Transactional注解:


@Transactional(rollbackFor = Exception.class)//当方法中有出错的地方,整个方法回滚

动态SQL拼写:@Select注解

1.@Select注解的值是字符数组,并且只能修饰方法

2.用法如下:

1.单个SQL
@Select("select * from *** where pdate=#{pdate}")
public List<Hour> hourList(@Param(value = "pdate") String pdate);

2.多个SQL
@Select({"select * from *** where pdate=#{pdate}","select * from *** where pdate=#{pdate}"})
public List<Hour> hourList(@Param(value = "pdate") String pdate);

3.普通的字符串值只能实现变量的替换,如上代码;复杂的逻辑判断需要使用标签(@Insert @Update也可以使用标签)

@Select(
         "<script> select * from aaa where id=#{id}"+
         "<when test='name != null'> and name=#{name}</when></script>"
)
User selectById(Integer id,String name)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值