Spring那个项目中的出错信息是这样的:
   Error creating bean with name 'sessionFactory' defined in ServletContext resource [/WEB-INF/spring/applicationContext.xml]: Initialization of bean failed   在Struts+JDBC的项目中,我是直接用编程的方式创建数据源对象的,还是不行。
 ds=new BasicDataSource();
       ds.setDriverClassName("org.gjt.mm.mysql.Driver");
       ds.setUrl("jdbc:mysql://localhost:3306/wjmw?useUnicode=true&characterEncoding=GBK");
       ds.setUsername("root");
       ds.setPassword("");
      ds.setMaxIdle(2);
      ds.setMaxActive(4);
      ds.setMaxWait(1000);

解决方案 »

  1.   

    用编程的方式创建BasicDataSource都不行的话,那就和程序,配置都没什么关系了。
    换成最新的mysql驱动3.1.11和dbcp最新版试试,或者换台机器重装mysql。检查一下是否是防火墙的缘故。
      

  2.   

    BasicDataSource在SPring+Hibernate+Oracle9i和Struts+JDBC+MySQL中都出现了问题。 MySQL中,报的是JDBC驱动不支持选定的事务隔离级别。
        Oracle是SessionFactory未能正确的初始化。     MySQL,好像是因为MySQL不支持事务的缘故。    至于SPring之中,就搞不清楚了! 我紧紧修改了类名,增加了一个destroy方法而已。    现在,我自己写了一个DataSource,可以解决以上问题,但是很奇怪,为什么BasicDataSource会不行呢?
      

  3.   

    靠,我自己写的DataSOurce,现在再测,又出现了错误:
    java.sql.SQLException: Communication link failure: Bad handshake
    at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:659)
    at com.mysql.jdbc.Connection.createNewIO(Connection.java:1562)
    at com.mysql.jdbc.Connection.<init>(Connection.java:491)
    at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:346)
    at java.sql.DriverManager.getConnection(DriverManager.java:512)
        这是怎么回事?  刚刚还是正确的呢!