Java数据库连接,(Java Database Connectivity,简称JDBC)是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法。
客户端操作 MySQL 数据库的方式:
- 使用第三方客户端来访问 MySQL:SQLyog、Navicat 等
- 使用 MySQL 自带的命令行客户端方式
- 通过 Java 来访问 MySQL 数据库
快速入门:
- 导入驱动的jar包
复制 jar 到项目的 libs 目录下;右键–>Add As Library - 注册驱动(DriverManager类)(操作数据库还需要具体的实现类,也就是数据库驱动。)
public class Driver extends NonRegisteringDriver implements java.sql.Driver{
static{
try{
java.sql.DriverManager.registerDriver(new Driver());
}catch(SQLException E){
throw new RuntimeException("Can't register driver!");
}
}
public Driver() throws SQLException{
}
}
省略写:Class.forName("com.mysql.cj.jdbc.Driver")
;
- 获取数据库连接对象Connection接口(创建Satement或PrepareSatement对象)
DriverManager 类中的静态方法 Connection getConnection
(String url, String user, String password);
connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/teng?serverTimezone=Asia/Shanghai","root", "123456");
- 定义sql语句
- 获取执行sql语句执行对象Statement
creatStatement()
:创建向数据库发送 sql 的 statement 对象。
prepareStatement()
:创建向数据库发送预编译 sql 的
PrepareSatement 对象。
(对于Statement和PrepareStatement区别见另外一篇https://blog.csdn.net/Outengteng/article/details/108207681) - 执行 sql,接受返回结果
执行: Statement 接口
executeQuery(String sql)
:用于向数据发送查询语句。
executeUpdate(String sql)
:用于向数据库发送 insert、update 或delete 语句。
返回结果: ResultSet(Jdbc 程序中的 ResultSet 用于代表 SQL 语句的执行结果。Resultset 封装执行结果时,采用的类似于表格的方式。ResultSet 对象维护了一个指向表格数据行的游标,初始的时候,游标在第一行之前,调用ResultSet.next() 方法,可以使游标指向具体的数据行,进行调用方法获取该行的数据。)
getObject/String(int index)
:
getObject/String(string columnName)
:任意数据类型/指定数据类型
next()
:移动到下一行
previous()
:移动到前一行
absolute(int row)
:移动到指定行
beforeFirst()
:移动 resultSet 的最前面。
afterLast()
:移动到 resultSet 的最后面。 - 处理结果
- 关闭资源
先开后关
public class JDBCDemo01 {
public static void main(String[] args) {
List<Emp> list = new ArrayList<Emp>();
Connection connection = null;
Statement statement = null;
ResultSet rs = null;
try {
//注册驱动
//com.mysql.cj.jdbc.Driver
Class.forName("com.mysql.cj.jdbc.Driver")