Java SE 第九章JDBC基础--数据库访问步骤

一、加载JDBC驱动程序
Class.forName(“DriverName”)
示例:
对于JDBC/ODBC桥:

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

对于Orcl数据库:

Class.forName("orcl.jdbc.driver.OracleDriver");

二、创建数据库连接
Connection conn=DriverManager.getConnection(String url,String user,String password);
其中url提供了一种标识数据库的方法。
格式:
“jdbc::”
:子协议,数据库的连接方式
:根据子协议的改变而改变
1、对于JDBC-ODBC桥驱动的连接,url格式:
“jdbc:odbc:本地数据库名称”,“用户名”,“密码”
示例:通过ODBC获取数据库连接

Connection conn=DriverManager.getConnection("jdbc:odbc:oracle","scott","tiger");

2、对于oracle驱动连接,url格式:
jdbc:oracle:thin:@serverName:port:Instance
其中:
oracle是子协议名称;
thin一种连接方式;
serverName为orcl数据库服务器名称(域名/IP地址”本机:localhost/127.0.0.1“)
port端口号(默认1521)
Instance(数据库实例名)
示例:通过Orcl驱动获取数据库连接

Connection conn=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl","scott","tiger");

Connection接口(表示与数据库的连接)
1)拥有创建sql语句的方法
2)提供提交、回滚的方法
方法列表:
void close()
Statement createStatement()
void commit()
boolean isClosed()
CallableStatement prepareCall(String sql)
Prepared Statement prepareStatement(String sql)
void rollback()
三、创建Statement对象
说明:
a、创建完连接后,通过Connection接口的createStatement方法来创建Statement,该对象负责将sql语句发送给数据库
b、 如果产生结果集,该对象会将结果封装成ResultSet对象并返回
示例:

Statement smt=conn.createStatement();

四、执行sql语句
获取Statement对象后,就可以使用该对象的executeQuery()方法来执行sql语句。
示例:

ResultSet rs=smt.executeQuery("Select sno,sname,age from student");

五、处理返回结果
ResultSet还提供了一系列方法完成对结果集中数据的操作。
六、关闭创建的对象
需要按顺序关闭:
关闭结果集;关闭Statement对象;关闭连接

示例:访问oracle数据库

public static void main(String[] args)throws Exception {
    
    
		Class.forName("oracle.jdbc.driver.OracleDriver");
		Connection conn=DriverManager.getConnection(
				"jdbc:oracle:thin:@localhost:1521:orcl","dh_admin","123");
		System.out.println("连接成功");
		Statement stmt= conn.createStatement();
		ResultSet rs=stmt.executeQuery("select * from student");
		System.out.println("查询成功");
		while(rs.next()){
    
    
			System.out.println("学生编号:"+rs.getString(1)
			+"\t学生姓名:"+rs.getString(2)
			+"\t学生年龄:"+rs.getString(3)
			+"\t学生性别:"+rs.getString(4));
		}
		rs.close();
		stmt.close();
		conn.close();
	}

在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_45618376/article/details/111721214