JavaJDBC数据库连接_Oracle数据库连接
Java DataBase Connectivity
(Java DataBase Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序。简单地说,JDBC 可做三件事:与数据库建立连接、发送 操作数据库的语句并处理结果。
1.加载驱动:
这里面以Oracle数据库为例,驱动程序:即是JDBC这组接口的实现类和其功能类由数据库厂商提供导入oracle.jar包
(关键字Class.forName)
// 1、加载驱动
class.forName("oracle.jdbc.driver.OracleDriver");
2.创建连接:
DriverManager提供一个静态的方法建立与数据库的链接
(关键字 : DriverManager.getConnection(url,username,password))
// 2、建立连接(url路径,usename用户名,password密码)
String url = "jdbc:oracle:thin:@localhost:1521:ORCLXN";//这里面localhost是本机,1521是oracle端口ORCLXN为数据库名称
String username = "root";
String password = "root";
Connecton conn = DriverManager.getConnection(url,username,password);
//注意这三个属性的顺序url : 链接路径 username:数据库用户名 password:用户名密码
3.创建声明:
(关键字 : createStatement())
// 3、创建声明
Statement statement = connection.createStatement();
4.发送查询SQL文并打印结果集:
使用List套map方法来保存ResultSet结果集
关键字 executeQuery(SQL文),ResultSet()
// 4、发送sql
String sql = "select * from emp";
ResultSet rs = statement.executeQuery(sql);
//保存结果集(使用list套map保存数据)
ArrayList<HashMap> list = new ArrayList<>();
while(rs.next()){
//创建map装取数据
HashMap<String ,String > map = new HashMap<>();
//获取成行的数据
ResultSetMetaData rsmd = rs.getMetaData();
//行数据的个数
int count = rsmd.getColumCount();
//for循环把数据取出
for(int i = 1 ; i <= count ; i++){
//字段名
String fieldName = rsmd.getColumnName(i);
//字段值
String fieldName = rs.getString(fieldName);
//把数据放到map中
map.put(fieldName ,fieldName );
}
//把成条的数据放进list中
list.add(map);
}
5.关闭声明:
(关键字 : close())
// 5、关闭声明
rs.close();
6.关闭连接:
(关键字 : close())
// 6、关闭连接
conn.close();
7.源代码:
package com.ftg.product.test;
import java.sql.*;
import java.util.ArrayList;
import java.util.HashMap;
/**
* @author Xn.he
* @date 2020/3/20
* @time 23:18
* JDBC链接Oracle数据库
**/
public class Dao {
public static void main(String[] args)throws Exception {
//1.加载驱动(关键字Class.forName)
Class.forName("oracle.jdbc.driver.OracleDriver");
//2.建立链接
Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:ORCLXN","library","123456");
//3.声明
Statement stmt = conn.createStatement();
//4.访问数据
ResultSet rs = stmt.executeQuery("select * from library_book");
//打印结果集
//创建list套map装取数据
ArrayList<HashMap> list = new ArrayList<>();
while (rs.next()){
//创建map装取数据
HashMap<String, String> map = new HashMap<>();
//获取成行的数据
ResultSetMetaData rsmd = rs.getMetaData();
//行数据的个数
int count = rsmd.getColumnCount();
//for循环把数据取出
for (int i = 1; i <= count; i++) {
//字段名
String zdm = rsmd.getColumnName(i);
//字段值
String zdz = rs.getString(zdm);
//把数据放到map中
map.put(zdm,zdz);
}
//把成条的数据方法进list中
list.add(map);
}
System.out.println(list);
//5.关闭声明
rs.close();
//6.关闭链接
conn.close();
}
}