zoukankan      html  css  js  c++  java
  • JDBC基本使用

     

    J2EE技术规范(二)——JDBC

    分类: java 1060人阅读 评论(8) 收藏 举报

    一、了解JDBC

    (1) JDBC是以统一方式访问数据库的API

    (2) JDBC提供:

        独立于平台的数据库访问

        位置透明

        对专有数据库的问题时透明的

    二、了解JDBC驱动程序

    (1) JDBC Drivers是实现数据库操作的类

    (2) Drivers分成两类:

      2-层——客户直接和数据库会话

      3-层——客户与代表数据库的中间层(WebLogic Server)会话

    其实也就是:两层架构直接与数据库进行处理

    三层架构加载数据库的中间层

    这些跟.net几乎没什么差别。我们继续来看一个图:

    我们看这个图有什么想发?

    第4种:居于Java特色的。不需要安装软件和客户端;跟位置与平台是没有关系的。,

    第1、2、4:都是两层的类型,直接连接到数据库的

    第3种:基于NetworkServer集中式的监控,屏蔽丢不同的平台。在1、2、4的基础上,通过webserver来连接的一种资源。是一种特殊的jdbC的类型

    三、使用JDBC直接访问数据库

    (1) 直接访问数据库由下列组成:

         加载JDBC驱动器类

    我们看一下直接连接数据库的示例:

    (2) 使用基本的JDBC命令

    [java] view plaincopy
     
    1. import java.sql.*;  
    2. try{  
    3.    class.forName("com.pointbase.jdbc.jdbcUniversalDriver");  
    4.    Connection con=DriverManager.getConnect("jdbc:pointbase;//server:port/MyDatabase");  
    5.    Statement stmt=con.createStatement();  
    6.    String sql="select * from mytable";  
    7.    ResultSet res=stmt.executeQuery(sql);  
    8.    while(res.next()){  
    9.         String col1=res.getString("MYCOLUMN1");  
    10.         int col2=res.getInt("MYCOLUMN2");      
    11.    }catch(Exception e){...}  
    12. }  

    四、使用多层(Type3)Drivers

    要使用多层体系结构,必须至少配置一个连接池(Connection Pool和一个数据源(DataSource)

    五、连接池Connection

    连接池:

        消除频繁建立连接所需的负载

        是用于管理数据库连接的管理对象

        提供可共享,安全的连接

    六、数据源Data Sources

    Data Sources是:

        从连接池中提供连接的被管理的工厂对象

        绑定到JNDI并使用管理控制台配置

    七、我们通过数据源Data Sources访问数据库

    (1) 使用DataSource:

        先在JNDI中查找到它

        然后从DataSource获得一个连接

    使用数据源连接数据库的示例:

    [java] view plaincopy
     
    1. import java.sql.*;import javax.sql.*;import javax.naming.*;...  
    2. try{  
    3.   
    4.     context ctx=new InitialContext();  
    5.     DataSource ds=(DataSource)ctx.lookup("TestDataSource");  
    6.     Connection con=ds.getConnection();  
    7.     Statement stmt=con.createStatement();  
    8.     String sql="SELECT * FROM MYTABLE";  
    9.     ResultSet res=stmt.executeQuery(sql);  
    10.     While(res.next()){  
    11.       String col1=res.getString("MYCOLUM1");  
    12.       ...  
    13. }  
    14.     con.close();  
    15. }catch(Exception e){...}  

    八、Statements和Prepared Statements

    (1) Statement对象含有与数据库交互的SQL查询或更新语句

      使用Statement对象查询数据库的示例:

    [java] view plaincopy
     
    1. Statement stmt=con.createStatement();  
    2. String sql="SELECT * FROM MYTABLE";  
    3. ResultSet res=stmt.excuteQuery(sql);  

    使用PreparedStatement对象查询数据库的示例:

    [java] view plaincopy
     
    1. String sql="SELECT * FROM MYTABLE WHERE COL1=? AND COL2=?";  
    2. PreparedStatement pStatement=con.prepareStatement(sql);  
    3. pStatement.setString(1,searchVariableString);  
    4. pStatement.setInt(2,searchVariableInt);  
    5. ResultSet rs=pStatement.executeQuery();  

    这只是初步了解,还需要应用到项目当中去呀。

  • 相关阅读:
    python subprocess.Popen 非阻塞
    linux错误码
    python中logging
    python多线程和多进程对比
    python多进程提高cpu利用率
    django orm 操作
    linux故障判断
    linux中软链接打包、计算以及同步
    小程序收集formid跳转后收集不到
    Git Base 操作(二)
  • 原文地址:https://www.cnblogs.com/isoftware/p/3760280.html
Copyright © 2011-2022 走看看