/**
 * SpringDataJPA 几种sql方式。
 */
public boolean login(String name,String password){
 //   User user = userDao.findByNameAndPassword(name,password);
 /**   User user = userDao.findOne(new Specifiaction<User>() {
        public Predicate toPredicate(Root<User> root, CrieriaQuery<?> cq, CriteriaBuilder cb){
            return cb.and(
                cb.equal(
                    root.get("name").as(String.class),
                    name
                ),
                cb.equal(
                    root.get("password").as(Stirng.class),
                    password
                )
            );
        }
    });
    return user != null;
*/
@Modifying
@Query("delete User u where u.id =: id")
@Transactional
void delByUserId(@Param("id") Long id);
// select * from user where name =? and password =?
/**
* JPA 运行原生 sql 语句进行删除 一个user
*/
@Modifying
@Query(value="DELETE FORM user WHERE id=:id",nativeQuery = true)
@Transactional
void delUserByNativeSql(@Param("id")Long id);
}
- @Component 加到类路径自动扫描
 - @Controller 一个web的控制层,在Spring MVC中使用
 - @Repository 数据管理/存储,企业级应用使用(Dao, DDD)
 - @Service 提供一个商业逻辑 - 一个无状态的切面
 
Page<AcquisitionResults> AcquisitionResultsPage = acquisitionResultsService.findAll((root, cq, cb) -> {
root 路径相关 https://www.objectdb.com/api/java/jpa/criteria/Root
cq 查询相关 https://docs.oracle.com/javaee/6/api/javax/persistence/criteria/CriteriaQuery.html
cb 创建相关 https://docs.oracle.com/javaee/7/api/javax/persistence/criteria/CriteriaBuilder.html 条件对象
equal 等价于 and
大于 gn
小于 le
springDataJpa 需要注意的注解
- @Modifying
 - @Query(value=”DELETE from user where id=:id”,nativeQuery = true 这个里面的sql语句 前面是 类名 不是表名) 加nativeQuery = true 表示使用原生sql
 - @Transactional
 
shiro生命周期
生命周期:
- spring 把shiro 注入进去
 - 例子:
    
- 登录请求会转发给shiro 里面
 - controller servlet 让shiro 来管理servlet
 - 用aop的方式去管理所有的controller,然后定义用shiro来代理它
 
 - 白名单:
    
- 
        
spring-shiro.xml:anon 当前所有请求登录都可以处理 - 
        
logout 登出
 - 
        
/** = authc 指定哪个请求 验证器
 - 
        
/** = user 除了上面的,其它的都要登录以后才能访问。
 
 - 
        
 - redirect:/admin/index redirect转发。
 
 版权声明:本文由 Ian 在 2018年04月07日发表。本文采用CC BY-NC-SA 4.0许可协议,非商业转载请注明出处,不得用于商业目的。
        
        文章题目及链接:《SpringDataJPA几种sql方式》