spring hibernate结合时的一些用法注意:
class daod extends BaseDaoHibernate implements xxxDao
{
public void updatexxx(){
Session session = this.getHibernateTemplate().getSessionFactory().getCurrentSession();
//Transaction tx=session.beginTransaction();//如果结合了 spring的 Transaction就 可以不要
String hql = "update xxx t set t.pdf.id =:newpdf_id where t.pdf.id=:oldpdf_id";
int upds = session.createQuery( hql )
.setString( "newpdf_id", newPdfId ).setString("oldpdf_id", oldPdfId)
.executeUpdate();
log.warn(" update record num is '" + upds + "' ");
//tx.commit();//如果结合了 spring的 Transaction就 可以不要
return upds;
}
//or--
public void updatexxx(){
Session session = this.getHibernateTemplate().getSessionFactory().openSession();//因为是新建了一个
Transaction tx=session.beginTransaction();
String hql = "update xxx t set t.pdf.id =:newpdf_id where t.pdf.id=:oldpdf_id";
int upds = session.createQuery( hql )
.setString( "newpdf_id", newPdfId ).setString("oldpdf_id", oldPdfId)
.executeUpdate();
log.warn(" update record num is '" + upds + "' ");
tx.commit();
session.close();//显示关闭
return upds;
}
//or--
public Integer updxxx(){
return (Integer)this.getHibernateTemplate().execute(
new HibernateCallback() {
public Object doInHibernate(org.hibernate.Session session)
throws SQLException, HibernateException {
//Transaction tx = session.beginTransaction();
// String sql = "update xxx set pdf_id=:newpdf_id where pdf_id=:oldpdf_id";
// int upds = session.createSQLQuery( sql )
// .setString( "newpdf_id", newPdfId ).setString("oldpdf_id", oldPdfId)
// .executeUpdate();
String hql = "update xxx t set t.pdf.id =:newpdf_id where t.pdf.id=:oldpdf_id";
int upds = session.createQuery( hql )
.setString( "newpdf_id", newPdfId ).setString("oldpdf_id", oldPdfId)
.executeUpdate();
log.warn(" update record num is '" + upds + "' ");
//tx.commit();
return upds;
}
});
}
}
分享到:
相关推荐
通过以上分析,我们可以看到,HibernateDAO的写法涉及到了面向对象设计原则、事务管理、数据库操作等多个方面,理解和掌握这些知识点,对于提升Java企业级应用的开发效率和质量至关重要。在实际开发中,我们需要根据...
ORMLite(Object-Relational Mapping Lite)是一款轻量级的Java ORM库,它允许开发者将数据库操作与对象模型相结合,从而简化Android应用中的数据访问层(DAO,Data Access Object)的编写工作。在传统的ORMLite DAO...
在Java Web开发中,三层架构是一种常见的设计模式,它将应用程序分为表现层(Presentation Layer)、业务逻辑层(Business Logic Layer)和数据访问层(Data Access Layer)。这种分层设计有助于提高代码的可读性、...
在Java开发中,连接SQL Server 2008数据库是一个常见的任务。...最后,编写Java代码利用JDBC API连接数据库,注意处理可能出现的异常情况。通过以上步骤,你可以成功地在Java应用中链接并操作SQL Server 2008数据库。
- **步骤 6**: 设计数据访问对象 (DAO)。创建 `CustomerDAO.java`,包含 CRUD 操作,以处理与数据库的交互。 - **步骤 7**: 创建 REST 控制器。创建 `CustomerRestController.java`,这里会使用 @RestController ...
Java Database Connectivity(JDBC)是Java程序与关系型数据库交互的一种标准接口。它允许开发者用Java语言编写...理解并熟练掌握这些JDBC的简单写法,对于Java程序员来说至关重要,它们构成了与数据库交互的基础。
总的来说,"ssh2 + dao泛型"这个主题涵盖了SSH2框架的整合使用,以及如何利用Java泛型优化数据库操作。通过理解和实践这些知识点,开发者可以提升Java Web项目的可维护性、扩展性和效率。在阅读博客文章时,应重点...
- **DAO(Data Access Object)**:与数据库交互,实现CRUD操作。 - **实体类(Entity)**:代表数据库中的表,如`Student`类。 - **JSP(JavaServer Pages)**:展示页面,虽然没有CSS,但依然需要编写HTML和...
Java 架构师面试题之 MyBatis 篇 作为一名经验丰富的 Java 架构师,我将带领大家深入探索 MyBatis 面试题的世界。MyBatis 是一个流行的持久层框架,它提供了一个简单的方式来访问数据库。下面,我们将从多个角度来...
在这个SSH项目实例中,"templet"可能包含了一系列模板文件,如Struts的配置文件(struts.xml)、Spring的配置文件(spring-context.xml)、Hibernate的映射文件(hbm.xml)等,以及Action类、Service类、DAO类和JSP页面。...
- Dao接口的工作原理:通过动态代理生成接口实现类,代理对象调用方法时,会自动映射SQL语句和接口方法参数。 - 分页原理:通过拦截器来实现分页查询。 - 结果封装:通过映射器文件中的resultMap进行结果封装。 ...
Hibernate基于POJO(Plain Old Java Object)和面向对象的设计原则,遵循“贫血”模型,将数据操作封装在DAO(Data Access Object)中,提供了一种声明式的方式管理数据持久化。 二、Hibernate的基本使用 2.1 ...
初级Java程序员的学习jdbc的简单应用,调用dao包,以及jdbc通常写法的流程。 程序时在eclipse中进行操作的,对学生信息进行简单的增删改查。 数据库使用的是oracle,数据库的表也附上了。
- 在DAO层和服务层正确地使用JavaBean来获取或设置值。 - 检查JSP页面上的EL表达式是否正确,确保使用了正确的属性名和方法调用。 #### 四、预览效果不一致 **描述:** 在预览阶段发现实际效果与预期不符,这可能是...
【标题】"myeclipse7.1Gen的写法"涉及到的是在MyEclipse 7.1版本中使用代码生成工具(通常称为Gen)的相关知识。MyEclipse是一款基于Eclipse的集成开发环境,尤其适合Java EE项目的开发。在7.1版本中,Gen工具可以...
9. **Spring中的DAO与Service** - 在Spring框架中,关于DAO(数据访问对象)与Service层的依赖注入有不同的写法,讨论了这些不同方法的适用场景和优劣。 10. **远程控制Tomcat** - 如何远程控制Tomcat的启动,以及...
但是领域模型相关的类名可以有例外,比如DO(Data Object)、DTO(Data Transfer Object)、VO(View Object)、DAO(Data Access Object)等。 4. **强制**:方法名、参数名、成员变量和局部变量都应使用...
对于服务层(Service)和数据访问对象层(DAO),手册建议暴露出来的服务应该是接口形式,这样可以灵活地更改实现而不影响外部调用。此外,推荐将形容词作为接口名称的一部分,以反映其能力或行为。 此外,手册还提供了...
QuotationHVO result5 = (QuotationHVO) dao.executeQuery("SELECT * FROM demo_quotation WHERE pk_salequotation = '某个主键'", new BeanProcessor(QuotationHVO.class)); ``` - **多个实体对象查询**:通过...