但是。。。
一直报错:DruidDataSourceFactory cannot be resolved
已经进行了删除重引入,project里clean操作,毫无卵用。。。望帮助
代码如下。。。
package Ex13_JDBC;
import com.alibaba.druid.pool.DruidDataSourceFactory;
import javax.sql.DataSource;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.Properties;
/**
* Druid
* 用连接池查询user表中的数据
*/
public class JdbcDruidDemo {
public static void main(String[] args) {
//将这些弄到大括号外面提升作用域,好释放资源
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
try {
//1. 导入druid相应的jar包
//2. 定义配置文件
//2.1 定义一个io流集合
Properties pro = new Properties();
//2.2 将druid.properties文件读取出来并写入Properties集合中
pro.load(JdbcDruidDemo.class.getClassLoader().getResourceAsStream("druid.properties"));
//3. 创建数据库连接池对象 通过工厂来获取 DruidDataSourceFactory 然后传递Properties对象 实现标准接口:DataSource
DataSource ds = DruidDataSourceFactory.createDataSource(pro);
//4. 获取数据库连接对象
conn = ds.getConnection();
//5. 创建sql语句
String sql = "select * from user";
//6. 创建执行sql对象
stmt = conn.createStatement();
//7. 创建一个ResultSet:结果集对象,封装查询结果
rs = stmt.executeQuery(sql);
//8. 然后在用ResultSet里的方法 next():游标向下移动一行 判断是否有数据 有就是true,没有就是false
while (rs.next()) {
//rs.getString():传递的是数据库的字段
String username = rs.getString("username");
int password = rs.getInt("password");
//9. 输入结果
System.out.println(username + " " + password);
}
} catch (Exception e) {
e.printStackTrace();
}finally{
//10. 释放资源
try {
if(rs != null){
rs.close();
}
}catch(Exception e){
e.printStackTrace();
}
try {
if(stmt != null){
stmt.close();
}
}catch(Exception e){
e.printStackTrace();
}
try {
if(conn != null){
conn.close();
}
}catch(Exception e){
e.printStackTrace();
}
}
}
}