栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

WARN SqlExceptionHelper:143-SQL错误:0,SQLState:08S01-SqlExceptionHelper:144-通信链接失败

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

WARN SqlExceptionHelper:143-SQL错误:0,SQLState:08S01-SqlExceptionHelper:144-通信链接失败

发生此问题是由于

time_out
mysql服务器上的var 值较小。

在我的情况下,time_out设置为1分钟。使用C3PO池机制,我们可以优化JDBC。

下载 c3p0- >
http://sourceforge.net/projects/c3p0/

我正在使用 hibernate3.0

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.driver_class">com.mysql.jdbc.Driver</property>          <property name="connection.url">jdbc:mysql://databasehost:3306/databasename</property>          <property name="connection.username">user</property>          <property name="connection.password">psw</property>          <property name="dialect">org.hibernate.dialect.MySQLDialect</property>          <property name="hibernate.hbm2ddl.auto">update</property>          <property name="show_sql">false</property>  <!-- hibernate c3p0 settings        -->        <property name="connection.provider_class">org.hibernate.connection.C3P0ConnectionProvider</property>        <property name="hibernate.c3p0.acquire_increment">3</property>        <property name="hibernate.c3p0.idle_test_period">10</property>        <property name="hibernate.c3p0.min_size">5</property>        <property name="hibernate.c3p0.max_size">75</property>        <property name="hibernate.c3p0.max_statements">10</property>        <property name="hibernate.c3p0.timeout">50</property>        <property name="hibernate.c3p0.preferredTestQuery">select 1</property>        <property name="hibernate.c3p0.testConnectionOnCheckout">true</property>         <!-- Mapping files -->        <mapping  />        <mapping  />        <mapping  />        <mapping  />    </session-factory></hibernate-configuration>

PersistenceManager.java

import java.io.PrintStream;import org.hibernate.SessionFactory;import org.hibernate.cfg.AnnotationConfiguration;import org.hibernate.cfg.Configuration;public class PersistenceManager{  private static SessionFactory sessionFactory = null;  private static PersistenceManager singleton = null;  public static PersistenceManager getInstance()  {    if (singleton == null)    {      singleton = new PersistenceManager();    }    return singleton;  }  public SessionFactory getSessionFactory()  {    if (sessionFactory == null)      createSessionFactory();    return sessionFactory;  }  protected void createSessionFactory()  {        sessionFactory = new AnnotationConfiguration().configure()      .buildSessionFactory();  }  public void destroySessionFactory()  {    if (sessionFactory != null)    {      sessionFactory.close();      sessionFactory = null;    }  }}

范例1:

import org.hibernate.HibernateException;import org.hibernate.Query;import org.hibernate.Session;public Users Login( String username,  String password)  {    Session session = null;    try    {      String hql = "select u from Users u where u.username like :p1 and u.password like :p2";      session = PersistenceManager.getInstance().getSessionFactory().openSession();      Query q = session.createQuery(hql)        .setParameter("p1", username)        .setParameter("p2", password);      if (q.list().size() == 0)      {        session.close();        return new Users();      }      Users user = (Users)q.list().get(0);      session.close();      return user;    }    catch (Exception e)    {      session.close();    }  }

范例2:

import org.hibernate.HibernateException;import org.hibernate.Query;import org.hibernate.Session; public String Registration(Users u) {    Session session = null;    try    {      String hql = "select u from Users u where u.username like :p1";      session = PersistenceManager.getInstance().getSessionFactory().openSession();      Query q = session.createQuery(hql).setParameter("p1", u.getUsername());      if (q.list().size() == 0)      {        session.beginTransaction();        session.persist(u);        session.getTransaction().commit();        session.close();        return new Boolean(true).toString();      }      session.close();      return new Boolean(false).toString();    }    catch (Exception e)    {      return e.toString();    }  }


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/447630.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号