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();  

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

  • 相关阅读:
    Power BI 根据用户权限动态生成导航跳转目标
    Power BI Tooltips 增强功能
    Power BI refresh error “could not load file or assembly…provided impersonation level is invalid”
    SQL 错误代码 18456
    如何使用SQL Server Integration Services从多个Excel文件读取数据
    通过表格编辑器将现有表引入Power BI数据流
    Power BI 中动态增长的柱状图
    ambari2.7.3离线安装hdp3.1.0时,ambari-hdp-1.repo中baseurl无值
    ambari 安装 cannot download file mysql-connector-java from http://8080/resource/mysql-connector-java.jar
    洛谷P4180 [BJWC2010]严格次小生成树
  • 原文地址:https://www.cnblogs.com/isoftware/p/3760280.html
Copyright © 2011-2022 走看看