前言
JDBC是一种是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法,主要采用Socket和反射的方法.
一、JDBC是什么?
JDBC API主要位于JDK中的java.sql包中(之后扩展的内容位于javax.sql包中)DriverManager:负责加载各种不同驱动程序(Driver),并根据不同的请求,向调用者返回相应的数据库连接(Connection)。Connection:数据库连接,负责与进行数据库间通讯,SQL执行以及事务处理都是在某个特定Connection环境中进行的。可以产生用以执行SQL的Statement。Statement:用以执行SQL查询和更新(针对静态SQL语句和单次执行)。PreparedStatement:用以执行包含动态参数的SQL查询和更新(在服务器端编译,允许重复执行以提高效率)。CallableStatement:用以调用数据库中的存储过程。
二、使用步骤
1.引入库
代码如下(示例):
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Timestamp;
import java.sql.Types;
import java.util.ArrayList;
import java.util.List;
2.主要部分
代码如下(示例):
//初始化连接部分
private static String user = "root";
private static String url = "jdbc:mysql://localhost:3308/db_ishop1?serverTimezone=UTC&allowPublicKeyRetrieval=true&useSSL=false";
private static String pwd = "123456";
private static String className = "com.mysql.cj.jdbc.Driver";
public Connection conn = null;
/**
* 初始化连接
* @return
* @throws ClassNotFoundException
* @throws SQLException
*/
public Connection getConnection() throws ClassNotFoundException, SQLException {
Class.forName(className);
conn = DriverManager.getConnection(url, user, pwd);
return conn;
}
//增加部分
public int createCarts(Carts cat) throws ClassNotFoundException, SQLException{
//获取数据库连接对象
Connection conn = super.getConnection();
PreparedStatement ps = null;
int result = 0;
String sql ="insert into t_carts values(?,?,?,?)";
try {
ps = conn.prepareStatement(sql);
ps.setObject(1,cat.getUserid());
ps.setObject(2,cat.getGoodsid());
ps.setObject(3,cat.getAddtime());
ps.setObject(4,cat.getNumber());
result = ps.executeUpdate();
}catch (SQLException e) {
// TODO: handle exception
e.printStackTrace();
}finally {
// 统一释放连接资源
super.closeConnect(null, ps, conn);
}
return result;
}
总结
JDBC是一种用于SQL语句的Java API,由一组类和接口组成,通过调用这些类和接口所提供的方法,可以使用标准的SQL语言来存取数据库中的数据。并且是一项基于Socket的技术和反射,并IOC,AOP相结合的结果。主要用途如,有数据库建立连接,发送 SQL 语句,处理结果。