概念
Java DataBaseConnectivity(JDBC),java语言操作数据
==================================================================
本质
由sun公司提供的一套数据库操作的规则(即接口), 所有的数据库厂商提供该接口的实现类,即不同种类的数据库驱动
操作流程:
1.加载驱动
2.创建连接
3.创建一个statment对象,执行sql语句
4.获取结果集resultset,处理结果
5.管理连接
=================================================
package com.ndt.chenxingen;
import java.sql.*;
public class JDBCTest1 {
public static void main(String[] args) throws ClassNotFoundException, SQLException {
//1.加载驱动
Class.forName("com.mysql.cj.jdbc.Driver");
//2.获取连接,连接mysql数据库
//三个参数:1.url:jdbc:mysql://主机IP地址(域名):mysql端口号(默认3306)/数据库名称?后面跟参数(serverTimezone=Asia/Shanghai表示时区)
// 2.所连接数据库的用户名
// 3.所连接数据库的密码
Connection connection= DriverManager.getConnection("jdbc:mysql://localhost:3306/company?serverTimezone=Asia/Shanghai","root","123456");
//编写sql语句
//String sql1="insert into emp(empno,sal) values(999,2980)";//1插入
//String sql2="update emp set sal=9999 where empno=999";//1修改
//String sql3="delete from emp where empno=999";//1删除
String sql4="select * from emp where id=1004";//2查询
//4.创建statement对象,执行sql语句
Statement statement=connection.createStatement();
//int i=statement.executeUpdate(sql1);//i表示执行该sql语句后,在该数据库中影响的行数
//5.获取并处理结果集
//结果集:是类似于该表的结构,每一个resultSet都是一行记录
ResultSet resultSet = statement.executeQuery(sql4);
while (resultSet.next()){//判断结果集是否为空
int id = resultSet.getInt(1);
//参数可以是列的索引(从1开始),也可以是字段名
String ename = resultSet.getString("ename");
int job_id = resultSet.getInt(3);
int mgr = resultSet.getInt(4);
Date joindate = resultSet.getDate(5);
double salary = resultSet.getDouble(6);
double bonus = resultSet.getDouble(7);
int dept_id = resultSet.getInt(8);
System.out.println("id:"+id+"--job_id:"+job_id+"--mgr:"+mgr+"--joindate:"+joindate+"--salary:"+ salary+"--bonus:"+bonus+"--dept_id:"+dept_id);
}
//打印输出
//System.out.println(i);
//关闭连接,先开后关
resultSet.close();
statement.close();
connection.close();
}
}
详解请移步:java-JDBC详解