/**
* 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轉發。
/**
* 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轉發。
