简介:在一般的项目开发中,无不用到对数据库的操作,这些操作无非也就是一些增删改查等操作。那么我们的Java如何操作数据库进行相关的数据操作呢,这里我们需要一个驱动程序,即JDBC驱动,JDBC包含两层,上面一层是JDBC的API,这个API和下层的JDBC驱动程序管理器API通信,向他发送不同的SQL语句。Java的JDBC驱动程序需要我们外部引用一个jar包,在末尾我会附上下载链接,可自行下载。
用法:Java操作数据库主要包括以下六步:
1.加载驱动
2.建立连接
3.创建SQL对象
4.执行SQL语句
5.处理结果集
6.关闭连接
以下两个案例分别演示了最基本的数据库查询操作以及使用预查询的方法查询数据:
package com.csdn.bk.sql;
import java.sql.*;
public class SqlConnection {
public static void main(String[] args) throws ClassNotFoundException, SQLException {
//利用反射的方法加载驱动器
Class.forName("com.mysql.cj.jdbc.Driver");
//使用Drivermanager的getConnectionn方法获取连接对象
Connection root = DriverManager.getConnection("jdbc:mysql:///bookmanager?serverTimezone=Asia/Shanghai", "root", "123456");
//获取statement对象
Statement statement = root.createStatement();
//指定sql语句,要执行增删改可使用executeUpdate()方法
ResultSet resultSet = statement.executeQuery("select * from user");
//循环输出获取的数据
while (resultSet.next()){
System.out.print(resultSet.getInt(1)+"\t");
System.out.print(resultSet.getString(2)+"\t");
System.out.print(resultSet.getString(3)+"\t");
System.out.print(resultSet.getString(4)+"\t");
System.out.print(resultSet.getString(5)+"\t");
System.out.print(resultSet.getString(6)+"\t");
System.out.println();
}
resultSet.close();
statement.close();
root.close();
}
}
package com.csdn.bk.sql;
import java.sql.*;
public class PreparedQueryTest {
public static void main(String[] args) throws ClassNotFoundException, SQLException {
//利用反射的方法加载驱动器
Class.forName("com.mysql.cj.jdbc.Driver");
//使用Drivermanager的getConnectionn方法获取连接对象
Connection root = DriverManager.getConnection("jdbc:mysql:///bookmanager?serverTimezone=Asia/Shanghai", "root", "123456");
//指定sql语句字符串 ,问号为占位符,指定要使用参数
String sql = "select * from user where id = ?";
//获取Preparedstatement预查询
PreparedStatement statement = root.prepareStatement(sql);
//添加查询参数
statement.setObject(1,1);
//执行查询,获取返回值,要执行增删改则可使用executeUpdate()方法。
ResultSet resultSet = statement.executeQuery();
//循环输出
while (resultSet.next()){
System.out.print(resultSet.getInt(1)+"\t");
System.out.print(resultSet.getString(2)+"\t");
System.out.print(resultSet.getString(3)+"\t");
System.out.print(resultSet.getString(4)+"\t");
System.out.print(resultSet.getString(5)+"\t");
System.out.print(resultSet.getString(6)+"\t");
System.out.println();
}
resultSet.close();
statement.close();
root.close();
}
}
mysql驱动 链接:https://pan.baidu.com/s/1z0k92bA9-WhiGBcP2Lw6qg
提取码:6q1e