sql
import com.mysql.jdbc.Driver;
import java.sql.*;
public class JdbcFirstDemo {
public static void main(String[] args) throws ClassNotFoundException, SQLException {
//1.加载驱动
Class.forName("com.mysql.cj.jdbc.Driver"); //固定写法
//2.用户信息和url jdbcstudy是数据库名
String url = "jdbc:mysql://localhost:3306/jdbcstudy?useUnicode=true&characterEncoding=utf8&useSSL=False";
String username="root";
String password="123456";
//3.连接成功
Connection connection = DriverManager.getConnection(url,username,password);
//4.执行SQL的对象
Statement statement = connection.createStatement();
//5.执行SQL
String sql = "SELECT * FROM users";
ResultSet resultSet = statement.executeQuery(sql);
while(resultSet.next()){
System.out.println("id=" + resultSet.getObject("id"));
System.out.println("name=" + resultSet.getObject("NAME"));
System.out.println("pwd=" + resultSet.getObject("PASSWORD"));
System.out.println("email=" + resultSet.getObject("EMAIL"));
System.out.println("birth=" + resultSet.getObject("BIRTHDAY"));
}
//6.释放连接
resultSet.close();
connection.close();
statement.close();
}
}
关于statement: 用于像数据库发送SQL语句
statement.executeUpdate();//更新 插入 删除 都是用这个 返回一个受影响的行数
statement.executeQuery(); //查询操作 返回一个ResultSet
ResultSet:查询的结果集:封装了所有的查询结果
拿到结果
resultSet.getObject();
resultSet.getString();
resultSet.getInt();
resultSet.getDate();
resultSet.getFloat();
resultSet.next();移动到下一个数据
使用IDEA连接数据库:
找到IDEA右边的database 在这里点+即可

数据库连接池
数据库连接--执行完毕--释放
连接00释放 十分浪费系统资源
池化技术:准备一些预先的资源,过来就连接预先准备好的
最小连接数: 一般和常用连接数量一样
最大连接数: 业务最高承载上限
超过最大连接数要排队等待
等待超时:超过时间则报错
编写连接池 ,实现一个接口 DataSource