JDBC———数据库连接池
问题1:啥是JDBC?这是干嘛的?
JDBC:Java DataBase Connectivity Java 数据库连接
基本概念:Java语言操作数据库的东西。
JDBC本质:其实是官方(sun公司)定义的一套操作所有关系型数据库的规则,即接口。
各个数据库厂商去实现这套接口,提供数据库驱动jar包。也就是说,不管是啥数据库,只需要在IDEA中导入相应的数据库jar包就可以了。
我们可以使用这套接口(JDBC)编程,真正执行的代码是驱动jar包中的实现类。
问题2:怎么使用JDBC让IDEA与MySQL相连接?
连接步骤:
1.第一步导入jar包:mysql-connector-java-5.1.37-bin.jar
1-a.复制mysql-connector-java-5.1.37-bin.jar到项目的libs目录下
1-b.右键–>Add As Library
2.注册驱动
3.获取数据库连接对象
4.定义SQL语句
5.获取执行SQL语句的对象statement
6.执行SQL语句
7.处理结果
8.释放资源
代码实现:
// 1.导入驱动jar包
// 2.注册驱动
/*try {
DriverManager.registerDriver(new com.mysql.jdbc.Driver());
} catch (SQLException var1) {
throw new RuntimeException("Can't register driver!");
}*/
Class.forName("com.mysql.jdbc.Driver");
// 3.获取数据库连接对象
Connection conn= DriverManager.getConnection
("jdbc:mysql://localhost:3306/mytest1","root","root" );
//4.定义SQL语句
String sql="INSERT INTO student1(id,NAME,age,sex,address,math,english) VALUES(9,'徐丽',48,'女','横峰',100,100)";
//5.获取执行SQL的对象statement
Statement stmt =conn.createStatement();
//6.执行SQL
int count=stmt.executeUpdate(sql);
//7.处理结果
System.out.println(count);
//8.释放资源
conn.close();
stmt.close();
问题3:DriverManager、Connection、Statement这些是啥?
1.DriverManager :驱动管理对象
功能:
1.注册驱动 告诉程序要用那个驱动架包
static void registerDriver(Driver driver):
注册与给定的驱动程序 DriverManager
写代码使用:Class.forName(“com.mysql.jdbc.Driver”)
# 将这个加载进内存,其中有要执行的静态代码块
在这个类中,有静态代码块
2.获取数据库连接
static Connection getConnection(String url, String user, String password)
试图建立到给定数据库 URL 的连接。
#URL:指定连接路径
语法:jdbc:mysql://ip地址(域名):端口号/数据库名称
细节:如果连接的是本机的MySQL服务器,并且MySQL服务器默认端口是3306,则URL可以简写为:jdbc:mysql:///数据库名称
2.Connection:数据库连接对象
功能:
1.获取执行SQL的对象
Statement createStatement()
创建一个 Statement 对象来将 SQL 语句发送到数据库。
PreparedStatement prepareStatement(String sql)
创建一个 PreparedStatement 对象来将参数化的 SQL 语句发送到数据库。
2.管理事物:
开启事物:setAutoCommit(boolean autoCommit)
提交事物:commit()
回滚事物:rollback()
3.Statement:执行SQL的对象
1.执行SQL
Boolean execute(String sql):可以执行任意的SQL
int executeupdate(String sql):执行DML(insert,update,delete)语句,DDL语句
ResultSet executeQuerry(String sql):执行DQL(select)语句