网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Java
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.菜鸟初学Java的备忘录(八).
.HOWTO build arm-linux toolchai.
.EJB设计模式5.
.谈谈JAVA的反编译.
.Sun Mustang 进入2006.
.使用SWT开发基于Java的图形用户界.
.Java、XML与数据库编程实践(三).
.用Spring的JdbcTemplate实现分页.
.分享关于j2me xmlReader的轻量级.
.Java对Domino Objects的访问控制.
.如何避免Microsoft非标准JavaSDK.
.JForum 2.1.7 源程序编译草记.
.Java: 使用 finally 关键字来避免.
.错误的堆大小产生的“堆问题”.
.关于在canvas类里调用textbox.
.三步学会Java Socket编程.
.面向对象的设计法确保软件的健壮.
.Tomcat下中文问题的解决(原创).
.用StrutsTestCase测试Struts应用.
.Java中的等式.

Web环境 Hibernate数据源问题补充

发表日期:2008-1-5



  在Hibernate.cfg.XML中配置的数据源只能在Web环境下使用,我们可以通过下面的例子来比较.
  
  假如我们在HibernateSessionFactory中加上测试,代码如下:
  package sc.pro.forum.util;
  
  import net.sf.hibernate.HibernateException;
  import net.sf.hibernate.Session;
  import net.sf.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.
  * NOTICE: Location should be on the classpath as Hibernate uses
  * #resourceAsStream style lookup for its configuration file. That
  * is place the config file in a Java package - the default location
  * is the default Java package.<br><br>
  * Examples: <br>
  * <code>CONFIG_FILE_LOCATION = "/hibernate.conf.xml".
  * CONFIG_FILE_LOCATION = "/com/foo/bar/myhiberstuff.conf.xml".</code>
  */
  private static String CONFIG_FILE_LOCATION = "/hibernate.cfg.xml";
  
  /** Holds a single instance of Session */
  private static final ThreadLocal threadLocal = new ThreadLocal();
  
  /** The single instance of hibernate configuration */
  private static final Configuration cfg = new Configuration();
  
  /** The single instance of hibernate SessionFactory */
  private static net.sf.hibernate.SessionFactory sessionFactory;
  
  /**
  * Returns the ThreadLocal Session instance. Lazy initialize
  * the <code>SessionFactory</code> if needed.
  *
  * @return Session
  * @throws HibernateException
  */
  public static Session currentSession() throws HibernateException {
  Session session = (Session) threadLocal.get();
  
  if (session == null) {
  if (sessionFactory == null) {
  try {
  cfg.configure(CONFIG_FILE_LOCATION);
  sessionFactory = cfg.buildSessionFactory();
  }
  catch (Exception e) {
  System.err.println("%%%% Error Creating SessionFactory %%%%");
  e.printStackTrace();
  }
  }
  session = sessionFactory.openSession();
  threadLocal.set(session);
  }
  
  return session;
  }
  
  /**
  * 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();
  }
  }
  
  public static void main(String[] args){
  System.out.println("sdfsdfsd");
  try{
  Session session=HibernateSessionFactory.currentSession();
  if(session==null)
  System.out.println("session is null");
  else
  System.out.println("session is not null");
  }catch(Exception e){
  e.printStackTrace();
  }
  }
  
  /**
  * Default constrUCtor.
  */
  private HibernateSessionFactory() {
  }
  
  }
  执行时,程序会给我们如下的错误:
  Environment - Hibernate 2.1.7
  Environment - hibernate.properties not found
  Environment - using CGLIB reflection optimizer
  Environment - using JDK 1.4 java.sql.Timestamp handling
  sdfsdfsd
  Configuration - configuring from resource: /hibernate.cfg.xml
  Configuration - Configuration resource: /hibernate.cfg.xml
  DTDEntityResolver - trying to locate http://hibernate.sourceforge.net/hibernate-configuration-2.0.dtd in classpath under net/sf/hibernate/
  DTDEntityResolver - found http://hibernate.sourceforge.net/hibernate-configuration-2.0.dtd in classpath
  Configuration - connection.datasource=java:comp/env/jdbc/forum
  Configuration - show_sql=true
  Configuration - dialect=net.sf.hibernate.dialect.SQLServerDialect
  Configuration - null<-org.dom4j.tree.DefaultAttribute@18088c0 [Attribute: name resource value "sc/pro/forum/dao/Userinfo.hbm.xml"]
  Configuration - Mapping resource: sc/pro/forum/dao/Userinfo.hbm.xml
  DTDEntityResolver - trying to locate http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd in classpath under net/sf/hibernate/
  DTDEntityResolver - found http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd in classpath
  Binder - Mapping class: sc.pro.forum.dao.Userinfo -> UserInfo
  Binder - Mapped property: userid -> UserID, type: integer
  Binder - Mapped property: passWord -> password, type: string
  Binder - Mapped property: nickname -> nickname, type: string
  Configuration - Configured SessionFactory: null
  Configuration - properties: {java.runtime.name=Java(TM) 2 Runtime Environment, Standard Edition, sun.boot.library.path=C:\Program Files\Java\j2re1.4.2_03\bin, java.vm.version=1.4.2_03-b02, connection.datasource=java:comp/env/jdbc/forum, java.vm.vendor=Sun Microsystems Inc., java.vendor.url=http://java.sun.com/, path.separator=;, java.vm.name=Java HotSpot(TM) Client VM, file.encoding.pkg=sun.io, user.country=CN, sun.os.patch.level=Service Pack 4, java.vm.specification.name=Java Virtual Machine Specification, user.dir=E:\86vr\forum, java.runtime.version=1.4.2_03-b02, java.awt.graphicsenv=sun.awt.Win32GraphicsEnvironment, java.endorsed.dirs=C:\Program Files\Java\j2re1.4.2_03\lib\endorsed, os.arch=x86, java.io.tmpdir=C:\DOCUME~1\zhangyi\LOCALS~1\Temp\, line.separator=
  , java.vm.specification.vendor=Sun Microsystems Inc., user.variant=, os.name=windows 2000, sun.java2d.fontpath=, hibernate.connection.datasource=java:comp/env/jdbc/forum, java.library.path=C:\Program Files\Java\j2re1.4.2_03\bin;.;C:\WINNT\system32;C:\WINNT;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;d:\Program Files\cvsnt;D:\j2sdk1.4\bin;C:\Program Files\Microsoft SQL Server\80\Tools\BINN;C:\Program Files\CVSNT\, java.specification.name=Java Platform API Specification, java.class.version=48.0, java.util.prefs.PreferencesFactory=java.util.prefs.WindowsPreferencesFactory, os.version=5.0, user.home=C:\Documents and Settings\zhangyi, user.timezone=, java.awt.printerjob=sun.awt.windows.WPrinterJob, file.encoding=GBK, java.specification.version=1.4, show_sql=true, user.name=zhangyi, java.class.path=E:\86vr\forum\WebRoot\WEB-INF\classes;E:\86vr\forum\WebRoot\WEB-INF\lib\ant-1.5.3.jar;E:\86vr\forum\WebRoot\WEB-INF\lib\ant-optional-1.5.3.jar;E:\86vr\forum\WebRoot\WEB-INF\lib\c3p0-0.8.4.5.jar;E:\86vr\forum\WebRoot\WEB-INF\lib\cglib-full-2.0.2.jar;E:\86vr\forum\WebRoot\WEB-INF\lib\commons-collections-2.1.1.jar;E:\86vr\forum\WebRoot\WEB-INF\lib\commons-dbcp-1.2.1.jar;E:\86vr\forum\WebRoot\WEB-INF\lib\commons-lang-1.0.1.jar;E:\86vr\forum\WebRoot\WEB-INF\lib\commons-logging-1.0.4.jar;E:\86vr\forum\WebRoot\WEB-INF\lib\commons-pool-1.2.jar;E:\86vr\forum\WebRoot\WEB-INF\lib\concurrent-1.3.3.jar;E:\86vr\forum\WebRoot\WEB-INF\lib\connector.jar;E:\86vr\forum\WebRoot\WEB-INF\lib\dom4j-1.4.jar;E:\86vr\forum\WebRoot\WEB-INF\lib\ehcache-0.9.jar;E:\86vr\forum\WebRoot\WEB-INF\lib\hibernate2.jar;E:\86vr\forum\WebRoot\WEB-INF\lib\jaas.jar;E:\86vr\forum\WebRoot\WEB-INF\lib\jboss-cache.jar;E:\86vr\forum\WebRoot\WEB-INF\lib\jboss-common.jar;E:\86vr\forum\WebRoot\WEB-INF\lib\jboss-jmx.jar;E:\86vr\forum\WebRoot\WEB-INF\lib\jboss-system.jar;E:\86vr\forum\WebRoot\WEB-INF\lib\jcs-1.0-dev.jar;E:\86vr\forum\WebRoot\WEB-INF\lib\jdbc2_0-stdext.jar;E:\86vr\forum\WebRoot\WEB-INF\lib\jgroups-2.2.7.jar;E:\86vr\forum\WebRoot\WEB-INF\lib\jta.jar;E:\86vr\forum\WebRoot\WEB-INF\lib\junit-3.8.1.jar;E:\86vr\forum\WebRoot\WEB-INF\lib\log4j-1.2.8.jar;E:\86vr\forum\WebRoot\WEB-INF\lib\msbase.jar;E:\86vr\forum\WebRoot\WEB-INF\lib\MSSQLserver.jar;E:\86vr\forum\WebRoot\WEB-INF\lib\msuti
上一篇:精通Hibernate之映射继承关系八 人气:500
下一篇:精通Hibernate之映射继承关系六 人气:437
浏览全部Java的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐