jdbc心得-4-分页、元数据、大数据处理

1.MySQL分页的实现:

•       Select * from table limit M,N

•      M:记录开始索引位置

•      N:取多少条记录。

代码案例:

package com.hbsi.jdbcdemo;

import java.sql.*;

import com.hbsi.dbUtil.DBManger;

public class demo5 {

   publicstatic void main(String[] args) {

     pageSelect(2,3);

   }

   publicstatic void pageSelect(int page,int pageSize){

     Connectioncon=null;

     PreparedStatementps=null;

     ResultSetrs=null;

     Stringsql="select * from users limit ?,?";

     try{

        con=DBManger.getConnection();

        ps=con.prepareStatement(sql);

        ps.setInt(1,(page-1)*pageSize);

        ps.setInt(2,pageSize);

        rs=ps.executeQuery();

        while(rs.next()){

   System.out.println(rs.getInt("id")+"\t"+rs.getString("name")+"\t"+rs.getString("password"));

        }

     }catch(Exceptione){

        e.printStackTrace();

     }finally{

        DBManger.dbClose(rs,ps, con);

     }

    

   }

2. 可滚动的结果集

   Statementst =

connection.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);

   ResultSetrs = st.executeQuery(sql);

rs.beforeFirst(); rs.afterLast();rs.first();

rs.isFirst();rs.last();rs.isLast();

       rs.absolute(9);rs.moveToInsertRow();

3.   可更新的结果集

   conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,

             ResultSet.CONCUR_UPDATABLE);

   rs.updateString("colname", "new value");

   rs.updateRow();

4.元数据-DataBaseMetaData

l    元数据:数据库、表、列的定义信息。

l    Connection.getDatabaseMetaData()

l    DataBaseMetaData对象

•       getURL():返回一个String类对象,代表数据库的URL。

•       getUserName():返回连接当前数据库管理系统用户名。

•       getDatabaseProductName():返回数据库的产品名称。

•       getDatabaseProductVersion():返回数据库的版本号。

•       getDriverName():返回驱动程序的名称。

•       getDriverVersion():返回驱动程序的版本号。

•       isReadOnly():返回一个boolean值,指示数据库是否只允许读操作。

5.  元数据- ParameterMetaData

l    PreparedStatement .getParameterMetaData()

•       获得代表PreparedStatement元数据的ParameterMetaData对象。

l    ParameterMetaData对象

•       getParameterCount()

•      获得指定参数的个数

•       getParameterType(int param)

•      获得指定参数的sql类型

6.  元数据-ResultSetMetaData

l    ResultSet. getMetaData()

•       获得代表ResultSet对象元数据的ResultSetMetaData对象。

l    ResultSetMetaData对象

•       getColumnCount()

•      返回resultset对象的列数

•       getColumnName(int column)

•      获得指定列的名称

•        getColumnTypeName(int column)

•      获得指定列的类型

7.  使用JDBC处理大数据

l    在实际开发中,程序需要把大文本或二进制数据保存到数据库。

l    基本概念:大数据也称之为LOB(Large Objects),LOB又分为:

•      clob和blob

•      clob用于存储大文本。Text

•      blob用于存储二进制数据,例如图像、声音、二进制文等。

l    对MySQL而言只有blob,而没有clob,mysql存储大文本采用的是Text,Text和blob分别又分为:

•      TINYTEXT、TEXT、MEDIUMTEXT和LONGTEXT

•      TINYBLOB、BLOB、MEDIUMBLOB和LONGBLOB

l    对于MySQLText类型,可调用如下方法设置:

PreparedStatement.setCharacterStream(index,reader, length);

//注意length长度须设置,并且设置为int型

l    MySQLText类型,可调用如下方法获取:

reader = resultSet. getCharacterStream(i);

reader = resultSet.getClob(i).getCharacterStream();

string s = resultSet.getString(i);

l    对于MySQL中的BLOB类型,可调用如下方法设置:

PreparedStatement. setBinaryStream(i, inputStream, length);

l    MySQL的BLOB类型,可调用如下方法获取:

InputStream in  =resultSet.getBinaryStream(i);

InputStream in  =resultSet.getBlob(i).getBinaryStream();8.一个简单用户相关的数据访问层

l    J2EE三层架构简介

     表示层 、业务逻辑层、数据访问层,三层之间用接口隔离。

l    定义domain对象User,定义存取用户的接口

l    用JDBC实现接口

l    用配置文件(properties)和反射实现与具体类的耦合

                                

 

 

转载于:https://www.cnblogs.com/yangkai-cn/archive/2012/06/20/4017135.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值