一、什么是JDBC?
Java数据库连接,(Java Database Connectivity,简称JDBC)是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法,没错这是个很专业的解释,^ - ^。
二、JDBC的连接过程。
-
加载JDBC驱动程序, 代码如下:
//加载MySQL的驱动类
Class.forName(“com.mysql.jdbc.Driver”) ; -
提供JDBC连接URL
连接URL定义了连接数据库时的协议、子协议、数据源标识。
代码格式,代码如下:
String URL = “jdbc:mysql://localhost:3306/syq/data” -
创建数据库连接
要连接数据库,需要向Java.sql.DriverManager请求并获得Connection对象,该对象就是一个数据库的连接。
使用DriverManager的getConnectin(String url , String username , String password )方法,并向其中传入数据库的路径、用户名、密码来得到一个连接。
代码如下:
Connection con = DriverManager.getConnection(url , username , password ) ; -
创建Statement对象
执行静态SQL语句。一般使用Statement实例实现。
执行动态SQL语句。一般使用PreparedStatement实例实现。
执行数据库存储过程。一般使用CallableStatement实例实现. -
执行SQL语句
通常有三种方法:executeQuery 、executeUpdate和execute。
ResultSet executeQuery(String sql):执行查询数据库的SQL语句,返回一个ResultSet类型的结果集。
int executeUpdate(String sql):用于执行INSERT、DELETE或UPDATE语句以及SQL DDL语句。
execute(sqlString):用来完成返回多个结果集、多个更新数据等的语句。 -
处理结果
ResultSet包含符合SQL语句中条件的所有行,并且它通过一套get方法提供了对这些行中数据的访问。 -
关闭JDBC连接
关闭记录集。
关闭声明。
关闭连接对象。
三、示例:
在sqlyog中创建数据库名为customer
,建立表customer
表中添加数据为:
打开IntelliJ IDEA
创建.Java文件写入完整代码:
private static final String url = "jdbc:mysql://localhost:3306/customer";
private static final String name = "com.mysql.jdbc.Driver";
private static final String username = "数据库名称";
private static final String password = "数据库的密码";
//开启连接
private DBManager(String sql){
try{
Class.forName(name);
connection = DriverManager.getConnection(url, username, password);
preparedStatement = connection.prepareStatement(sql);
}catch(Exception e){
e.printStackTrace();
}
}
// 进行操作后需要的关闭连接
private void close(){
try{
this.connection.close();
this.preparedStatement.close();
}catch (Exception e){
e.printStackTrace();
}
}
// demo测试
publ
ic static void main(String[] args){
String sql = "SELECT * FROM customer";
DBManager dbManager = new DBManager(sql); //实例化
String id, name, gender, phone, email, description;
try{
ResultSet result = dbManager.preparedStatement.executeQuery();
while(result.next()){ //若有数据,就输出
id = result.getString(1);
name = result.getString(2);
gender = result.getString(3);
phone = result.getString(4);
email = result.getString(5);
description = result.getString(6);
//显示出每一行数据
System.out.println(id + " " + name + " " + gender + " "
+ phone + " " + email + " " + description);
}
result.close();
dbManager.close();
}catch (Exception e){
e.printStackTrace();
}
}
最终在idea中看到的表单数据和sqlyog中一致即表明操作成功。