JDBC学习总结(三)
package com.yyq.resultset;
import com.yyq.factory.CloseFactory;
import com.yyq.factory.ConnectionFactory;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
/**
* Created by gao on 16-4-13.
*/
public class ResultSetTest {
public static void testPager(int firstResult, int maxResults) {
Connection conn = ConnectionFactory.getConnection();
PreparedStatement pstmt = null;
ResultSet rs = null;
String sql = "select id,name,score,class from student";
try {
//可滚动的,只读的结果集
pstmt = conn.prepareStatement(sql, ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
rs = pstmt.executeQuery();
//光标移到最后一行
rs.absolute(-1); //rs.last();
//获取总记录数
int count = rs.getRow();
System.out.println("Recorder SUM:" + count);
//光标移到指定行的前一行
rs.absolute(firstResult - 1);
for (int i = 0; i < maxResults; i++) {
if (rs.next()) {
System.out.println(rs.getInt(1) + ", " + rs.getString(2) + ", " + rs.getString(4) + ", " + rs.getInt(3));
} else {
break;
}
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
CloseFactory.close(pstmt, conn);
}
}
public static void main(String[] args) {
ResultSetTest.testPager(6, 12);
}
}
package com.yyq.resultset;
import com.yyq.factory.CloseFactory;
import com.yyq.factory.ConnectionFactory;
import java.sql.*;
/**
* Created by gao on 16-4-13.
*/
public class ResultSetMetaDataTest {
public static void test() {
Connection conn = ConnectionFactory.getConnection();
PreparedStatement pstmt = null;
ResultSet rs = null;
String sql = "select * from student";
try {
//可滚动的,只读的结果集
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
//在结果集上获取元数据
ResultSetMetaData rsmd = rs.getMetaData();
int count = rsmd.getColumnCount(); //获取总列(字段)数
System.out.println("ColumnCount:" + count);
for (int i = 1; i <= count; i++) {
System.out.println("No:" + i);
System.out.println("Catalog Name:" + rsmd.getCatalogName(i));
System.out.println("Data Type Class:" + rsmd.getColumnClassName(i));
System.out.println("ColumnDisplaySize:" + rsmd.getColumnDisplaySize(i));
System.out.println("ColumnLabel:" + rsmd.getColumnLabel(i));
System.out.println("Column Type:" + rsmd.getColumnType(i));
System.out.println("Column Type Name:" + rsmd.getColumnTypeName(i));
System.out.println("Precision:" + rsmd.getPrecision(i));
System.out.println("Scale"+rsmd.getScale(i));
System.out.println("SchemaName:"+rsmd.getSchemaName(i));
System.out.println("Table Name:"+rsmd.getTableName(i));
System.out.println("IsAutoIncrement:"+rsmd.isAutoIncrement(i));
System.out.println("IsCurrency:"+rsmd.isCurrency(i));
System.out.println("IsNullable:"+rsmd.isNullable(i));
System.out.println("IsReadOnly:"+rsmd.isReadOnly(i));
System.out.println("isSearchable:"+rsmd.isSearchable(i));
System.out.println();
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
CloseFactory.close(pstmt, conn);
}
}
public static void main(String[] args) {
ResultSetMetaDataTest.test();
}
}
JDBC学习总结(三)的更多相关文章
- JDBC学习笔记(三)
获取数据库的元信息metadata,里面有数据库特性的描述信息,如是否支持事务,是否支持批处理等. Connection conn = DriverManager.getConnection(url, ...
- Quartz定时任务学习(二)web应用/Quartz定时任务学习(三)属性文件和jar
web中使用Quartz 1.首先在web.xml文件中加入 如下内容(根据自己情况设定) 在web.xml中添加QuartzInitializerServlet,Quartz为能够在web应用中使用 ...
- MyBatis学习系列三——结合Spring
目录 MyBatis学习系列一之环境搭建 MyBatis学习系列二——增删改查 MyBatis学习系列三——结合Spring MyBatis在项目中应用一般都要结合Spring,这一章主要把MyBat ...
- JDBC学习笔记(2)——Statement和ResultSet
Statement执行更新操作 Statement:Statement 是 Java 执行数据库操作的一个重要方法,用于在已经建立数据库连接的基础上,向数据库发送要执行的SQL语句.Statement ...
- JDBC学习笔记(1)——JDBC概述
JDBC JDBC API是一个Java API,可以访问任何类型表列数据,特别是存储在关系数据库中的数据.JDBC代表Java数据库连接. JDBC库中所包含的API任务通常与数据库使用: 连接到数 ...
- 【转】MyBatis学习总结(三)——优化MyBatis配置文件中的配置
[转]MyBatis学习总结(三)——优化MyBatis配置文件中的配置 一.连接数据库的配置单独放在一个properties文件中 之前,我们是直接将数据库的连接配置信息写在了MyBatis的con ...
- 【转】JDBC学习笔记(2)——Statement和ResultSet
转自:http://www.cnblogs.com/ysw-go/ Statement执行更新操作 Statement:Statement 是 Java 执行数据库操作的一个重要方法,用于在已经建立数 ...
- 【转】JDBC学习笔记(1)——JDBC概述
转自:http://www.cnblogs.com/ysw-go/ JDBC JDBC API是一个Java API,可以访问任何类型表列数据,特别是存储在关系数据库中的数据.JDBC代表Java数据 ...
- jdbc学习总结
jdbc学习总结: 一.简介: jdbc,直译为java连接数据库.实际为java为很好的操作数据库而提供的一套接口,接口的实现(即驱动)由各个数据库厂商提供. 二.知识要点: 连接5要素,3 ...
随机推荐
- 使用virtualenv或zc.buildout创建Python-tornado分离环境
originally created by shuliang under CC BY-NC-ND 3.0 license 一.引言 学习编程,好比练功,总得先有个环境,搭台子是必须的.为了照顾初学者, ...
- Oracle中的for语句
for语句是一个可预置循环次数的循环控制语句,他是一个循环计数器,通常是一个整形变量,通过这个循环计数器来控制循环执行的次数 语法如下: for variable_counter_name in [e ...
- netlink---Linux下基于socket的内核和上层通信机制 (转)
需要在linux网卡 驱动中加入一个自己的驱动,实现在内核态完成一些报文处理(这个过程可以实现一种零COPY的网络报文截获),对于复杂报文COPY下必要的数据交给用户 态来完成(因为过于复杂的报文消耗 ...
- per-project basis
Of course, HSQLDB connection parameters should be stored on a per-project basis, instead of only onc ...
- 谁是最好的Coder
谁是最好的Coder 时间限制:1000 ms | 内存限制:65535 KB 难度:0 描述 计科班有很多Coder,帅帅想知道自己是不是综合实力最强的coder. 帅帅喜欢帅,所以他选了帅 ...
- cocos2dx中的设计分辨率与屏幕适配策略
1.首先明确几个概念: 设计分辨率:designResolution,即资源图片的设计尺寸,即美工给你的资源图片的大小,比如(641*964) 屏幕分辨率:又叫帧的大小,glview->setF ...
- Careercup - Google面试题 - 5735304249999360
2014-05-03 23:18 题目链接 原题: Insert a element in a sorted circular linked list 题目:题意简单明了,向一个有序的循环单向链表中插 ...
- 在云服务器搭建WordPress博客(三)安装WordPress
WordPress的安装在Windows环境下非常简单. 安装前的准备 1.下载最新版的 WordPress,解压后,将WordPress文件夹里面的所有文件,上传到你的主机空间域名所绑定的根目录. ...
- java url中文参数乱码问题
http://www.blogjava.net/jerry-zhaoj/archive/2009/07/16/286993.html 转 JAVA 中URL链接中文参数乱码的处理方法JAVA 中URL ...
- Jquery 查看DOM上绑定的事件列表
$(dom).data( "events" ); 包括事件类型和关联的处理函数 下面是firefox的截图