JDBC的常用类和接口
一 、DriverManager类
DriverManage类用来管理数据库中的所有驱动程序,是JDBC的管理层,作用于用户和驱动程序之间,跟踪可用的驱动程序,并在数据库的驱动之间建立连接,DriverManager类中的方法都是静态方法。
二、Connection 接口
COnnection 接口代表与特定的数据库的连接,要对数据库中的数据进行操作,首先要获取数据库连接,Connection实就像在应用程序与数据库之间开通了一条通道.可以通过DriverManager类的getConnection()方法获取Connection的实例。
三、Statement 接口
Statement接口用于创建向数据库中传递SQL语句的对象。
四、ResultSet,ResultSetMetaData接口
结果集合接口(执行select语句的结果),在执行查询语句时的返回集接口。
JDBC原理及工作流程
1:加载驱动,创建链接(加载驱动靠DriverManager),通过DriverManager获取连接Connection 【调用DriverManager.getConnection()方法获取】
2:创建语句对象(通过Connection创建Statement用于执行SQL语句)
3:执行SQL语句
4:处理结果集:若执行select语句,会产生结果集ResultSet
5:关闭连接:调用Connection的close()方法
相关代码如下:
DBUilt类
package com.zhongruan;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class addUser {
Connection conn = null;
PreparedStatement pstm = null;
ResultSet rs = null;
//测试增加
public void addUser(User user) {
try {
//1.获取连接
conn = DBUtl.get_Conn();
//2.获取存放sql语句的对象
pstm = conn.prepareStatement("insert into tb_user(username,password) values(?,?)");
//3.填坑
pstm.setString(1, user.getUsername());
pstm.setString(2, user.getPassword());
//4.执行sql并得到结果
int i = pstm.executeUpdate();
if (i > 0) {
System.out.println("注册成功");
} else {
System.out.println("注册失败");
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
//6.关闭连接
try {
DBUtl.get_CloseConn(null, pstm, conn);
} catch (SQLException e) {
e.printStackTrace();
}
}
}
public static void main(String[] args) {
addUser t2 = new addUser();
User user = new User("李四虎", "111");
t2.addUser(user);
}
}
testuser类:
package com.day1;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class TestUser2 {
Connection conn=null;
PreparedStatement pstm=null;
ResultSet rs=null;
//测试增加
public void addUser(User user){
try{
//1.获取连接
conn=DBUtil.get_Conn();
//2.获取存放sql语句的对象
pstm=conn.prepareStatement("insert into tb_user(username,password) values(?,?)");
//3.填坑
pstm.setString(1,user.getUsername());
pstm.setString(2,user.getPassword());
//4.执行sql并得到结果
int i=pstm.executeUpdate();
//5.处理结果
if(i>0){
System.out.println("增加成功");
}else{
System.out.println("增加失败");
}
}catch (SQLException e){
e.printStackTrace();
}finally{
try {
//6.关闭连接
DBUtil.get_CloseConn(null,pstm,conn);
}catch(SQLException e){
e.printStackTrace();
}
}
}
public static void main(String[] args) {
TestUser2 t2=new TestUser2();
User user1=new User("李虎城","123456");
t2.addUser(user1);
}
}
之后就成功实现了数据库数据的增加:
增加前:
增加后: