MyEclipse5.1开发Spring Struts Hibernate应用时的数据库问题

使用Eclipse3.2+MyEclipse5.1开发Spring+Struts+Hibernate应用,使用自动生成的applicationContext.xml和hbm可能文件会出现以下两个问题:
1、在进行数据库操作时,发生连接数据库错误,异常信息大致如下:
org.hibernate.exception.GenericJDBCException: Cannot open connection
        at org.hibernate.exception.ErrorCodeConverter.handledNonSpecificException(ErrorCodeConverter.java:92)
        at org.hibernate.exception.ErrorCodeConverter.convert(ErrorCodeConverter.java:80)
        at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
        at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:29)
        ........(省略部分信息)
Caused by: org.apache.commons.dbcp.SQLNestedException: Cannot create JDBC driver of class 'com.mysql.jdbc.Driver' for connect URL '
                                jdbc:mysql://localhost:3306/cdstore?autoReconnect=true&useUnicode=true&characterEncoding=UTF-8
                        '
        at org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:780)
        at org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:540)
        at org.springframework.orm.hibernate3.LocalDataSourceConnectionProvider.getConnection(LocalDataSourceConnectionProvider.java:81)
        at org.hibernate.jdbc.ConnectionManager.openConnection(ConnectionManager.java:298)
        ... 29 more
Caused by: java.sql.SQLException: No suitable driver
        at java.sql.DriverManager.getDriver(DriverManager.java:243)
        at org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:773)
        ... 32 more
修改方法:
在applicationContext.xml把配置DataSource的部分全部改为一行,即有
<property name="user">
  <value>test</value>
</property>
改为
<property name="username" value="test" />
例如:
<bean id="dataSource"
     class="org.apache.commons.dbcp.BasicDataSource">
  <property name="driverClassName" value="com.mysql.jdbc.Driver" />
  <property name="url"
    value="jdbc:mysql://localhost:3306/test?autoReconnect=true&amp;useUnicode=true&amp;characterEncoding=UTF-8" />
  <property name="username" value="test" />
  <property name="password" value="test" />
</bean>

2、创建数据库连接成功,但进行操作时,又抛出异常,异常信息大致如下:
org.hibernate.exception.SQLGrammarException: Could not execute JDBC batch update
        at org.hibernate.exception.ErrorCodeConverter.convert(ErrorCodeConverter.java:70)
        at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
        at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:181)
        at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:226)
        at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:136)
        .............(省略部分信息)
Caused by: java.sql.BatchUpdateException: Base table or view not found,  message from server: "Table 'test.test__user' doesn't exist"
        at com.mysql.jdbc.PreparedStatement.executeBatch(PreparedStatement.java:1404)
        at org.apache.commons.dbcp.DelegatingStatement.executeBatch(DelegatingStatement.java:294)
        at org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:57)
        at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:174)
要操作的表是user,而这里却变成了test__user,应该是把数据库的名字也加了上去。检查hbm文件,发现其中有一个catalog属性,去掉即可。如下:
<hibernate-mapping>
    <class name="com.test.domain.User" table="user" catalog="test">
改为:
<hibernate-mapping>
    <class name="com.test.domain.User" table="user">

重新发布,ok! 

时间: 2024-07-31 09:53:06

MyEclipse5.1开发Spring Struts Hibernate应用时的数据库问题的相关文章

解释spring,struts,hibernate优缺点

解释spring,struts,hibernate优缺点 Struts优点:对视图层进行封装 更好的分离视图层和控制层 对数据进行封装 缺点: 1 .转到展示层时,需要配置forward,每一次转到展示层,相信大多数都是直接转到jsp,而涉及到转向,需要配置forward,如果有十个展示层的jsp,需要配置十次struts,而且还不包括有时候目录.文件变更,需要重新修改forward,注意,每次修改配置之后,要求重新部署整个项目,而tomcate这样的服务器,还必须重新启动服务器,如果业务变更复

用MyEclipse+struts+hibernate测试时遇到的问题

用MyEclipse+struts+hibernate测试时遇到的问题       由于工作原因,使用了MyEclipse+Struts1.2+Hibernate3.1+Spring2.0框架写程序,刚开始的时候在Tomcat6.0上写,后来上面的领导非要弄到Resin3.0上,具体原因不清楚,没办法,照办吧.       把MyEclipse下自动生成的SSH结构直接发布到Resin3.0上,结果痛苦便开始了,弹出错误说什么 21:13:32,500 ERROR Digester:686 - 

spring-框架Spring和Hibernate 无法进行测试数据库的数据注入

问题描述 框架Spring和Hibernate 无法进行测试数据库的数据注入 解决方案 很奇葩的问题!报空指针异常,目测配置文件没有错误! 解决方案二: 很奇葩的问题!报空指针异常,目测配置文件没有错误! 解决方案三: 先看看passengerDaoTest.java的第15行是什么 解决方案四: 第十五行是:ApplicationContext ac=new ClassPathXmlApplicationContext("applicationContext.xml"); 解决方案五

Spring+Struts+Hibernate入门例子Wiring Step By Step

wiring下载点http://www.onjava.com/onjava/2004/04/07/examples/wiring.zip 说重点吧,主要是注意几点! 一 前期工作1. 下载Xdoclet,DB2Java和Proxool,并把Proxool lib目录下的.jar拷到wiring WEB-INF下的lib目录. 把相应的Spring,Hibernate,Struts要用到的包也拷进lib目录,如aopalliance.jar;                   cglib-ful

spring+struts+hibernate问题

问题描述 严重: action: nullorg.springframework.beans.factory.BeanDefinitionStoreException: Error registering bean with name 'sessionFactory' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Bean class [org.springframework.orm.hibertnat

struts2 0-spring+struts+hibernate整合问题,请大神帮忙!

问题描述 spring+struts+hibernate整合问题,请大神帮忙! 求大神解答,兄弟初学ssh,今天整合他们三个.报错很多,但是最后竟然可以正确运行(我只实现了一个从数据库读用户名密码来登陆的功能.) 报错如下:(其中第一个错误就是Could not open ServletContext resource [/WEB-INF/applicationContext.xml],我在这个目录下有这个文件的. 而且我的web.xml里有这些内容. contextConfigLocation

初识SSH(Struts,Spring,Hibernate)-(SSH1)

       做IT的,都知道,项目不知道什么时候就来了,加班也是家常便饭,所以对于新来项目也由原来的恐惧到现在慢慢适应!       这不,刚开发完一个小型系统,又来了一个特急的项目,10天完工,7天后台,3天前台,今天刚刚完成后台,趁着前台美工还有部分没做完,我得以喘息,上来写写这两天的感受,大家共同学习!      首先,由于该项目是个中小型项目,另外后期改动较大,也为了学习新的MVC模式,所以架构设计人员认为使用SSH(Struts,Spring,Hibernate)进行开发,初学的我原

MyEclipse+struts+Hibernate配置开发

说明: 这个手册只是为初学者制作的环境配置和快速开发的一些基本方法,为的是广大爱好者能快速上手,少走我走过的弯路,里面没有任何关于java模式和其他相关的说明.本人水平有限,也没有能力去讨论关于模式设计和开发细节的一些内容. 建议: 如果你还不清楚struts和hibernate的一些基本原理,希望能先去了解一下这方面的相关内容. 推荐: Hibernate中文手册>作者认为要学Hibernate看这个就足够了,里面几乎包括了所有的细节,不过可能不太适合快速入门. 地址:http://www.h

网络相册开发(2)——Spring,SPA,Hibernate框架

搭建java代码框架 开发(2)--Spring,SPA,Hibernate框架-spring hibernate框架"> 引入辅助类和基类 PKgen为 PK 生成器 Java代码 package net.sw.util; import java.text.SimpleDateFormat; import java.util.Date; import java.util.HashMap; import java.util.Map; import java.util.concurrent.