核心代码:
import com.alibaba.druid.pool.DruidDataSourceFactory;
import com.itheima.pojo.Account;
import javax.sql.DataSource;
import java.io.FileInputStream;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.Properties;
public class DruidExample {
public static void main(String[] args) throws Exception {
/*加载配置文件*/
Properties prop = new Properties();
prop.load(new FileInputStream("jdbc-demo/src/druid.properties"));
// 查看配置路径该怎么配
// System.out.println(System.getProperty("user.dir"));
/*获取连接池对象*/
DataSource dataSource = DruidDataSourceFactory.createDataSource(prop);
/*获取数据库连接*/
Connection connection = dataSource.getConnection();
/*定义sql语句*/
String sql = "select * from account";
/*获取PreparedStatement对象*/
PreparedStatement preparedStatement = connection.prepareStatement(sql);
/*执行sql*/
ResultSet resultSet = preparedStatement.executeQuery();
/*处理数据,将数据添入集合*/
ArrayList<Account> accounts = new ArrayList<>();
while (resultSet.next()){
Account account = new Account();
account.setId(resultSet.getInt("id"));
account.setName(resultSet.getString("name"));
account.setMoney(resultSet.getDouble("money"));
accounts.add(account);
}
/*输出数据*/
System.out.println(accounts);
/*关闭资源*/
resultSet.close();
preparedStatement.close();
connection.close();
}
}
druid.properties文件配置内容:
driverClassName=com.mysql.jdbc.Driver
url=jdbc:mysql://127.0.0.1/db1?useSSL=false&useServerPrepStmts=true&characterEncoding=utf8
username=root
password=root
initialSize=5
maxActive=10
maxWait=3000
Account类:
public class Account {
private int id;
private String name;
private double money;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public double getMoney() {
return money;
}
public void setMoney(double money) {
this.money = money;
}
@Override
public String toString() {
return "Account{" +
"id=" + id +
", name='" + name + '\'' +
", money=" + money +
'}';
}
}