精华内容
下载资源
问答
  • web访问数据库缓存技术 memcached

    千次阅读 2011-05-06 17:13:00
    每秒动态页面访问量几千次,用户700万.Memcached将数据库负载大幅度降低,更好分配资源,更快速访问。它是怎么使用呢?安装部署很简单。1、下载服务器端http://www.danga.com/memcached/download.bml按照Linux...

    每秒动态页面访问量几千次,用户700万. Memcached将数据库负载大幅度降低,更好的分配资源,更快速访问。

    它是怎么使用的呢?安装部署很简单。

    1、下载服务器端 http://www.danga.com/memcached/download.bml

    按照Linux的三个步骤,configrue make make install安装,默认安装在/usr/local/bin下。

     

    2、启动服务器端

    # ./memcached -d -m 2048 -p 11211

    -d 表示后台启动

    -m 表示占用多少M内存,这里占用2G

    -p 表示启用端口号

    3、客户端连接

    许多语言都实现了连接memcached的客户端,其中以Perl、PHP为主。 仅仅memcached网站上列出的语言就有

    • Perl
    • PHP
    • Python
    • Ruby
    • C#
    • C/C++
    • Lua
    • java

    到指定的网站去下载相应的api  http://www.danga.com/memcached/apis.bml

    4、这里下载的是java版本的。

    然后写实现、封装

    代码如下:

    这样一个memcached就部署好了。

     

    展开全文
  • 随着计算机技术的发展,Web数据访问技术在各大型监控系统中得到了应用。...提出了基于Web浏监器监控数据库访问技术,详细描述了访问程序开发和应用,该研究对煤矿企业信息平台实现监控系统网络化成为了可能。
  • ASP技术访问WEB数据库

    2019-08-07 17:52:32
     目前在WINDOWS环境下有多种访问WEB数据库的技术,主要有:  1.公共网关接口CGI(Common Gateway Interface)  CGI是较早实现的技术。适用于多种服务器平台,如UNIX、WINDOWS等,但CGI的开发成本高、维护困难、...

    ASP技术访问WEB数据库

    一. 访问WEB数据库的多种方案
      目前在WINDOWS环境下有多种访问WEB数据库的技术,主要有:
      1.公共网关接口CGI(Common Gateway Interface)
      CGI是较早实现的技术。适用于多种服务器平台,如UNIX、WINDOWS等,但CGI的开发成本高、维护困难、功能有限、不具备事务处理功能、占用服务器资源较多。
      2. INTERNET数据库连接器IDC(Internet Database Connector)
      IDC集成在ISAPI(Internet Server API)中,充分利用了DLL技术,易扩充,但编程较CGI更为复杂,只适用于小型数据库系统。
      3. 先进数据库连接器ADC(Advance Database Connector)
      ADC提供了ActiveX Control来访问数据库,它的主要特点是数据查询由用户端浏览器执行,因而需将服务器端数据库中的部分记录下载到用户端,系统开销较大、响应慢,只适用于特别频繁的数据库查询操作。
      4. JAVA/JDBC语言编程
      JAVA语言是一种面向对象、易移植、多线程控制的语言,可通过JDBC去连接数据库。用JAVA/JDBC编写的软件可移植性强,适用于多种操作系统,但其执行效率和执行速度还不理想,目前无法建立高效、高速的应用。
      5. 动态服务器页面ASP(Active Server Page)
      ASP是微软公司最新推出的WEB应用开发技术,着重于处理动态网页和WEB数据库的开发,编程灵活、简洁,具有较高的性能,是目前访问WEB数据库的最佳选择。
      二. ASP简介
      1.ASP访问数据库的原理
      ASP是服务器端的脚本执行环境,可用来产生和执行动态的高性能的WEB服务器程序。
      当用户使用浏览器请求ASP主页时,WEB服务器响应,调用ASP引擎来执行ASP文件,并解释其中的脚本语言(JScript 或VBScript),通过ODBC连接数据库,由数据库访问组件ADO(ActiveX Data Objects)完成数据库操作,最后ASP生成包含有数据查询结果的HTML主页返回用户端显示。
      由于ASP在服务器端运行,运行结果以HTML主页形式返回用户浏览器,因而ASP源程序不会泄密,增加了系统的安全保密性。此外,ASP是面向对象的脚本环境,用户可自行增加ActiveX组件来扩充其功能,拓展应用范围。
      2.ASP页面的结构:
      ASP的程序代码简单、通用,文件名由.asp结尾,ASP文件通常由四部分构成:
      1) 标准的HTML标记:所有的HTML标记均可使用。
      2) ASP语法命令:位于<% %> 标签内的ASP代码。
      3) 服务器端的include语句:可用#include语句调入其它ASP代码,增强了编程的灵活性。
      4) 脚本语言:ASP自带JScript和VBScript两种脚本语言,增加了ASP的编程功能,用户也可安装其它脚本语言,如Perl、Rexx等。
      3.ASP的运行环境
      目前ASP可运行在三种环境下。
      1) WINDOWS NT server 4.0运行IIS 3.0(Internet Information Server)以上。
      2) WINDOWS NT workstation 4.0运行Peer Web Server 3.0以上。
      3) WINDOWS 95/98运行PWS(Personal Web Server)。
      其中以NT server上的IIS功能最强,提供了对ASP的全面支持,是创建高速、稳定的ASP主页的最佳选择。
      4.ASP的内建对象
      ASP提供了六个内建对象,供用户直接调用:
      1) Application对象:负责管理所有会话信息,可用来在指定的应用程序的所有用户之间共享信息。
      2) Session对象:存贮特定用户的会话信息,只被该用户访问,当用户在不同WEB页面跳转时,Session中的变量在用户整个会话过程中一直保存。Session对象需cookie支持。
      3) Request对象:从用户端取得信息传递给服务器,是ASP读取用户输入的主要方法。
      4) Response对象:服务器将输出内容发送到用户端。
      5) Server对象:提供对服务器有关方法和属性的访问。
      6) Object Context对象:IIS 4.0新增的对象,用来进行事务处理。此项功能需得到MTS(Microsoft Transcation Server)管理的支持。
      5. ASP的主要内置组件:
      1) Ad Rotator组件:用来按指定计划在同一页上自动轮换显示广告,用于WWW上日益重要的广告服务。
      2) Browser Capabilities组件:确定访问WEB站点的用户浏览器的功能数据,包括类型、性能、版本等。
      3) Database Access组件:提供ADO (ActiveX Data Objects)来访问支持ODBC的数据库。
      4) File Access组件:提供对服务器端文件的读写功能。
      5) Content Linking组件:生成WEB页内容列表,并将各页顺序连接,用于制作导航条。
      此外,还可安装Myinfo、Counters、Content Rotator、Page Count等组件,用户也可自行编制Actiive组件,以提高系统的实用性。
      6. Database Access组件ADO
      WWW上很重要的应用是访问WEB数据库,用ASP访问WEB数据库时,必须使用ADO组件,ADO是ASP内置的ActiveX服务器组件(ActiveX Server Component),通过在WEB服务器上设置ODBC和OLEDB可连接多种数据库:如SYBASE、ORACLE、INFORMIX、SQL SERVER、ACCESS、VFP等,是对目前微软所支持的数据库进行操作的最有效和最简单直接的方法。
      ADO组件主要提供了以下七个对象和四个集合来访问数据库。
      1) Connection对象:建立与后台数据库的连接。
      2) Command对象:执行SQL指令,访问数据库。
      3) Parameters对象和Parameters集合:为Command对象提供数据和参数。
      4) RecordSet对象:存放访问数据库后的数据信息,是最经常使用的对象。
      5) Field对象和Field集合:提供对RecordSet中当前记录的各个字段进行访问的功能。
      6) Property对象和Properties集合:提供有关信息,供Connection、Command、RecordSet、Field对象使用。
      7) Error对象和Errors集合:提供访问数据库时的错误信息。
      三. ASP访问数据库步骤
      在ASP中,使用ADO组件访问后台数据库,可通过以下步骤进行:
      1. 定义数据源
      在WEB服务器上打开“控制面板”,选中“ODBC”,在“系统DSN”下选“添加”,选定你希望的数据库种类、名称、位置等。本文定义“SQL SERVER”,数据源为“HT”,数据库名称为“HTDATA”,脚本语言采用Jscript。
      2,使用ADO组件查询WEB数据库
      1) 调用Server.CreateObject方法取得“ADODB.Connection”的实例,再使用Open方法打开数据库:
      conn = Server.CreateObject(“ADODB.Connection”)
      conn.Open(“HT”)
      2) 指定要执行的SQL命令
      连接数据库后,可对数据库操作,如查询,修改,删除等,这些都是通过SQL指令来完成的,如要在数据表signaltab中查询代码中含有“X”的记录
      sqlStr = “select * from signaltab where code like ‘%X%’”
      rs = conn.Execute(sqlStr)
      3) 使用RecordSet属性和方法,并显示结果
      为了更精确地跟踪数据,要用RecordSet组件创建包含数据的游标,游标就是储存在内存中的数据。
      rs = Server.CreateObject(“ADODB.RecordSet”)
      rs.Open(sqlStr,conn,1,A)
      注:A=1读取
      A=3 新增、修改、删除
      在RecordSet组件中,常用的属性和方法有:
      rs.Fields.Count: RecordSet对象的字段数。
      rs(i).Name: 第i个字段的名称,i为0至rs.Fields.Count-1
      rs(i): 第i个字段的数据,i为0至rs.Fields.Count-1
      rs("字段名"): 指定字段的数据。
      rs.Record.Count:游标中的数据记录总数。
      rs.EOF: 是否最后一条记录。
      rs.MoveFirst: 指向第一条记录。
      rs.MoveLast: 指向最后一条记录。
      rs.MovePrev: 指向上一条记录。
      rs.MoveNext: 指向下一条记录。
      rs.GetRows: 将数据放入数组中。
      rs.Properties.Count:ADO的ResultSet或Connection的属性个数。
      rs.Properties(item).Name:ADO的ResultSet或Connection的名称。
      rs.Properties: ADO的ResultSet或Connection的值。
      rs.close(): 关闭连接。
      4) 关闭数据库
      conn.close()
      四.查询WEB数据库举例
      下面这段示例程序是访问SQL SERVER数据库的 signaltab表,表中有三个字段:code(代码字段,字符型,3位),class(分类字段,字符型,10位),memo(备注字段,字符型,20位)。程序中数据源DSN:HT、用户名:client、口令:passwd。
      屏幕输入页面input.asp
      <% @ language=javascript %>
      <html>
      <head>
      <title>请输入查询条件PLEASE INPUT CONDITION</title>
      </head>
      <form action=shotquery.asp METHOD="post" target="_self">
      <input TYPE="text" size=6 maxlength=3 NAME=signalCode VALUE="代码"> </fo
    nt></p>
      </center></div><p></p>
      <input LANGUAGE="JavaScript" TYPE="submit" VALUE=“确认” NAME="B1"
      
      <input TYPE="reset" VALUE=“清除”NAME="B2">
      
      <input LANGUAGE="JavaScript" TYPE="button" NAME="B3" VALUE=“返回”
      ONCLICK="window.history.back()">
      </font></p>
      </center></div>
      </form>
      </body>
      </html>
      数据库处理程序shotquery.asp
      <!--#include virtual="/master/lib.inc"-->
      <script language=javascript runat=server>
      var signalCode=Request.Form("signalCode");
      dbConn = Server.CreateObject("ADODB.Connection");
      dbConn.open("DSN=HT;UID=client;PWD=passwd");
      rs = Server.CreateObject("ADODB.RecordSet");
      var sqlStr = "select * from signaltab order by code";
      rs.open(sqlStr,dbConn,1);
      if(rs.RecordCount < 1) {
      Response.write("<p> 无符合条件记录</p>");
      Response.write("<p><form> <input type='button' value=' 返回' oncli
    ck='window.history.back()' name='b1'></form></p>");
      }
      else {
      Response.write("<P><center><B>数据查询结果</B></center></P>");
      Response.write("<tr><td><b>代码</b></td><td><b>分类</b></td><td><b>备注<
    /b></td>");
      for(var i = 1;i <= rs.Pagesize;i++) {
      if(!rs.Eof) {
      Response.write("<td><span style='font-size:9t'>"+rs("code")+"</span></td
    >");
      Response.write("<td><span style='font-size:9t'>"+rs("class")+"</span></t
    d>");
      Response.write("<td><span style='font-size:9t'>"+rs("memo")+"</span></td
    >");
      Response.write("</tr>");
      rs.MoveNext();
      }
      else break;
      }
      Response.write("</table></form>");
      rs.close();
      dbConn.close();
      }
      </script>

    转载于:https://www.cnblogs.com/F4ncy/archive/2005/02/12/103958.html

    展开全文
  • 在JavaWeb应用程序中数据库访问是通过Java数据库连接(JavaDateBase Connectivity简称JDBC)数据库的链接一般使用两种方法,一种是通过JDBC驱动程序直接连接,一种是通过连接池。 (1)JDBC的体系结构 1.数据库驱动...

    JavaWeb------ 第四章 JDBC数据库访问技术

    在JavaWeb应用程序中数据库访问是通过Java数据库连接(JavaDateBase Connectivity简称JDBC)数据库的链接一般使用两种方法,一种是通过JDBC驱动程序直接连接,一种是通过连接池。

    (1)JDBC的体系结构

    1.数据库驱动程序
        实现了应用程序和某个数据库产品之间的接口,用于向数据库提交SQL请求。
    2.驱动程序管理器(DriverManager)
        为应用程序装载数据库驱动程序
    3.JDBC API
    提供了一系列抽象的接口,主要是用来连接数据库和直接调用SQL命令执行SQL语句。

    (2)驱动程序接口Driver

    每种数据库都提供了数据库驱动程序,并且提供了一个实现java.sql.Driver接口的类,简称Driver类。
    在应用程序开发中,需要通过java langClass类的静态方法forName(String className)加载该Driver。在加载时,创建自己的实例并向java.sql.DriverManager类注册该实例。

    (3)驱动程序管理器DriverManager

    java.sql.DriverManager类负责管理JDBC驱动程序的基本服务,是JDBC的管理层,作用于用户和驱动程序之间,负责跟踪可用的驱动程序,并在在数据库和驱动程序之间建立连接。

    DriverManager提供的常用方法是:

    Connection getConnection(Sting url,String user,String password)
    //该方法为静态方法,用来获得连接,有三个入口参数,依次为连接数据库的URL、用户名和密码

    (4)数据库连接接口Connection

    java.sql.Connetion接口负责与特定数据库的连接,在连接的上下文中可以执行SQL语句并返回结果。

    Connection接口的常用方法

    方法名称 功能描述
    createStatement() 创建并返回一个Statement实例,通常在无参的SQL语句时创建该实例
    prepareStatement() 通常在执行包含参数的SQL语句时创建该实例,并对sql进行预编译处理
    close() 立即释放Connection实例占用的数据库和JDBC资源,即关闭数据库连接

    (5)执行SQL语句接口Statement

    javasqlStatement接口用来执行静态的SQL语句,并返回执行结果。

    Statement接口的常用方法
    | 方法说明 | 功能描述 |
    | :-------- | --------:| :------: |
    |executeQuery(String sql) |执行指定的静态SELECT语句并返回一个不能为null的额ReaultSet实例 |
    |executeUpdate() |执行指定的Update、delete、insert,并返回一个int整型值为同步更新记录 |
    |close() | 立即释放Stateement势力战勇的数据库和JDBC资源,即关闭Statement实例 |

    (6)执行动态SQL语句接口PreparedStatement

    java sqlPreparedStatement接口继承于Statement接口,是Stateement接口的扩展,用来执行动态的SQL语句就是包含参数的SQL语句。通过PreparedStatement实例执行的动态SQL语句,将被编译保存到PraparedStatement实例中。从而可以反复高效的执行该sql语句。
    ParadeStatement接口的常用方法
    | 方法名称 | 功能描述 |
    | :-------- | --------:| :------: |
    |executeQuery() |执行前面包含参数的动态select语句,并返回一个永远不能为null的ResultSet实例 |
    |executeUpadate() |执行前面包含参数的动态insert、update或delete语句,并返回一个int值,为同步更新记录|
    |setXxx() |为指定参数设置Xxx型值|
    |close() |立即释放Statement实例占用的数据库和JDBC资源即关闭Statement实例|

    (7)访问结果集接口ResultSet

    该接口类似于一个数据表,通过该接口的实例可以获得检索结果集,以及对应的数据表相关信息。ResultSet实例是通过执行查询数据库的语句生成。
    ResultSet实例具有指向当前数据行的指针。最初,指针指向第一行记录的前方,通过next()方法可以将指针移动到下一行。

    方法名称 功能描述
    first() 移动指针到第一行;如果结果集为空则返回false如果结果集合返回TYPE_FORWARD_ONLY将抛出异常
    last() 移动指针到最后一行。。。。。
    pervious() 移动指针打到上一行
    next() 移动指针到下一行
    getRow() 查看当前行的索引编号;索引编号从1开始,第一次使用该方法将移动到第一行
    findColumn() 查看指定列明的索引编号
    close() 释放ResultSet实例占用的数据库和JDBC资源

    (8)JDBC访问数据库

    使用JDBC访问数据首先需要加载数据库的驱动程序,然后利用连接符号串实现连接,创建连接对象,在创建执行SQL的执行语句并实现数据库的操作。JDBC访问数据库的流程:
    1.注册驱动
    2.建立连接
    3.创建数据库操作对象
    4.执行语句
    5.处理执行结果
    6.释放资源

    (9)注册驱动MySQL的驱动程序

    步骤:1.先添加下载数据库链接驱动-----复制到WEB-INF\lib目录下,连接成功;
    2.加载注册注定的数据库驱动程序
    加载格式:【对于MySQL数据库】 Class.forName("driverName"); //driverName=com.mysql.jdbc.Driver
    【对于Oracle数据库】 Class.forName("driverName"); //driverName=oracle.jdbc.OracleDriver

    (10)JDBC连接数据库创建连接对象

    创建数据库连接对象需要首先形成“连接符号字(URL)”,然后利用连接符号字实现连接并创建连接对象。
    1.数据库连接的URL
    首先要创建指定数据库的URL,一个数据库连接字包括:数据库服务器的ip 地址及其访问服务器的端口号、数据库名称、访问数据库的用户名称及其访问密码。有时需要制定编码格式。
    创建格式:

    String url1="jdbc:mysql:http:localhost:3306/"
    String url2="?user=root&password=密码";
    String url3="&userUnicode=true&characterEncoding=UTF-8";
    String url=url1+url2+url3;
    

    2.利用连接符号实现连接获取连接对象
    ·~ ~DriverManager类提供了getConnection方法,用来建立与数据库的连接。调用getConnection()方法可返回一个数据库连接对象。
    ~~ getConnection方法有以下三种重载方式:

    1.通过url指定的数据库建立连接
        基本格式:
            static Connection getConnection(String url)
    
    2.通过url指定的数据库建立连接,info指定一些属性,这些属性里包括了user和password属性
        基本格式:
            static Connection getConnection(String url,Propertyinfo);
    
    3.传入参数用户名为user,密码为passwrd,通过url指定的数据库建连接
        基本格式:
            static Connection getConnection(String url,String user,String password)

    ~~采用带数据库的编码格式:

    String url1="jdbc:mysql:http://localhost:3306/"+dbName;
    String url2="?user="+userName+"password"+userPassword;
    String url3="&userUnicode=true&characterEncoding=UTF-8";
    String url=url1+url2+url3;
    Connection conn=DriverManager。getConnection(url );

    3.利用JDBC连接MySQL数据库,获取连接对象的通用格式
    ~~完整的连接格式:

    String driverName="com.mysql.jdbc.Driver";//加载驱动程序名
    String userName="root";     //数据库用户名
    String userPwd="123456";   //密码
    String dbName="students";  //数据库名字
    String url1="jdbc:mysql://localhost:3306/"+dbName;
    String url2="?user="+userName+"&password="+userPwd;
    String url3="&userUnicode=true&characterEncoding=UTF-8";
    String url=url1+url2+url3;//形成带数据库读写编码的数据库连接字
    Class.forName(driverName);//加载并注册驱动程序
    Connection conn=DriverManager.getConnection(url);//获取数据库连接对象

    4.创建数据库的操作对象
    在JavaWeb应用程序中,需要由数据库连接对象创建数据库的操作对象,然后执行SQL语句。
    数据库的操作对象是指能执行SQL语句的对象,需要用Connection类中创建数据库的操作对象的方法实现创建。可创建两种不同的数据库操作对象:Statement对象、PrepareStatement对象,两种对象的创建和执行SQL语句是不同的。

    1.创建Statement对象
    利用Connection类的方法createStatement()可以创建一个Statement类实例,用来执行SQL操作
        例如:通过数据库连接,得到连接对象conn,那么可以创建一个Statement对象的实例stmt:
            Statement stmt=conn。createStatement();//它是无参方法
    2.创建PrepareStatement对象,他是SQL预处理类接口
    利用Connection类的方法prepareStatement(String sql)可以创建一个PreparedStatement类的实例。
        ~~ PreparedStatement对象使用PreparedStatement()方法创建,并且在创建时直接指定SQL语句
            例如:String sql=".....";    //SQL语句形成的字符串
                 PreparementStatement pstmt=conn.preparedStatement("sql"); //conn为连接对象
        ~~使用带参数的SQL语句(“?”表示参数值),创建PrepardStatement对象。
            假设已得到连接对象conn,需要创建一个查询年龄和性别的一个操作对象。
            例如:String ss="select *from stu_info where age>=? and sex=?";
                  PreparedStatement pstmt=conn.preparedStatement(ss);
                  设置参数的格式:PreparedStatement 对象.setXXX(position,value);
                  //position 代表参数的位置号,第一个出现的其位置为1,依次增加
                  //value 代表要传给参数的值
                  //setXXX()中的Xxx代表不同的数据类型,常见的set方法有:
                      void setInt(int parameterIndex,int x);
                      void setFloat(int parameterIndex,float x);
                      void setString(int parameterIndex,String x);
                      void setDate(int parameterIndex,Date x);
                      pstmt.set(1,20); pstmt.set(2,"男");

    JavaWeb—— 第四章 JDBC数据库访问技术

    在JavaWeb应用程序中数据库访问是通过Java数据库连接(JavaDateBase Connectivity简称JDBC)数据库的链接一般使用两种方法,一种是通过JDBC驱动程序直接连接,一种是通过连接池。

    (1)JDBC的体系结构

    1.数据库驱动程序
    实现了应用程序和某个数据库产品之间的接口,用于向数据库提交SQL请求。
    2.驱动程序管理器(DriverManager)
    为应用程序装载数据库驱动程序
    3.JDBC API
    提供了一系列抽象的接口,主要是用来连接数据库和直接调用SQL命令执行SQL语句。
    (2)驱动程序接口Driver

    每种数据库都提供了数据库驱动程序,并且提供了一个实现java.sql.Driver接口的类,简称Driver类。
    在应用程序开发中,需要通过java langClass类的静态方法forName(String className)加载该Driver。在加载时,创建自己的实例并向java.sql.DriverManager类注册该实例。

    (3)驱动程序管理器DriverManager

    java.sql.DriverManager类负责管理JDBC驱动程序的基本服务,是JDBC的管理层,作用于用户和驱动程序之间,负责跟踪可用的驱动程序,并在在数据库和驱动程序之间建立连接。
    DriverManager提供的常用方法是:

    Connection getConnection(Sting url,String user,String password)
    //该方法为静态方法,用来获得连接,有三个入口参数,依次为连接数据库的URL、用户名和密码
    (4)数据库连接接口Connection

    java.sql.Connetion接口负责与特定数据库的连接,在连接的上下文中可以执行SQL语句并返回结果。

    Connection接口的常用方法

    方法名称 功能描述
    createStatement() 创建并返回一个Statement实例,通常在无参的SQL语句时创建该实例
    prepareStatement() 通常在执行包含参数的SQL语句时创建该实例,并对sql进行预编译处理
    close() 立即释放Connection实例占用的数据库和JDBC资源,即关闭数据库连接
    (5)执行SQL语句接口Statement

    javasqlStatement接口用来执行静态的SQL语句,并返回执行结果。

    Statement接口的常用方法

    方法说明 功能描述
    executeQuery(String sql) 执行指定的静态SELECT语句并返回一个不能为null的额ReaultSet实例
    executeUpdate() 执行指定的Update、delete、insert,并返回一个int整型值为同步更新记录
    close() 立即释放Stateement势力战勇的数据库和JDBC资源,即关闭Statement实例
    (6)执行动态SQL语句接口PreparedStatement

    java sqlPreparedStatement接口继承于Statement接口,是Stateement接口的扩展,用来执行动态的SQL语句就是包含参数的SQL语句。通过PreparedStatement实例执行的动态SQL语句,将被编译保存到PraparedStatement实例中。从而可以反复高效的执行该sql语句。
    ParadeStatement接口的常用方法

    方法名称 功能描述
    executeQuery() 执行前面包含参数的动态select语句,并返回一个永远不能为null的ResultSet实例
    executeUpadate() 执行前面包含参数的动态insert、update或delete语句,并返回一个int值,为同步更新记录
    setXxx() 为指定参数设置Xxx型值
    close() 立即释放Statement实例占用的数据库和JDBC资源即关闭Statement实例
    (7)访问结果集接口ResultSet

    该接口类似于一个数据表,通过该接口的实例可以获得检索结果集,以及对应的数据表相关信息。ResultSet实例是通过执行查询数据库的语句生成。
    ResultSet实例具有指向当前数据行的指针。最初,指针指向第一行记录的前方,通过next()方法可以将指针移动到下一行。

    方法名称 功能描述
    first() 移动指针到第一行;如果结果集为空则返回false如果结果集合返回TYPE_FORWARD_ONLY将抛出异常
    last() 移动指针到最后一行。。。。。
    pervious() 移动指针打到上一行
    next() 移动指针到下一行
    getRow() 查看当前行的索引编号;索引编号从1开始,第一次使用该方法将移动到第一行
    findColumn() 查看指定列明的索引编号
    close() 释放ResultSet实例占用的数据库和JDBC资源
    (8)JDBC访问数据库

    使用JDBC访问数据首先需要加载数据库的驱动程序,然后利用连接符号串实现连接,创建连接对象,在创建执行SQL的执行语句并实现数据库的操作。JDBC访问数据库的流程:
    1.注册驱动
    2.建立连接
    3.创建数据库操作对象
    4.执行语句
    5.处理执行结果
    6.释放资源
    (9)注册驱动MySQL的驱动程序

    步骤:1.先添加下载数据库链接驱动—–复制到WEB-INF\lib目录下,连接成功;
    2.加载注册注定的数据库驱动程序
    加载格式:【对于MySQL数据库】 Class.forName(“driverName”); //driverName=com.mysql.jdbc.Driver
    【对于Oracle数据库】 Class.forName(“driverName”); //driverName=oracle.jdbc.OracleDriver

    (10)JDBC连接数据库创建连接对象

    创建数据库连接对象需要首先形成“连接符号字(URL)”,然后利用连接符号字实现连接并创建连接对象。
    1.数据库连接的URL
    首先要创建指定数据库的URL,一个数据库连接字包括:数据库服务器的ip 地址及其访问服务器的端口号、数据库名称、访问数据库的用户名称及其访问密码。有时需要制定编码格式。
    创建格式:

    String url1="jdbc:mysql:http:localhost:3306/"
    String url2="?user=root&password=密码";
    String url3="&userUnicode=true&characterEncoding=UTF-8";
    String url=url1+url2+url3;

    2.利用连接符号实现连接获取连接对象
    ·~ ~DriverManager类提供了getConnection方法,用来建立与数据库的连接。调用getConnection()方法可返回一个数据库连接对象。
    ~~ getConnection方法有以下三种重载方式:

    1.通过url指定的数据库建立连接
    基本格式:
    static Connection getConnection(String url)

    2.通过url指定的数据库建立连接,info指定一些属性,这些属性里包括了user和password属性
    基本格式:
    static Connection getConnection(String url,Propertyinfo);

    3.传入参数用户名为user,密码为passwrd,通过url指定的数据库建连接
    基本格式:
    static Connection getConnection(String url,String user,String password)
    ~~采用带数据库的编码格式:

    String url1="jdbc:mysql:http://localhost:3306/"+dbName;
    String url2="?user="+userName+"password"+userPassword;
    String url3="&userUnicode=true&characterEncoding=UTF-8";
    String url=url1+url2+url3;
    Connection conn=DriverManager。getConnection(url );
    3.利用JDBC连接MySQL数据库,获取连接对象的通用格式
    ~~完整的连接格式:

    String driverName="com.mysql.jdbc.Driver";//加载驱动程序名
    String userName="root"; //数据库用户名
    String userPwd="123456"; //密码
    String dbName="students"; //数据库名字
    String url1="jdbc:mysql://localhost:3306/"+dbName;
    String url2="?user="+userName+"&password="+userPwd;
    String url3="&userUnicode=true&characterEncoding=UTF-8";
    String url=url1+url2+url3;//形成带数据库读写编码的数据库连接字
    Class.forName(driverName);//加载并注册驱动程序
    Connection conn=DriverManager.getConnection(url);//获取数据库连接对象
    4.创建数据库的操作对象
    在JavaWeb应用程序中,需要由数据库连接对象创建数据库的操作对象,然后执行SQL语句。
    数据库的操作对象是指能执行SQL语句的对象,需要用Connection类中创建数据库的操作对象的方法实现创建。可创建两种不同的数据库操作对象:Statement对象、PrepareStatement对象,两种对象的创建和执行SQL语句是不同的。

    1.创建Statement对象
    利用Connection类的方法createStatement()可以创建一个Statement类实例,用来执行SQL操作
    例如:通过数据库连接,得到连接对象conn,那么可以创建一个Statement对象的实例stmt:
    Statement stmt=conn。createStatement();//它是无参方法
    2.创建PrepareStatement对象,他是SQL预处理类接口
    利用Connection类的方法prepareStatement(String sql)可以创建一个PreparedStatement类的实例。
    ~~ PreparedStatement对象使用PreparedStatement()方法创建,并且在创建时直接指定SQL语句
    例如:String sql="....."; //SQL语句形成的字符串
    PreparementStatement pstmt=conn.preparedStatement("sql"); //conn为连接对象
    ~~使用带参数的SQL语句(“?”表示参数值),创建PrepardStatement对象。
    假设已得到连接对象conn,需要创建一个查询年龄和性别的一个操作对象。
    例如:String ss="select *from stu_info where age>=? and sex=?";
    PreparedStatement pstmt=conn.preparedStatement(ss);
    设置参数的格式:PreparedStatement 对象.setXXX(position,value);
    //position 代表参数的位置号,第一个出现的其位置为1,依次增加
    //value 代表要传给参数的值
    //setXXX()中的Xxx代表不同的数据类型,常见的set方法有:
    void setInt(int parameterIndex,int x);
    void setFloat(int parameterIndex,float x);
    void setString(int parameterIndex,String x);
    void setDate(int parameterIndex,Date x);
    pstmt.set(1,20); pstmt.set(2,"男");
    5104
    绑定 Evernote International 账号
    绑定印象笔记账号
    当前文档
    恢复至上次同步状态
    删除文档
    导出...
    预览文档
    分享链接
    系统
    设置
    使用说明
    快捷帮助
    常见问题
    关于

    搜索文件
    JavaWeb—— 第四章 JDBC数据库访问技术
    欢迎使用马克飞象
    JavaWeb——Servlet过滤器
    JavaWeb 第三章—–JSP技术
    数据结构—第一章 概述
    JavaWeb—–第二章 静态网页开发技术
    面向对象分析与设计(UML)—–第一章 面向对象的概述
    JavaWeb—–第七章 JavaWeb常用开发模式与案例
    微型计算机原理与接口技术—– 第三章 寻址方式与指令系统
    微型计算机原理与接口技术—–第四章 汇编语言语法和DOS功能调用
    JavaWeb—-第五章 JavaBean技术
    JavaWeb ——第六章 Servlet技术
    第七章 微型计算机原理与接口技术—–中断系统与8237A DMA控制器
    微型计算机原理与及接口技术—–第六章 存储器
    第一章 微型计算机原理与接口技术—-微型计算机的基础
    第八章 善于利用指针
    软件测试
    第七章 用函数实现模块化程序设计
    针对Java Web应用中错误异常处理方法的运用
    第六章 利用数组处理批量数据
    第五章循环结构程序设计
    第四章 选择结构程序设计
    第三章 最简单的C程序结构—–顺序结构设计
    程序基本算法之查找与排序
    第二章 算法—程序的灵魂
    第一章 程序设计和C语言
    微型计算机原理与接口技术—–第五章 汇编语言程序设计
    2017.10.21笔记

    转载于:https://www.cnblogs.com/qichunlin/p/7823371.html

    展开全文
  • 一、JDBC技术简介 在Java web应用程序中,数据库访问是通过Java数据库连接实现,一种是通过JDBC驱动程序直接连接数据库,另一种是通过连接数据池技术连接数据库。 ...

    一、JDBC技术简介
    在Java web应用程序中,数据库访问是通过Java数据库连接实现的,一种是通过JDBC驱动程序直接连接数据库,另一种是通过连接数据池技术连接数据库。
    二、准备工作:下载数据库对应的jar包并导入
    导入import java.sql.*;即可。
    三、JDBC的基本操作
    (1)数据库连接步骤

            Connection connection = null;
            PreparedStatement statement = null;
            ResultSet resultSet = null;
    
    
            try {
                //1.加载驱动
                Class.forName("com.mysql.jdbc.Driver");
                //2.创建连接
                String driverName="com.mysql.jdbc.Driver";
                String userName="root";
                String userPwd="pass1234";
                String dbName="jdbc";
                String url1="jdbc:mysql://localhost:3306/"+dbName;
                String url2="?user="+userName+"&password="+userPwd;
                String url3="&useUnicode=true&characterEncoding=UTF-8";
                String url=url1+url2+url3;
                connection = DriverManager.getConnection(url);
                System.out.println("创建连接成功!");
                //3.写sql
                String sql="select* from tb_jdbc";
                //4.得到statement对象
                statement=connection.prepareStatement(sql);
                //5.执行sql  得到结果
                resultSet=statement.executeQuery();
                //6.处理结果集
                while (resultSet.next())
                {
                    System.out.println(resultSet.getInt(1));
                    System.out.println(resultSet.getString(2));
                    System.out.println(resultSet.getString(3));
                }
                //7.关闭资源
            } catch (ClassNotFoundException e) {
                e.printStackTrace();
            }finally {
                try {
                    if(resultSet!=null) {resultSet.close();}
                    if(statement!=null) {statement.close();}
                    if(connection!=null) {connection.close();}
                } catch (SQLException se) {
                }
            }
    
        }
    (2)连接的获取
      在操作之前必须先获取与数据库的连接。
        private static Connection getConn() {
        String driver = "com.mysql.jdbc.Driver";
        String url = "jdbc:mysql://localhost:3306/samp_db";
        String username = "root";
        String password = "";
        Connection conn = null;
        try {
            Class.forName(driver); //classLoader,加载对应驱动
            conn = (Connection) DriverManager.getConnection(url, username, password);
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return conn;
    }
    (3)插入操作
    private static int insert(Student student) {
        Connection conn = getConn();
        int i = 0;
        String sql = "insert into students (Name,Sex,Age) values(?,?,?)";
        PreparedStatement pstmt;
        try {
            pstmt = (PreparedStatement) conn.prepareStatement(sql);
            pstmt.setString(1, student.getName());
            pstmt.setString(2, student.getSex());
            pstmt.setString(3, student.getAge());
            i = pstmt.executeUpdate();
            pstmt.close();
            conn.close();
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return i;
    }
    (4)更新操作
    private static int update(Student student) {
        Connection conn = getConn();
        int i = 0;
        String sql = "update students set Age='" + student.getAge() + "' where Name='" + student.getName() + "'";
        PreparedStatement pstmt;
        try {
            pstmt = (PreparedStatement) conn.prepareStatement(sql);
            i = pstmt.executeUpdate();
            System.out.println("resutl: " + i);
            pstmt.close();
            conn.close();
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return i;
    }
    (5)删除操作
    private static int delete(String name) {
        Connection conn = getConn();
        int i = 0;
        String sql = "delete from students where Name='" + name + "'";
        PreparedStatement pstmt;
        try {
            pstmt = (PreparedStatement) conn.prepareStatement(sql);
            i = pstmt.executeUpdate();
            System.out.println("resutl: " + i);
            pstmt.close();
            conn.close();
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return i;
    }
    (5)问题思考
    1.每次SQL操作都需要建立和关闭连接,这势必会消耗大量的资源开销,如何避免?
    
    分析:可以采用连接池,对连接进行统一维护,不必每次都建立和关闭。事实上这是很多对JDBC进行封装的工具所采用的。
    
     
    
    2.Java代码中,传入的数据格式与数据库定义不同怎么办?如把Java的String对象赋值给数据库的tinyint属性。
    
    分析:在执行SQL语句时,数据库会尝试进行转换。根据我的实验,如果用内容为纯字母的String对象传入tinyint的age属性时,会被转化成0。具体转化规则应该和数据库有关。
    

    四、通过连接数据池技术连接数据库
    通过连接池技术连接数据库需要两步处理:首先需要配置数据源,然后再程序中通过连接池建立数据库连接,从而再次访问数据库。
    1、在服务器上添加MySQL数据库驱动程序
    将mysql数据库的驱动程序复制到Tomcat安装路径下的common\lib文件夹中。
    2.配置数据源参数

    <Context>
            <Resource name="jdbc/mysql"
                     type=javax.sql.DataSource"
                     auth="Contatiner"
                     dirverClassName="com.mysql.jdbc.Driver"
                     url="jdbc:mysql://localhost:3306/数据库名字"
                     username="用户名“
                     password="用户密码”
                     maxActivr="4"
                     maxIdle="2"
                     maxWait="6000"/>
    </Context>
    
    

    3.使用连接池技术访问数据库的处理步骤
    (1)获取对数据源的引用

    Context ctx=new InitalContext();
    DataSource ds=(DataSource)ctx.lookup("java:comp/env/jdbc/mysql");
    

    (2)获取数据库连接对象

    Connectiion con=ds.getConnection();
    

    (3)返回数据库连接到连接池

    con.close();
    
    展开全文
  • 开发了一个基于Web服务技术的数据库访问中间件WSDBM,并以一个应用实例验证了该中间件有效性。 关键词:Web服务;数据库访问中间件;.Net 1 引言 随着Intranet/Internet网络迅猛发展,面向网络分布式...
  • 介绍了中间件技术在B/S多层体系结构中作用,分析了CGI,ASP,JDBC等中间件技术各自特点和它们在Web数据库访问应用,最后给出了基于Servlet/JSP技术的Web数据库访问技术的实现模型。
  • 使用数据控件访问数据库 学习目标 使用GridView控件访问数据库 使用DetailsView控件访问数据库 使用FormView控件访问数据库 使用DataList控件访问数据库 使用Repeater控件访问数据库 使用ListView控件访问数据库 ...
  • 使用访问数据库 学习目标 的基本概念 使用数据提供程序访问数据库的步骤 使用DataAdapter和DataSet访问数据库的步骤 使用SQL命令和存储过程访问数据库 使用DataAdapter和DataSet访问数据库 的基本概念 数据源和数据...
  • 技术WEB数据库访问设计论文 1ASP技术工作原理及特点 WEB数据库顾名思义就是融合了WEB技术的数据库属于WEB的组成部分[1].其工作原理如下用户通过网络向对应的WEB服务器发送一个.asp页面请求WEB服务器响应请求后即从...
  • Java Web JSP访问数据库

    2020-06-21 09:04:12
    在Java技术系列中访问数据库的技术叫做JDBC。 与JDBC相关的API存放在java.sql包中,主要包括以下类或接口。 1.Connection 负责连接数据库 2.Statement 负责执行数据库SQL语句 3.ResultSet 负责存放查询结果 2.建立...
  • Java连接数据库可以使用ODBC(Open Database Connectivity),由微软提供一种数据库访问技术,也可以使用厂商驱动JDBC。本篇文章介绍使用厂商驱动方式连接数据库,稍后还会介绍数据库连接池使用: 针对不同...
  • ASP技术访问WEB数据库(转载)

    万次阅读 2004-09-26 21:07:00
     访问WEB数据库的多种方案 目前在WINDOWS环境下有多种访问WEB数据库的技术,主要有: 1.公共网关接口CGI(Common Gateway Interface) CGI是较早实现的技术。适用于多种服务器平台,如UNIX、WINDOWS等,但CGI的...
  • JDBC数据库访问技术

    2017-09-10 18:16:45
    数据库是Web应用程序重要组成部分,在java web应用程序中,数据库访问是通过java...在java web 应用中,数据库的连接一般使用两种方法,一种是通过jdbc驱动程序直接连接数据库,另一种是通过连接池技术连接数据库。
  • 数据库的多样化也促使了Java在其使用的过程中会出现各种定制化的开发和兼容,因此消耗大量的精力和成本来进行完善,当然外界也针对这种多样化做了兼容。本文主要通过分析连接数据库多种方式如何来进行甄别,并最终...
  • 摘要:本文分析了Web Service的特点,提出了...在原型系统中,使用Web Service将分布于Internet上的不同的数据库系统中的数据集成,向访问数据库的应用程序提供统一的数据操作接口,实现了分布式数据库的透明访问。 ...
  • web 数据库

    2008-08-22 21:38:00
    JSP访问WEB数据库 目前在WINDOWS环境下访问WEB数据库的技术,主要有以下5种: 作者:白毅刊名:厦门科技机构:厦门市政务信息中心分类:TP311.13 TP393.092关键词:WEB数据库 访问 JSP WINDOWS环境Web数据库的选择 ...
  • 摘要 本文介绍PHP的优点和特征,结合实例阐述了PHP访问MySQL数据库的方法。PHP MySQL ODBC1. 引言在Internet应用中,将服务器端脚本技术和客户端脚本技术结合起来可以制作出丰富多彩的页面。CGI和ASP是比较流行...
  • 用JDBC技术访问数据库

    2020-06-16 20:41:15
    实现数据库的增、删、改、查 二、JDBC工作原理 JDBC API 提供者:sun 公司(oracle) 内容:供程序员调用的接口与类,集成在java.sql 和javax.sql 包中: ==DriverManager 类 Connection 接口 PreparedStatement接口 ...
  • JDBC(java DataBase Connectivity)是java与数据库连接纽带。JDBC封装了java与数据库通信细节。程序员只需要通过JDBC API就可以与数据库服务器通信。 优点: 1.简化代码 2.使java代码不依赖具体数据库服务器。 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,966
精华内容 1,186
关键字:

web访问数据库的技术