- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我创建了一个 spring 应用程序,我决定在其中添加一个 BaseDAO 来消除冗余创建,每个 dao 的更新、删除、findByid 和 findAll 方法。所以我创建了一个 baseDao,每个 dao 都应该扩展这个 BaseDAO。
public class BaseDAOImpl implements BaseDAO{
SessionFactory sessionFactory;
public void setSessionFactory(SessionFactory sf){
this.sessionFactory = sf;
}
@Override
public void create(ModelBase modelBase) {
Session session = this.sessionFactory.getCurrentSession();
session.persist(modelBase);
}
@Override
public void update(ModelBase modelBase) {
Session session = this.sessionFactory.getCurrentSession();
session.update(modelBase);
}
@Override
public Collection findAll(Class aClass) {
Session session = this.sessionFactory.getCurrentSession();
Collection modelCols = session.createQuery("from "+aClass.getSimpleName()).list();
return modelCols;
}
@Override
public ModelBase findById(Class aClass, Integer id) {
Session session = this.sessionFactory.getCurrentSession();
ModelBase modelBase = (ModelBase) session.load(aClass, new Integer(id));
return modelBase;
}
}
然后我将这个 Dao 扩展到每个 DAO
public class EmployeeDAOImpl extends BaseDAOImpl implements EmployeeDAO{
private SessionFactory sessionFactory;
public void setSessionFactory(SessionFactory sf){
this.sessionFactory = sf;
}
}
我创建了一个这样的 BaseService。但是当我尝试从 EmployeeDAO 访问 BaseDAO 方法时,它返回空指针异常。为什么会这样。我不想使用谷歌的 genericDAO。因为我们应该创建 DAO对于每个模型。我想消除这个。所以我按照这个方法。
最佳答案
您是否特别考虑过 Spring Data 项目和 Spring Data JPA?
这将为您节省大量时间,因为您不再需要从头开始编写 DAO/存储库,您需要做的就是启用 Spring Data JPA,并添加所需的接口(interface)。它应该为您节省大量时间。
关于java - 为每个 Dao 类创建 BaseDAO,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27242839/
对于学校,他们让我们通过普通的旧 dao 和 tomcat 连接到 postgresDB。但是,给定的代码无法正常工作,我现在已经被困在这里很长一段时间了。 就这样吧。 给定的connectionda
我创建了一个 spring 应用程序,我决定在其中添加一个 BaseDAO 来消除冗余创建,每个 dao 的更新、删除、findByid 和 findAll 方法。所以我创建了一个 baseDao,每
我的 Android 应用程序有一个 Room 数据库。我的 FooDao 和 BarDao 都实现了 BaseDao: interface BaseDao { @Insert fun
我是一名优秀的程序员,十分优秀!