81,095
社区成员
发帖
与我相关
我的任务
分享
<?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">net.sourceforge.jtds.jdbc.Driver</property>
<property name="connection.url">jdbc:microsoft:sqlserver://127.0.0.1:1433;databaseName=mysql;selectMethod=Cursor;</property>
<property name="connection.username">sa</property>
<property name="connection.password">sa</property>
<!-- SQL方言 -->
<property name="dialect">org.hibernate.dialect.HSQLDialect</property>
<!-- 是否在执行期在控制台上输出SQL语句 -->
<property name="show_sql">true</property>
<mapping resource="Message.hbm.xml"/>
</session-factory>
</hibernate-configuration>
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="com.excel.training.hib.Message" table="MESSAGE">
<id name="id" column="ID" type="int">
<generator class="increment"/>
</id>
<property name="text" column="TEXT" type="string" />
</class>
</hibernate-mapping>
public class MessageService {
public static void main(String[] args) throws Exception {
// 创建SessionFactory
SessionFactory sf = new Configuration().configure().buildSessionFactory();
// 打开一个Session
Session session = sf.openSession();
// 开始一个事务
Transaction tx = session.beginTransaction();
Message msg = new Message();
msg.setText("Arrived message at " + new Date());
session.save(msg);
session.getTransaction().commit();
}
}
Exception in thread "main" org.hibernate.exception.JDBCConnectionException: Cannot open connection
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:97)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:52)
at org.hibernate.jdbc.ConnectionManager.openConnection(ConnectionManager.java:449)
at org.hibernate.jdbc.ConnectionManager.getConnection(ConnectionManager.java:167)
at org.hibernate.jdbc.JDBCContext.connection(JDBCContext.java:142)
at org.hibernate.transaction.JDBCTransaction.begin(JDBCTransaction.java:85)
at org.hibernate.impl.SessionImpl.beginTransaction(SessionImpl.java:1354)
at com.excel.training.hib.MessageService.main(MessageService.java:17)
Caused by: java.sql.SQLException: No suitable driver found for jdbc:microsoft:sqlserver://127.0.0.1:1433;databaseName=mysql;selectMethod=Cursor;
at java.sql.DriverManager.getConnection(DriverManager.java:602)
at java.sql.DriverManager.getConnection(DriverManager.java:154)
at org.hibernate.connection.DriverManagerConnectionProvider.getConnection(DriverManagerConnectionProvider.java:133)
at org.hibernate.jdbc.ConnectionManager.openConnection(ConnectionManager.java:446)
... 5 more
String strConnUrl = url: jdbc:microsoft:sqlserver://localhost:1433;databaseName=mysql;selectMethod=Cursor;
System.out.println("************ jtds ******************");
Class.forName("net.sourceforge.jtds.jdbc.Driver").newInstance();
con = java.sql.DriverManager.getConnection(strConnUrl, userName, password);
System.out.println("is connected:"+!con.isClosed());
stat = con.createStatement();
res = stat.executeQuery("select * from message");
while(res.next()){
String name=res.getString("text");
System.out.println(name);
}
if (res != null) try {res.close();} catch(Exception e) {}
if (stat != null) try {stat.close();} catch(Exception e) {}
if (con != null) try {con.close();} catch(Exception e) {}
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
//String strConnUrl = url: jdbc:microsoft:sqlserver://localhost:1433;databaseName=mysql;selectMethod=Cursor;
Connection con = java.sql.DriverManager.getConnection(strConnUrl, userName, password);
System.out.println("is connected:"+!con.isClosed());
Statement stat = con.createStatement();
ResultSet res = stat.executeQuery("select * from message");
while(res.next())
{
String name=res.getString("text");
System.out.println(name);
}
输出: