`
mgssnake
  • 浏览: 41872 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
文章分类
社区版块
存档分类
最新评论

Spring整和Hibernate经验

阅读更多

        今天我在整和Spring和Hibernate时,系统老报一个错误信息

java 代码
  1. Exception in thread "main" org.springframework.jdbc.UncategorizedSQLException: Hibernate operation: Cannot open connection; uncategorized SQLException for SQL [???]; SQL state [null]; error code [0]; Cannot create JDBC driver of class 'com.microsoft.jdbc.sqlserver.SQLServerDriver' for connect URL '   
  2.             jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=hiber;SelectMethod=cursor'; nested exception is org.apache.commons.dbcp.SQLNestedException: Cannot create JDBC driver of class 'com.microsoft.jdbc.sqlserver.SQLServerDriver' for connect URL '   
  3.             jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=hiber;SelectMethod=cursor'   
  4. org.apache.commons.dbcp.SQLNestedException: Cannot create JDBC driver of class 'com.microsoft.jdbc.sqlserver.SQLServerDriver' for connect URL '   
  5.             jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=hiber;SelectMethod=cursor'   
  6.     at org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:780)   
  7.     at org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:540)   
  8.     at org.springframework.orm.hibernate3.LocalDataSourceConnectionProvider.getConnection(LocalDataSourceConnectionProvider.java:81)   
  9.     at org.hibernate.jdbc.ConnectionManager.openConnection(ConnectionManager.java:298)   
  10.     at org.hibernate.jdbc.ConnectionManager.getConnection(ConnectionManager.java:110)   
  11.     at org.hibernate.jdbc.AbstractBatcher.prepareQueryStatement(AbstractBatcher.java:88)   
  12.     at org.hibernate.loader.Loader.prepareQueryStatement(Loader.java:1162)   
  13.     at org.hibernate.loader.Loader.doQuery(Loader.java:390)   
  14.     at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:218)   
  15.     at org.hibernate.loader.Loader.doList(Loader.java:1593)   
  16.     at org.hibernate.loader.Loader.list(Loader.java:1577)   
  17.     at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:395)   
  18.     at org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:271)   
  19.     at org.hibernate.impl.SessionImpl.list(SessionImpl.java:844)   
  20.     at org.hibernate.impl.QueryImpl.list(QueryImpl.java:74)   
  21.     at org.springframework.orm.hibernate3.HibernateTemplate$31.doInHibernate(HibernateTemplate.java:853)   
  22.     at org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:366)   
  23.     at org.springframework.orm.hibernate3.HibernateTemplate.find(HibernateTemplate.java:844)   
  24.     at org.springframework.orm.hibernate3.HibernateTemplate.find(HibernateTemplate.java:836)   
  25.     at hbn.DaoInImp.get(DaoInImp.java:12)   
  26.     at hbn.Test.main(Test.java:27)   
  27. Caused by: java.sql.SQLException: No suitable driver   
  28.     at java.sql.DriverManager.getDriver(DriverManager.java:243)   
  29.     at org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:773)   
  30.     ... 20 more  

搞的我郁闷的很,反复检查测试,在不使用Spring时,数据库连接正常,一用Spring时就报找不到驱动,在网上不断翻阅资料都未果,最后无意间复制了一段代码,放上去就好了,经过和之前我写的代码比对,代码都没什么问题,就是差在一个回车上

改动前:

java 代码
  1. <bean id="dataSource"  
  2.         class="org.apache.commons.dbcp.BasicDataSource">   
  3.         <property name="driverClassName">   
  4.             <value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value>   
  5.         </property>   
  6.         <property name="url">   
  7.             <value>   
  8. jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=hiber;SelectMethod=cursor   
  9. </value>     //就是这里的换行惹的祸   
  10.         </property>   
  11.         <property name="username">   
  12.             <value>sa</value>   
  13.         </property>   
  14.         <property name="password">   
  15.             <value></value>   
  16.         </property>   
  17.     </bean>  

改动后

java 代码
  1. <bean id="dataSource"  
  2.         class="org.apache.commons.dbcp.BasicDataSource">   
  3.         <property name="driverClassName">   
  4.             <value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value>   
  5.         </property>   
  6.         <property name="url">   
  7.             <value>jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=hiber;SelectMethod=cursor</value>   
  8.         </property>   
  9.         <property name="username">   
  10.             <value>sa</value>   
  11.         </property>   
  12.         <property name="password">   
  13.             <value></value>   
  14.         </property>   
  15.     </bean>  

看到这里真的有让人无奈的感觉,XML里面我好象以前也遇到过这样的情况,不能进行分段读数据,哎,以后这样的问题一定要记住。

     以上是我的一点点小经验,希望各位不要见笑,其实也没什么,就是在平时写程序的时候多注意下就不会出现这样的问题了。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics