第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Java泛型dao的問題,求助,急?。?!

最新在學(xué)習(xí)S2SH的整合,遇到了不少問題?!,F(xiàn)在dao層只有IBaseDao?和?BaseDaoImpl;這兩個做了CURD操作的的接口,和實現(xiàn)。Service層中的繼承泛型dao層,問題是我在junit單元測試的時候,繼承basedao的CURD操作沒問題,但是service層自己的獨有的方法一直報空指針,各位大神幫忙瞅瞅,很急,小弟先在這謝謝了!!下面是我代碼!!IBaseDao.javapackage?com.yeka.oa.dao; ? import?java.util.List; ? public?interface?IBaseDao<T>?{ ????? ????public?void?save(T?t); ????public?void?delete(Integer?id); ????public?void?update(T?t); ????public?T?getObjectById(Integer?id); ????public?List<T>?getObjectAll(); ????public?List<T>?getObjetctByIds(Integer[]?ids); ? }BaseDaoImpl.javapackage?com.yeka.oa.dao; import?java.lang.reflect.ParameterizedType; import?java.util.List; ? import?javax.annotation.Resource; ? import?org.hibernate.SessionFactory; import?org.springframework.transaction.annotation.Transactional; ? @SuppressWarnings("unchecked") @Transactional public?class?BaseDaoImpl<T>?implements?IBaseDao<T>?{ ? ????//?注入sessionFactory ????@Resource ????public?SessionFactory?sessionFactory; ????? ????/** ?????*?@return?the?sessionFactory ?????*/ ????public?SessionFactory?getSessionFactory()?{ ????????return?sessionFactory; ????} ? ????/** ?????*?@param?sessionFactory?the?sessionFactory?to?set ?????*/ ????public?void?setSessionFactory(SessionFactory?sessionFactory)?{ ????????this.sessionFactory?=?sessionFactory; ????} ? ????Class?clazz; ? ????//?得到T的真實類型 ????public?BaseDaoImpl()?{ ????????ParameterizedType?tP?=?(ParameterizedType)?this.getClass() ????????????????.getGenericSuperclass(); ????????clazz?=?(Class)?tP.getActualTypeArguments()[0]; ????????System.out.println(clazz.getName()); ????} ? ????/** ?????*?刪除 ?????*/ ????public?void?delete(Integer?id)?{ ????????//?TODO?Auto-generated?method?stub ????????sessionFactory.getCurrentSession().delete( ????????????????sessionFactory.getCurrentSession().get(clazz,?id)); ????} ? ????/** ?????*?獲取對象列表 ?????*/ ????public?List<T>?getObjectAll()?{ ????????//?TODO?Auto-generated?method?stub ????????return?sessionFactory.getCurrentSession().createQuery( ????????????????"from?"?+?clazz.getSimpleName()).list(); ????} ? ????/** ?????*?根據(jù)ID查詢對象 ?????*/ ????public?T?getObjectById(Integer?id)?{ ????????return?(T)?sessionFactory.getCurrentSession().get(clazz,?id); ????} ? ????/** ?????*?根據(jù)ID數(shù)組獲取一組對象集合 ?????*/ ????public?List<T>?getObjetctByIds(Integer[]?ids)?{ ????????return?sessionFactory.getCurrentSession().createQuery( ????????????????"from?"?+?clazz.getSimpleName()?+?"?where?id?in(:ids)") ????????????????.setParameter("ids",?ids).list(); ????} ????? ????public?void?save(T?t)?{ ????????sessionFactory.getCurrentSession().save(t); ????} ? ????public?void?update(T?t)?{ ????????sessionFactory.getCurrentSession().update(t); ????} ? }IEmployeeService.javapackage?com.yeka.oa.service; ? import?java.util.List; ? import?javax.annotation.Resource; ? import?com.yeka.oa.dao.IBaseDao; import?com.yeka.oa.entity.SysEmployee; ? public?interface?IEmployeeService?extends?IBaseDao<SysEmployee>?{ ????//定義特有方法 ????? ????//登錄 ????public?boolean?login(String?username,String?password); ????? ????//分頁查詢 ????public?List<SysEmployee>?getPagination(int?pageIndex,?int?pageSize); ? }EmployeeServiceImpl.javapackage?com.yeka.oa.service.impl; ? import?java.util.List; ? import?org.hibernate.Query; import?org.hibernate.Session; import?org.springframework.stereotype.Service; import?org.springframework.transaction.annotation.Transactional; ? import?com.yeka.oa.dao.BaseDaoImpl; import?com.yeka.oa.entity.SysEmployee; import?com.yeka.oa.service.IEmployeeService; ? @Transactional @Service("employeeService") public?class?EmployeeServiceImpl?extends?BaseDaoImpl<SysEmployee>?implements?IEmployeeService?{ ????? ????Session?session?=?super.getSessionFactory().getCurrentSession(); ????@SuppressWarnings("unchecked") ????public?List<SysEmployee>?getPagination(int?pageIndex,?int?pageSize)?{ ????????String?hql?=?"from?SysEmployee"; ????????? ????????Query?query?=?session.createQuery(hql); ????????query.setMaxResults(pageSize);//?一次查詢幾條 ????????query.setFirstResult((pageIndex?-?1)?*?pageSize);//?從第幾條開始查詢 ????????return?query.list(); ????} ? ????public?boolean?login(String?username,?String?password)?{ ????????boolean?flag?=?true; ????????String?hql?=?"select?password?from?SysEmployee?where?username='" ????+?username?+?"'"; ? ????????Query?query?=?session.createQuery(hql); ????????String?temppwd?=?(String)?query.uniqueResult(); ????????if?(password?!=?null?&&?temppwd.equals(password))?{ ????????????flag?=?true; ????????}?else?{ ????????????flag?=?false; ????????} ? ????????return?flag; ? ????} ? }? Test.javaimport?org.springframework.context.ApplicationContext; import?org.springframework.context.support.ClassPathXmlApplicationContext; import?org.springframework.transaction.annotation.Transactional; ? import?com.yeka.oa.service.IEmployeeService; ? public?class?Test?{ ????? ????@Transactional ????@org.junit.Test ????public?void?test(){ ????????ApplicationContext?context?=?new?ClassPathXmlApplicationContext("beans.xml"); ????????IEmployeeService?employeeService?=?(IEmployeeService)?context.getBean("employeeService"); ????????employeeService.getObjectAll(); ????????employeeService.login("11",?"111"); ????} ? }
查看完整描述

2 回答

  • 2 回答
  • 2 關(guān)注
  • 2288 瀏覽
慕課專欄
更多

添加回答

了解更多

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號