Oracle使用JDBC 总结
连接步骤
导入Oracle驱动包 编写代码
String url= "jdbc:oracle:thin:@localhost:1521:orcl" ;
String user= "scott" ;
String password= "tiger" ;
Class. forName ( "oracle.jdbc.driver.OracleDriver" ) ;
Connection conn = DriverManager. getConnection ( url, user, password) ;
参数讲解
url 参数讲解
协议(jdbc):子协议(oracle:thin):数据源标识(@localhost:1521:orcl)
jdbc:–>>Java Database Connectivity,即Java数据库连接,实质是一个Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC可做3件事情:1、连接数据库 2、发送SQL语句 3、(从数据库)接收处理结果。从连接字符串角度讲,指出连接数据库用的是JDBC的方式。 oracle:thin–>>指出连接的是oracle数据库,同时连接方式为thin方式,即瘦方式,不需要客户端的方式。与之对的另一种连接方式为胖方式:cli,这种方式需要安装客户端。 @localhost:1521:orcl
localhost 数据库的地址,非本地时可按为数据库的IP地址; 1521 orcal数据库默认的监听端口,可换为其他监听端口; orcl orcal数据库默认的一个实例,可按为其他实例名。 加载驱动
Class. forName ( "oracle.jdbc.driver.OracleDriver" ) ;
Class. forName ( "com.mysql.jdbc.Driver" ) ;
DriverManager. getConnection ( url, user, password) ;
url = "jdbc:mysql://127.0.0.1:3306/datebase_name" ;
使用步骤
创建声明
执行静态SQL语句,通过使用Statement实例化实现, Statement stmt = conn. createStatement ( ) ;
执行动态SQL语句,通过使用PreparedStatement实例化实现, PreparedStatement pstmt = conn. prepareStatement ( sql) ;
执行存储过程,一般通过CallableStatement实例实现 CallableStatement cstmt = conn. prepareCall ( "{CALL demoSp(? , ?)}" ) ;
执行SQL
Statement接口提供了三种执行SQL语句的方法:executeQuery 、executeUpdate 和execute
ResultSet executeQuery(String sqlString):执行查询数据库的SQL语句,返回一个结果集(ResultSet)对象。 ResultSet rs = stmt. executeQuery ( "SELECT * FROM ..." ) ;
int executeUpdate(String sqlString):用于执行INSERT、UPDATE或DELETE语句以及SQL DDL语句,如:CREATE TABLE和DROP TABLE等 int rows = stmt. executeUpdate ( "INSERT INTO ..." ) ;
execute(String sql):用于执行返回多个结果集、多个更新计数或二者组合的语句。 boolean flag = stmt. execute ( sqlString) ;
处理结果 关闭资源 先内向外,
错误解决方案
Io 异常: The Network Adapter could not establish the connection
解决方案一
一般此类异常是连接的url配置有误,确认是否有误? 我的配置:jdbc:oracle:thin:@localhost:1521:orcl 检查oracle监听服务是否启动(在windows服务中可查看) 确认监听终端IP及端口是否正确(DOS下查看——关键)
windows+R 输入cmd ,进入dos命令行,选择Oracle安装的磁盘 cd d:(进入D盘)
输入 lsnrctl 回车,在输入 status 回车 然后将localhost改为指定监控的ip即可
String url= "jdbc:oracle:thin:@192.168.140.1:1521:orcl" ;
String user= "scott" ;
String password= "tiger" ;
Class. forName ( "oracle.jdbc.driver.OracleDriver" ) ;
Connection conn = DriverManager. getConnection ( url, user, password) ;
解决方案二
修改Oracle数据库中的监听文件
进入你的Oracle数据库 db_1\network\ADMIN 进入listener.ora文件
LISTENER =
( DESCRIPTION_LIST =
( DESCRIPTION =
( ADDRESS = ( PROTOCOL = IPC) ( KEY = EXTPROC1) )
( ADDRESS = ( PROTOCOL = TCP) ( HOST = 本机计算机名) ( PORT = 1521 ) )
)
)
修改该目录下的 tnsnames.ora 文件
ORCL =
( DESCRIPTION =
( ADDRESS = ( PROTOCOL = TCP) ( HOST = 本机计算机名) ( PORT = 1521 ) )
( CONNECT_DATA =
( SERVER = DEDICATED)
( SERVICE_NAME = orcl)
)
)
重启Oracle服务即可