jdbc:oracle:thin:@localhost:1521:orcl 详解

(相关资料整合)

一、整体来说,这是一个连接oracle数据库的一个连接字符串,指明连接数据库的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数据库默认的一个实例,可按为其他实例名。

四、扩展一下

java连接其他数据库的连接字符串

-----MySQL-----

driverString = com.mysql.jdbc.Driver

dataBaseUrl = jdbc:mysql://127.0.0.1:3306/scutcs

-----ms sql 2000-----

driverString = com.microsoft.jdbc.sqlserver.SQLServerDriver

dataBaseUrl = jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=Demo

-----ms sql 2005-----

driverString = com.microsoft.sqlserver.jdbc.SQLServerDriver

dataBaseUrl = jdbc:sqlserver://localhost:1433;DatabaseName=Demo

-----ms sql 第三方统一方式-----

driverString= net.sourceforge.jtds.jdbc.Driver
dataBaseUrl = jdbc:jtds:sqlserver://localhost:1433;DatabaseName=Demo

这种方式需要第三方包:jtds-1.2.jar;

-----DB2-----

driverString = com.ibm.db2.jcc.DB2Driver
dataBaseUrl = jdbc:db2://localhost:50000/toolsdb

 

五、连接数据库的七个步骤

1、加载驱动

Class.forName(driverString);

2、建立连接

Connection conn = DriverManager.getConnection(dataBaseUrl , username , password );

3、创建声明

  a.执行静态SQL语句,一般通过Statement实例实现,eg: Statement stmt = conn.createStatement() ;

  b.执行动态SQL语句,一般通过PreparedStatement实例实现,eg: PreparedStatement pstmt = conn.prepareStatement(sql);

  c.执行存储过程,一般通过CallableStatement实例实现,eg: CallableStatement cstmt = conn.prepareCall("{CALL demoSp(? , ?)}") ; 

4、执行SQL

  Statement接口提供了三种执行SQL语句的方法:executeQuery 、executeUpdate  和execute  

  a. ResultSet executeQuery(String sqlString):执行查询数据库的SQL语句,返回一个结果集(ResultSet)对象。

   具体语句为:ResultSet rs = stmt.executeQuery("SELECT * FROM ...");

  b. int executeUpdate(String sqlString):用于执行INSERT、UPDATE或DELETE语句以及SQL DDL语句,如:CREATE TABLE和DROP TABLE等

   具体语句为:int rows = stmt.executeUpdate("INSERT INTO ...") ;

  c. execute(String sql):用于执行返回多个结果集、多个更新计数或二者组合的语句。

   具体实现的代码:boolean flag = stmt.execute(sqlString)

5、处理结果

  结果一:执行查询返回的是ResultSet对象(记录集)

  结果二:执行更新返回的是本次操作影响的记录数。

  访问结果的方法:

  while(rs.next()){

    String name = rs.getString("name") ;

    String pwds = rs.getString(1) ; //本方法高效

  }   

6、关闭资源

  反序关闭,先内后外。记录集-声明-连接

  if(rs != null){

  try{

    rs.close();

  }catch(SQLException e) {

    e.printStackTrace() ; e.printStackTrace();

  }  

  } ...

 

转载于:https://www.cnblogs.com/yard39/p/4627376.html

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值