权限:@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)