以前查询数据库都是用DriverManager 如:
package TestConnection;
import java.sql.*;
import java.util.Scanner;
public class Testmysql {
public static void main(String[] args) {
Connection conn =null;
Statement stmt=null;
ResultSet rs=null;
try {
Class.forName("com.mysql.jdbc.Driver");
conn= DriverManager.getConnection("jdbc:mysql://localhost/mydata?" +
"user=root&password=root");
stmt = conn.createStatement();
stmt.executeUpdate(sql);
rs = stmt.executeQuery("SELECT * FROM dept");
while(rs.next()){
System.out.println(rs.getString("deptno"));
}
}catch (ClassNotFoundException ex) {
ex.printStackTrace();
}
catch (SQLException ex) {
System.out.println("SQLException: " + ex.getMessage());
}finally{
try{
if(rs!=null)
rs.close();
rs=null;
if(stmt!=null)
stmt.close();
stmt=null;
if(conn!=null)
conn.close();
conn=null;
}catch(Exception e){
e.printStackTrace();
}
}
}
}
现在想用DataSource实现上述功能 再try 中 这样写
{
DriverManagerDataSource ds = new DriverManagerDataSource();
ds.setDriverClassName("com.mysql.jdbc.Driver");
ds.setUrl("jdbc:mysql//localhost/spring");
ds.setUsername("root");
ds.setPassword("root");
conn = ds.getConnection();
stmt = conn.createStatement();
rs = stmt.executeQuery("select * from dept");
}
报No suitable driver 错(我引入了连接的jar包,并且第一个通过DriverManager的可以正常运行)我想请问这是什么问题?
另外如果想通过注入DataSource的方式
我知道在XML 中 这样写
可是在上面的try 里 如何写 才能让结果集中的数据正常输出那?应该另写一个main方法?可是我这个程序是写在main方法中的 直接去掉会报个引号错误(可是引号没有错)请问应该怎么做?
[b]问题补充:[/b]
那是否还用Statement?如何查询结果集那?另外注入方式TRY 中怎么写?