zoukankan      html  css  js  c++  java
  • JDBC使用步骤


    JDBC编程步骤:

    一、注冊载入JDBC驱动程序;

    注冊载入驱动driver。也就是强制类载入:其注冊载入JDBC驱动有三种方法:
    方法一:Class.forName(DriverName); 当中DriverName=Driver包名。Driver类名;
    Oracle的DriverName=“oracle.jdbc.driver.OracleDriver“。
    SQLServer的DriverName=“com.microsoft.jdbc.sqlserver.SQLServerDriver“。
    方法三:直接创建一个驱动对象:new oracle.jdbc.driver.OracleDriver()。
    MySql的DriverName=“com.mysql.jdbc.Driver“;
    方法二:Class.forName(DriverName).newInstance();
    代码完毕两个功能:第一,把驱动程序载入到内存里;第二。把当前载入的驱动程序自己主动去DriverManager那注冊,DriverManager是JDBC规范中唯一的Java类。


    二、得到连接对象 Connection


    要连接数据库,须要向java.sql.DriverManager请求并获得Connection对象,该对象就代表一个数据库的连接。
    使用DriverManager的getConnectin(Stringurl , String username , String password )方法传入指定的欲连接的数据库的路径、数据库的username与password来获得。
    比如://连接MySql数据库,username和password都是root
    String url ="jdbc:mysql://localhost:3306/test";
    String username = "root";
    String password = "root" ;
    try{
    Connection con =DriverManager.getConnection(url ,username , password ) ;
    }catch(SQLException se){
    System.out.println("数据库连接失败!");
    se.printStackTrace();
    }

    1、DriverManager在JDBC规范中是类而不是接口。它是一个服务类,用于管理JDBC驱动程序,提供getConnection()方法建立应用程序与数据库的连接。当JDBC驱动程序载入到内存时,会自己主动向DriverManager注冊。此行代码发出连接请求,DriverManager类就会用注冊的JDBC驱动程序来创建到数据库的连接。
    2、DriverManager.getConnection()是个静态方法。
    3、DriverManager在java.sql包中。当我们调用sql包里不论什么一个类(包含接口)的不论什么一个方法时都会报一个编译时异常SQLException。这里我们使用一个try块后跟多个catch块解决。
    4、方法參数URL:统一资源定位符。我们连接的数据库在哪台主机上(这个通过ip地址确定),这个主机有可能装了好几种数据库软件,比方SqlServer,mysql,oracle,那么我们连接哪个数据库要通过port号来确定。port号又称服务号监听号,sqlserver为1433,mysql为3306,oracle为1521:。下表列出经常使用数据库软件的url写法:
    Oracle: jdbc:oracle:thin:@ip:1521:dbName;
    MySql:jdbc:mysql://ip:3306:dbName;
    SQLServer:jdbc:sqlserver://ip:1443;databaseName=dbName;
    5、当使用本机ip地址连接时须要关闭防火墙。否则连接不上,使用localhost或127.0.0.1则不用关闭防火墙。


    三、创建 Statement对象


    1、运行静态SQL语句。通常通过Statement实例实现。
    2、运行动态SQL语句。通常通过PreparedStatement实例实现。
    3、运行数据库存储过程。通常通过CallableStatement实例实现。

    详细的实现方式:
    Statement stmt = con.createStatement();
    PreparedStatement pstmt=con.prepareStatement(sql);
    CallableStatement cstmt =con.prepareCall("{CALLdemoSp(? , ?
    )}") ;


    四、运行sql语句


    Statement接口提供了三种运行SQL语句的方法:executeQuery、executeUpdate 和execute
    1、ResultSet executeQuery(String sqlString):运行查询数据库的SQL语句。返回一个结果集(ResultSet)对象。
    2、int executeUpdate(String sqlString):用于运行INSERT、UPDATE或DELETE语句以及SQL DDL语句,如:CREATETABLE和DROP TABLE等
    3、execute(sqlString):用于运行返回多个结果集、多个更新计数或二者组合的 语句。详细实现的代码:
    ResultSet rs = stmt.executeQuery("SELECT * FROM ...") ; int rows = stmt.executeUpdate("INSERTINTO ...") ; boolean flag =stmt.execute(String sql) ;


    五、处理结果 两种情况:


    1、运行更新返回的是本次操作影响到的记录数。

    2、运行查询返回的结果是一个ResultSet对象。
    ResultSet包括符合SQL语句中条件的全部行。而且它通过一套get方法提供了对这些行中数据的訪问。

    使用结果集(ResultSet)对象的訪问方法获取数据:
    while(rs.next()){
    String name = rs.getString("name") ;
    String pass = rs.getString(1) ; // 此方法比較高效
    }
    (列是从左到右编号的,而且从列1開始)


    六、关闭资源释放资源


    操作完毕以后要把全部使用的JDBC对象全都关闭,以释放JDBC资源。关闭顺序和声明顺序相反:
    1、关闭记录集
    2、关闭声明
    3、关闭连接对象
    if(rs != null){ // 关闭记录集
    try{
    rs.close() ;
    }catch(SQLException e){
    e.printStackTrace() ;
    }
    }
    if(stmt != null){ // 关闭声明
    try{
    stmt.close() ;
    }catch(SQLException e){
    e.printStackTrace() ;
    }
    }
    if(conn != null){ // 关闭连接对象
    try{
    conn.close() ;
    }catch(SQLException e){
    e.printStackTrace() ;
    }
    }

  • 相关阅读:
    Rotation Kinematics
    离职 mark
    PnP 问题方程怎么列?
    DSO windowed optimization 代码 (4)
    Adjoint of SE(3)
    IMU 预积分推导
    DSO windowed optimization 代码 (3)
    DSO windowed optimization 代码 (2)
    OKVIS 代码框架
    DSO windowed optimization 代码 (1)
  • 原文地址:https://www.cnblogs.com/xiufengchen/p/10349832.html
Copyright © 2011-2022 走看看