`
keren
  • 浏览: 1573795 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Java Dao 写法注意

阅读更多
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的写法

    通过以上分析,我们可以看到,HibernateDAO的写法涉及到了面向对象设计原则、事务管理、数据库操作等多个方面,理解和掌握这些知识点,对于提升Java企业级应用的开发效率和质量至关重要。在实际开发中,我们需要根据...

    ormlite使用中的dao简化写法

    ORMLite(Object-Relational Mapping Lite)是一款轻量级的Java ORM库,它允许开发者将数据库操作与对象模型相结合,从而简化Android应用中的数据访问层(DAO,Data Access Object)的编写工作。在传统的ORMLite DAO...

    java设计三层架构

    在Java Web开发中,三层架构是一种常见的设计模式,它将应用程序分为表现层(Presentation Layer)、业务逻辑层(Business Logic Layer)和数据访问层(Data Access Layer)。这种分层设计有助于提高代码的可读性、...

    Java链接sq2008步骤

    在Java开发中,连接SQL Server 2008数据库是一个常见的任务。...最后,编写Java代码利用JDBC API连接数据库,注意处理可能出现的异常情况。通过以上步骤,你可以成功地在Java应用中链接并操作SQL Server 2008数据库。

    JDBC简单写法JDBC简单写法JDBC简单写法

    Java Database Connectivity(JDBC)是Java程序与关系型数据库交互的一种标准接口。它允许开发者用Java语言编写...理解并熟练掌握这些JDBC的简单写法,对于Java程序员来说至关重要,它们构成了与数据库交互的基础。

    基于 Java Spring 将上述类的方法对外提供 RESTful 服务并调用

    - **步骤 6**: 设计数据访问对象 (DAO)。创建 `CustomerDAO.java`,包含 CRUD 操作,以处理与数据库的交互。 - **步骤 7**: 创建 REST 控制器。创建 `CustomerRestController.java`,这里会使用 @RestController ...

    ssh2 + dao泛型

    总的来说,"ssh2 + dao泛型"这个主题涵盖了SSH2框架的整合使用,以及如何利用Java泛型优化数据库操作。通过理解和实践这些知识点,开发者可以提升Java Web项目的可维护性、扩展性和效率。在阅读博客文章时,应重点...

    基于java web学生管理系统数据库mysql基本没有css样式,很基础的写法

    - **DAO(Data Access Object)**:与数据库交互,实现CRUD操作。 - **实体类(Entity)**:代表数据库中的表,如`Student`类。 - **JSP(JavaServer Pages)**:展示页面,虽然没有CSS,但依然需要编写HTML和...

    1000道互联网Java架构师面试题

    Java 架构师面试题之 MyBatis 篇 作为一名经验丰富的 Java 架构师,我将带领大家深入探索 MyBatis 面试题的世界。MyBatis 是一个流行的持久层框架,它提供了一个简单的方式来访问数据库。下面,我们将从多个角度来...

    java题库java题库java题库

    9. MyBatis中的Dao接口是如何工作的,以及其参数不同的方法是否能重载。 10. MyBatis的分页实现以及分页插件的工作原理。 11. SQL执行结果封装成对象的映射方式。 12. 如何执行批量插入操作。 13. 获取自动生成主键...

    SSH项目实例,有不同写法模板

    在这个SSH项目实例中,"templet"可能包含了一系列模板文件,如Struts的配置文件(struts.xml)、Spring的配置文件(spring-context.xml)、Hibernate的映射文件(hbm.xml)等,以及Action类、Service类、DAO类和JSP页面。...

    2021最新Java程序员面试题

    - Dao接口的工作原理:通过动态代理生成接口实现类,代理对象调用方法时,会自动映射SQL语句和接口方法参数。 - 分页原理:通过拦截器来实现分页查询。 - 结果封装:通过映射器文件中的resultMap进行结果封装。 ...

    Java相关课程系列笔记之十四Hibernate学习笔记

    Hibernate基于POJO(Plain Old Java Object)和面向对象的设计原则,遵循“贫血”模型,将数据操作封装在DAO(Data Access Object)中,提供了一种声明式的方式管理数据持久化。 二、Hibernate的基本使用 2.1 ...

    java+oracle,的jdbc的简单学生信息系统

    初级Java程序员的学习jdbc的简单应用,调用dao包,以及jdbc通常写法的流程。 程序时在eclipse中进行操作的,对学生信息进行简单的增删改查。 数据库使用的是oracle,数据库的表也附上了。

    Java程序调试与错误收集--代码引起的报错

    - 在DAO层和服务层正确地使用JavaBean来获取或设置值。 - 检查JSP页面上的EL表达式是否正确,确保使用了正确的属性名和方法调用。 #### 四、预览效果不一致 **描述:** 在预览阶段发现实际效果与预期不符,这可能是...

    myeclipse7.1Gen的写法

    【标题】"myeclipse7.1Gen的写法"涉及到的是在MyEclipse 7.1版本中使用代码生成工具(通常称为Gen)的相关知识。MyEclipse是一款基于Eclipse的集成开发环境,尤其适合Java EE项目的开发。在7.1版本中,Gen工具可以...

    JavaEye论坛热点月报 总第7期

    9. **Spring中的DAO与Service** - 在Spring框架中,关于DAO(数据访问对象)与Service层的依赖注入有不同的写法,讨论了这些不同方法的适用场景和优劣。 10. **远程控制Tomcat** - 如何远程控制Tomcat的启动,以及...

    阿里巴巴 。java 开发规范 共32页

    但是领域模型相关的类名可以有例外,比如DO(Data Object)、DTO(Data Transfer Object)、VO(View Object)、DAO(Data Access Object)等。 4. **强制**:方法名、参数名、成员变量和局部变量都应使用...

    阿里巴巴Java开发规范手册最新版

    对于服务层(Service)和数据访问对象层(DAO),手册建议暴露出来的服务应该是接口形式,这样可以灵活地更改实现而不影响外部调用。此外,推荐将形容词作为接口名称的一部分,以反映其能力或行为。 此外,手册还提供了...

Global site tag (gtag.js) - Google Analytics