zoukankan      html  css  js  c++  java
  • 基于javabean的B/S程序数据库连接解决方案

    基本思路,建立一个全局数据库session,共所有javabean使用。


    建立一个公共的类,如main.class,设置成application。
    import org.hibernate.cfg.*;
    import org.hibernate.Query;
    import org.hibernate.Session;
    import org.hibernate.SessionFactory;
    import org.hibernate.Transaction;
    import org.jbpm.JbpmConfiguration;
    public class main
    {
    public static Session session,oracleSession;
    public static SessionFactory sessionFactory,oracleSessionFactory;
    public String INIT;
    public String getINIT()
    {
    openSession();
    return this.INIT;
    }

    public static void openSession()
    {
    try
    {
    //Hibernate Configuration
    if(configuration == null)
    {
    configuration = new Configuration().configure("hibernate.cfg.xml");
    }
    if(sessionFactory == null || sessionFactory.isClosed())
    {
    sessionFactory = configuration.buildSessionFactory();
    }

    if(session == null || !session.isOpen())
    {
    session = sessionFactory.openSession();
    Transaction tx= main.session.beginTransaction();
    session.createSQLQuery("SET NAMES utf8").executeUpdate();
    tx.commit();
    }
    }
    catch(Exception ex){ex.printStackTrace();}
    }
    }

    其它javabean在使用数据库连接Session时,直接使用main.session即可。
    例如Query query = main.session.getNamedQuery("you sql");

    你需要在xhtml页面中放置#{main.INIT}代码,用以第一次调用main javabean。

    针对mysql,你需要配置c3p0,但不需要修改上去代码。
  • 相关阅读:
    Django学习日记04_模板_overview
    Python并发实践_01_线程与进程初探
    web自动化测试笔记(二)
    web自动化测试笔记(一)
    app版本升级的测试点
    移动测(APP)试与web端测试的区别
    Dubbo服务器与普通服务器的区别
    java的错误分类
    安卓手机与iOS手机的区别
    在webstorm里使用git
  • 原文地址:https://www.cnblogs.com/liuzhengdao/p/1630023.html
Copyright © 2011-2022 走看看