spring+hibernate的问题

xeqtrl982 2009-11-19 02:31:13
//我现在想做一个spring+hibernate的试验,applicationContext.xml是自动生成的,我现在运行如下代码,总报数据库连接错误!我直接用连接字符串连接也正常,单独使用hibernate来用Session来操作对象也正常,可就是使用spring生成的dao就出错!郁闷啊......
出错信息如下:
JDBC exception on Hibernate data access; nested exception is org.hibernate.exception.GenericJDBCException: Cannot open connection
Caused by: org.hibernate.exception.GenericJDBCException: Cannot open connection
......
Caused by: org.apache.commons.dbcp.SQLNestedException: Cannot create JDBC driver of class 'com.microsoft.sqlserver.jdbc.SQLServerDriver' for connect URL '
jdbc:sqlserver://localhost:1433;databaseName=TESTA

public static void main(String[] args) {
// TODO Auto-generated method stub
ApplicationContext ac=new ClassPathXmlApplicationContext("applicationContext.xml");
UserdataDAO udd=(UserdataDAO)ac.getBean("UserdataDAO");
Userdata user=new Userdata();
user.setUsername("ff");
user.setUserpassword("fff");
udd.save(user);
}



--applicationContext.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
<bean id="dataSource"
class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName">
<value>com.microsoft.sqlserver.jdbc.SQLServerDriver</value>
</property>
<property name="url">
<value>
jdbc:sqlserver://localhost:1433;databaseName=TESTA
</value>
</property>
<property name="username">
<value>sa</value>
</property>
<property name="password">
<value>XXXXXX</value>
</property>
</bean>
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource">
<ref bean="dataSource" />
</property>

<property name="mappingResources">
<list>
<value>com/cdrs/hibernate/Userdata.hbm.xml</value>
</list>
</property>

<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">
org.hibernate.dialect.SQLServerDialect
</prop>
</props>
</property>
</bean>
<bean id="UserdataDAO" class="com.cdrs.hibernate.UserdataDAO">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
</bean></beans>
...全文
134 14 打赏 收藏 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
xeqtrl982 2009-11-19
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 lxd520123 的回复:]
你仔细检查你的连接字符串吧
不太可能和排版有关系
[/Quote]
spring读取配置文件的确有一定的问题
bunrise 2009-11-19
  • 打赏
  • 举报
回复
你仔细检查你的连接字符串吧
不太可能和排版有关系
xeqtrl982 2009-11-19
  • 打赏
  • 举报
回复
有关系的
bunrise 2009-11-19
  • 打赏
  • 举报
回复
我眼花了吗,没看出区别。。是不是多打个空格
和排版没关系吧
xeqtrl982 2009-11-19
  • 打赏
  • 举报
回复

--终于解决了 ,这样写不对
<property name="url">
<value>
jdbc:sqlserver://localhost:1433;databaseName=TESTA
</value>
</property>
--这样写才对
<property name="url">
<value>jdbc:sqlserver://localhost:1433;databaseName=TESTA</value>
</property>
aaby167 2009-11-19
  • 打赏
  • 举报
回复
应该是你的mysql的数据库驱动 jar包地方没放正确吧
你把它放到jre/lib/ext/下
然后重启应用看看
xeqtrl982 2009-11-19
  • 打赏
  • 举报
回复
加了
youjianbo_han_87 2009-11-19
  • 打赏
  • 举报
回复
org.apache.commons.dbcp.BasicDataSource

dbcp连接池的 jar 包有加入吗?
xeqtrl982 2009-11-19
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 zl3450341 的回复:]
先导入spring
再导入hibernate 导入hibernate时都用spring的
别用hibernate自己的
[/Quote]
我就是这么做的,哪位能告诉我错误原因啊
老张-AI 2009-11-19
  • 打赏
  • 举报
回复
先导入spring
再导入hibernate 导入hibernate时都用spring的
别用hibernate自己的
xeqtrl982 2009-11-19
  • 打赏
  • 举报
回复
密码做隐藏了
zhangwenmin 2009-11-19
  • 打赏
  • 举报
回复
<property name="password">
<value>XXXXXX</value>
</property>
jueqing3000 2009-11-19
  • 打赏
  • 举报
回复
sessionFactory用Spring去创建实例,Hibernate生成的XML基本等于没用。你去控制一下Spring生成的XML
xeqtrl982 2009-11-19
  • 打赏
  • 举报
回复
数据库为sqlserver2005,连接字符串直接连接数据库读取、查询均没问题,

62,620

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧