- 浏览: 216934 次
- 性别:
- 来自: 成都
文章分类
最新评论
-
springmvc_springjpa:
spring mvc demo教程源代码下载,地址:http: ...
SpringMVC初探_(1) -
LinApex:
测试,如何看性能,如何评比各种服务器,你也写篇日志呗
压力测试 (LoadRunner+Websphere +Tomcat) -
tanying2869:
没找到附件
集成struts2 spring hibernate,使用注解 -
xiaotao.2010:
ranwei09321115 写道晕 不是免费的!...我也发 ...
各种免费的Webservice接口 -
xiaotao.2010:
gaoxingang2008 写道这些方法 都用了 还是不行呀 ...
禁用浏览器后退按钮
不细说了直接上代码
代码中的注释可以参考Hibernate-学习笔记01
1、hibernate.cfg.xml
<?xml version='1.0' encoding='UTF-8'?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> <hibernate-configuration> <session-factory> <property name="connection.username">its</property> <property name="connection.url">jdbc:oracle:thin:@localhost:1521:orcl</property> <property name="dialect">org.hibernate.dialect.Oracle10gDialect</property> <property name="connection.password">its</property> <property name="connection.driver_class">oracle.jdbc.driver.OracleDriver</property> <property name="current_session_context_class">thread</property> <property name="cache.provider_class">org.hibernate.cache.NoCacheProvider</property> <property name="show_sql">true</property> <property name="format_sql">true</property> <property name="hbm2ddl.auto">update</property> <!-- 配饰AnnotationConfiguration时使用的 --> <mapping class="com.scal.entity.Teacher"/> </session-factory> </hibernate-configuration>
2、log4j.properties
### direct log messages to stdout ### log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.Target=System.out log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n ### set log levels - for more verbose logging change 'info' to 'debug' ### log4j.rootLogger=warn, stdout #log4j.logger.org.hibernate=info #log4j.logger.org.hibernate=debug ### log HQL query parser activity #log4j.logger.org.hibernate.hql.ast.AST=debug ### log just the SQL #log4j.logger.org.hibernate.SQL=debug ### log JDBC bind parameters ### ###log4j.logger.org.hibernate.type=info #log4j.logger.org.hibernate.type=debug ### log schema export/update ### log4j.logger.org.hibernate.tool.hbm2ddl=debug ### log HQL parse trees #log4j.logger.org.hibernate.hql=debug ### log cache activity ### #log4j.logger.org.hibernate.cache=debug ### log transaction activity #log4j.logger.org.hibernate.transaction=debug ### log JDBC resource acquisition #log4j.logger.org.hibernate.jdbc=debug ### enable the following line if you want to track down connection ### ### leakages when using DriverManagerConnectionProvider ### #log4j.logger.org.hibernate.connection.DriverManagerConnectionProvider=trace
3、HibernateSessionFactory
package com.scal.entity; import org.hibernate.HibernateException; import org.hibernate.Session; import org.hibernate.cfg.AnnotationConfiguration; import org.hibernate.cfg.Configuration; /** * Configures and provides access to Hibernate sessions, tied to the * current thread of execution. Follows the Thread Local Session * pattern, see {@link http://hibernate.org/42.html }. */ public class HibernateSessionFactory { /** * Location of hibernate.cfg.xml file. * Location should be on the classpath as Hibernate uses * #resourceAsStream style lookup for its configuration file. * The default classpath location of the hibernate config file is * in the default package. Use #setConfigFile() to update * the location of the configuration file for the current session. */ private static String CONFIG_FILE_LOCATION = "/hibernate.cfg.xml"; private static final ThreadLocal<Session> threadLocal = new ThreadLocal<Session>(); private static Configuration configuration = new Configuration(); private static org.hibernate.SessionFactory sessionFactory; private static String configFile = CONFIG_FILE_LOCATION; static { try { /* 使用配置文件的获取config */ configuration.configure(configFile); sessionFactory = configuration.buildSessionFactory(); } catch (Exception e) { try{ /* 使用注解的获取config */ configuration = new AnnotationConfiguration().configure(); sessionFactory = configuration.buildSessionFactory(); }catch (Exception es) { System.err.println("%%%% Error Creating SessionFactory %%%%"); es.printStackTrace(); } } } private HibernateSessionFactory() { } /** * Returns the ThreadLocal Session instance. Lazy initialize * the <code>SessionFactory</code> if needed. * * @return Session * @throws HibernateException */ public static Session getSession() throws HibernateException { Session session = (Session) threadLocal.get(); if (session == null || !session.isOpen()) { if (sessionFactory == null) { rebuildSessionFactory(); } session = (sessionFactory != null) ? sessionFactory.openSession() : null; threadLocal.set(session); } return session; } /** * Rebuild hibernate session factory * */ public static void rebuildSessionFactory() { try { configuration.configure(configFile); sessionFactory = configuration.buildSessionFactory(); } catch (Exception e) { System.err .println("%%%% Error Creating SessionFactory %%%%"); e.printStackTrace(); } } /** * Close the single hibernate session instance. * * @throws HibernateException */ public static void closeSession() throws HibernateException { Session session = (Session) threadLocal.get(); threadLocal.set(null); if (session != null) { session.close(); } } /** * return session factory * */ public static org.hibernate.SessionFactory getSessionFactory() { return sessionFactory; } /** * return session factory * * session factory will be rebuilded in the next call */ public static void setConfigFile(String configFile) { HibernateSessionFactory.configFile = configFile; sessionFactory = null; } /** * return hibernate configuration * */ public static Configuration getConfiguration() { return configuration; } }
4、Teacher (基于注解的实体)
package com.scal.entity; import java.io.Serializable; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.SequenceGenerator; @Entity public class Teacher implements Serializable{ private static final long serialVersionUID = 729474527745209202L; @Id @GeneratedValue(strategy=GenerationType.SEQUENCE, generator="TEACHER_SEQ") @SequenceGenerator(name="TEACHER_SEQ",allocationSize=1,initialValue=1, sequenceName="TEACHER_SEQ") private Long id; private String name; private String age; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getAge() { return age; } public void setAge(String age) { this.age = age; } public static long getSerialVersionUID() { return serialVersionUID; } }
5、DoTest
package com.scal.run; import org.hibernate.Session; import org.hibernate.SessionFactory; import com.scal.entity.HibernateSessionFactory; import com.scal.entity.Teacher; public class DoTest { public static void main(String[] args) { SessionFactory sf= HibernateSessionFactory.getSessionFactory(); Session session = sf.getCurrentSession(); Teacher teacher = new Teacher(); teacher.setAge("10"); teacher.setName("tom"); session.beginTransaction(); session.save(teacher); session.getTransaction().commit(); sf.close(); } }
发表评论
-
键码(KeyCode)
2013-02-28 16:32 18995字母和数字键的键码值(keyCode) 按键 键 ... -
1111111
2012-08-24 14:35 0{id=news_ln_statistics, categor ... -
my aa
2012-07-18 17:15 19女士们,先生们,早上好!很荣幸有机会参加此次面试。我希望今天 ... -
SSH 配置文件
2011-04-18 15:50 1376将一年前写的SSH基于配置的改成 Hibernate基于注解的 ... -
备份配置 - spring
2011-04-16 20:43 686<?xml version="1.0" ... -
Hibernate-学习笔记06-Relationship-One2One
2011-04-14 20:57 1083Hibernate真的很强大,尤其是在关系这方便,方便到只要你 ... -
Spring-学习笔记01-CrossCuttingConcern
2011-04-14 19:30 910近做Spring试验发现了个问题: 1、advice不能监控 ... -
Hibernate-学习笔记05-数据持久化的三种状态
2011-04-13 20:26 1458Hibernate 数据持久化 ... -
Hibernate-学习笔记04-数据更新方法
2011-04-13 20:02 4234试验目的: 更新数 ... -
Hibernate-学习笔记03-getCurrentSession和openSession区别
2011-04-12 19:52 1537SessionFactory得到Session的方法有两种ge ... -
Hibernate-学习笔记01
2011-04-11 15:53 1111第一个Hibernate小程序 Hiberna ... -
Interceptor的初步认识
2011-03-31 18:15 1109一个名称 : AOP(Aspect ... -
Struts2 Action中的数据填充
2011-03-31 13:53 1919开门见山 直接上代码 ... -
struts-笔记-7
2011-03-18 16:02 9068 Dynamic ActionForm ... -
struts-笔记-6
2011-03-18 16:01 10597 标签 Struts ... -
Struts-笔记-5
2011-03-18 15:57 10536.Struts 的 MVC 组件 ... -
Struts-笔记-4
2011-03-18 15:55 8044.Struts 工作原理和开发流程 4 ... -
Struts-笔记-3
2011-03-18 15:54 11113. 用 struts 开发简单的登录示例程 ... -
Struts-笔记-2
2011-03-18 15:53 8712 . 搭建 Struts 开发环境 ... -
Struts-笔记-1
2011-03-18 15:50 873******************************* ...
相关推荐
本文将详细解析基于注解的SpringMVC+Hibernate+Oracle数据库集成的实现过程及其核心知识点。 首先,SpringMVC是Spring框架的一部分,它是一个轻量级的MVC(Model-View-Controller)框架,用于处理HTTP请求和响应。...
这使得开发者能够在不引入过多额外依赖的情况下,快速搭建并运行基于Hibernate的应用程序。 在Hibernate 3.5版本中,核心库主要包含以下几个关键组件: 1. **Hibernate Core**:这是Hibernate的核心模块,提供了...
虽然在Hibernate 4中,注解已经成为主要的映射方式,但某些情况下,开发者仍可能使用XML映射文件。映射文件定义了实体类与数据库表之间的关系。如果使用XML映射,`User`类的映射文件可能如下: ```xml ...
在现代Java Web开发中,基于注解的Struts、Spring和Hibernate框架集成是常见的技术栈,这三者结合可以构建高效、可维护的业务应用程序。本文将深入探讨这些框架的核心概念,以及如何通过注解来简化开发过程。 **...
1. **Hibernate基本概念**:Hibernate是基于Java的持久化框架,通过提供API和配置文件实现对象与数据库表之间的映射。它支持多种数据库,包括Oracle。 2. **配置Hibernate**:使用Hibernate,首先需要在项目中添加...
这篇文档“Hibernate-Oracle-MySQL-image.rar_oracle”聚焦于使用Hibernate处理Oracle和MySQL数据库中的二进制大对象(Blob),特别关注如何存储和检索图片文件。Blob类型常用于存储大型数据,如图像、音频或视频...
标题 "Myeclipse 10.0 + Hibernate 4.3.5 连接 Oracle 11G的演示代码" 描述的是一个整合项目,它将Myeclipse 10.0集成开发环境、Hibernate 4.3.5对象关系映射框架与Oracle 11G数据库相结合,用于演示如何在这样的...
Hibernate提供了一种基于Java语法的查询语言HQL(Hibernate Query Language),以及Criteria API,它们可以更直观地处理数据库查询,而无需直接编写SQL。 9. **缓存机制** Hibernate支持二级缓存,可以提高数据...
Hibernate基于Java,遵循JPA规范,它通过XML或注解方式将Java对象与数据库表进行映射。这种映射机制使得我们能够用面向对象的方式来处理数据,避免了SQL语句的编写,提升了开发效率。 2. Hibernate配置 在使用...
Hibernate支持多种数据库,包括MySQL、Oracle、PostgreSQL等,并提供了丰富的API和工具。 二、安装与配置 在使用Hibernate之前,需要先将其添加到项目的类路径中。通常,这涉及在项目构建工具(如Maven或Gradle)的...
hibernate@注解方式配置实体类时,利用javadoc接口生成数据库表及字段的注释说明,支持oracle、sqlserver、db2、mysql数据库。因用到java\lib\tools.jar,需要将该jar放入工程lib下(或者tomcat\lib下、或加入...
#### 一、JPA与Hibernate注解基础 JPA(Java Persistence API)是一种标准规范,用于实现对象关系映射(ORM),允许开发人员使用注解或XML来描述实体对象与数据库表之间的映射关系。Hibernate是JPA的一种实现,它...
车辆管理系统(struts+hibernate+spring+oracle),车辆管理系统(struts+hibernate+spring+oracle),车辆管理系统(struts+hibernate+spring+oracle),
通过注解或XML配置文件,可以定义实体对象与数据库表之间的映射关系。 4. MyEclipse Database Explorer功能:MyEclipse Database Explorer是MyEclipse中用于数据库操作的组件,它允许开发者浏览数据库、查看表结构...
4. **实体映射**:定义Java类作为数据库表的映射,使用Hibernate注解或XML文件描述字段和表之间的关系。 5. **SessionFactory和Session**:通过SessionFactory创建Session对象,它是与数据库交互的主要接口,用于...
### Hibernate注解详解 #### 一、概述 Hibernate是一个开源的对象关系映射(ORM)框架,用于Java应用程序中实现数据库操作。它通过提供强大的映射工具和服务,将面向对象的数据模型映射到基于SQL的关系数据库中。...
4. **定义Hibernate Native SQL查询**:由于Hibernate默认不支持调用存储过程或函数,我们需要使用`@NamedNativeQuery`或`@SqlResultSetMapping`注解来定义一个原生SQL查询,用于调用Oracle函数。例如: ```java @...
### Hibernate注解配置详解 #### 一、概述 Hibernate 是一款强大的对象关系映射(ORM)框架,它简化了Java应用程序与数据库之间的交互过程。在使用Hibernate的过程中,开发者可以通过注解来实现对象与数据库表之间...
本篇将深入探讨如何在实际项目中结合Hibernate与Oracle数据库进行应用。 一、Hibernate简介 Hibernate是一个开放源代码的对象关系映射(ORM)框架,它为开发者提供了在Java应用中操作数据库的强大工具。通过ORM,...