前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。
實現方式 :
1. 注入em:
@PersistenceContextprivate EntityManager entityManager;
注入方式 2:
@PersistenceUnitprivate EntityManagerFactory emf;
?
2. 得到em:
private EntityManager getEm() {return this.entityManager;}
對應第2種注入方式:
/*** 得EntityManager** @return*/private EntityManager getEm() {return emf.createEntityManager();}
3.預編譯寫法:
EntityManager em = getEm();String getAllTask = "SELECT ID,DEPARTMENT,WBS,CODE,NAME,PARENT_CODE FROM GAEI_WORK_TASK" +" WHERE WBS = ? AND DEPARTMENT = ? ";Query query = em.createNativeQuery(getAllTask);query.setParameter(1, wbs);query.setParameter(2, ((Department) userService.getSecondDepartmentByUserId(uid)).getId());List<Object> taskList = query.getResultList();
4. 附上原本查詢寫法:( 建議參數都改為走預編譯 )
String sql = " SELECT" +" pro.id," +" pro.CODE," +" pro.PROJECT_NAME," +" pro.PROJECT_DIRECTOR_NO 'PROJECT_DIRECTOR_NO.id'," +" pro.source," +" gaei_pro.WBS," +" app_user.fullname 'PROJECT_DIRECTOR_NO.fields'," +" gaei_pro.STATUS" +" FROM" +" GAEI_PROJECT pro" +" LEFT JOIN appbricks_user app_user ON gaei_pro.PROJECT_DIRECTOR_NO = app_user.id" +" WHERE app_user.id = '" + approveId + "'" +" ORDER BY pro.CODE ASC";List<Object> resultList = getResultList(em, sql);
?
// 執行查詢public static <T> List<T> getResultList(EntityManager em, String sql) {List<T> resultList = em.createNativeQuery(sql).getResultList();return resultList;}
?