JDBC学习笔记一 ResultSet 与 基础更新操作
2017-03-27 00:00
211 查看
public class CopyOfJDBCTest {
/**
* ResultSet: 该对象以逻辑表格的形式封装了执行数据库操作的结果集(该接口由数据库厂商提供实现)
* 1、得到结果集:调用 Statement 对象的 executeQuery(sql)
* 2、ResultSet 对象维护了一个指向当前数据行的游标,初始时指针指向数据表的第一行的前面。
* next()方法: 检测下一行是否有效,若有效该方法返回true, 且指针下移到下一行,
* 相当于 Iterator 对象的 hasNext() 和 next() 方法的结合体
* 3、获取指针对应行的每一列的值,可以通过调用 getXxx(index) 或 getXxx(columnName)
* 例如:getInt(1), getString("name")
* 4、数组:new Object[]{2,ABCD,qq@bdqn.com,2017-03-17}
* customer:一条记录对应一个对象
* 5、关闭结果集 ResulSet
*/
@Test
public void testResultSet(){
Connection conn=null;
Statement statement=null;
ResultSet resultset=null;
String sql="SELECT id,name,email,birth FROM customers";
try {
//1、执行查询,得到ResultSet
conn=JDBCTools.getConnection();
statement=conn.createStatement();
resultset=statement.executeQuery(sql);
//2、处理ResultSet
while (resultset.next()) {
int id=resultset.getInt(1);
String name=resultset.getString("name");
String email=resultset.getString(3);
Date birth=resultset.getDate(4);
System.out.println("id:"+id+",name:"+name+",email+:"+email+",birth:"+birth);
}
} catch (Exception e) {
e.printStackTrace();
}finally{
// 关闭数据库资源
JDBCTools.release(resultset, statement, conn);
}
}
/**
* 通用的更新方法:包括INSERT、UPDATE、DELETE
* sql:
* 1):"INSERT INTO customers (NAME,EMAIL,birth) VALUES('ABCD','qq@bdqn.com','2017-03-17')";
* 2):"UPDATE customers SET name='TOM' WHERE id=3"
* 3):"DELETE FROM customers WHERE id=1";
*/
/**
* 1、Satement:用于执行SQL语句对象
* 1)、调用Connection的createStatement()方法来获取
* 2)、调用Statement对象的executeUpdate(sql)执行SQL语句进行插入
* 3)、传入的SQL可以是INSRET、UPDATE或DELETE. 但不能是SELECT
*
* 2、Connection、Statement都是应用程序和数据库服务器的连接资源。使用后一定要关闭*/
public void update(String sql) throws ClassNotFoundException, IOException{
Connection conn=null;
Statement statement=null;
try{
//1、获取数据库连接
conn=JDBCTools.getConnection();
//2、执行插入
//1)、获取操作SQL语句的Statment对象:
statement=conn.createStatement();
//2)、调用Statement对象的executeUpdate(sql)执行SQL语句进行插入
statement.executeUpdate(sql);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
//2、关闭数据库连接
JDBCTools.release(null,statement, conn);
}
}
}
/**
* ResultSet: 该对象以逻辑表格的形式封装了执行数据库操作的结果集(该接口由数据库厂商提供实现)
* 1、得到结果集:调用 Statement 对象的 executeQuery(sql)
* 2、ResultSet 对象维护了一个指向当前数据行的游标,初始时指针指向数据表的第一行的前面。
* next()方法: 检测下一行是否有效,若有效该方法返回true, 且指针下移到下一行,
* 相当于 Iterator 对象的 hasNext() 和 next() 方法的结合体
* 3、获取指针对应行的每一列的值,可以通过调用 getXxx(index) 或 getXxx(columnName)
* 例如:getInt(1), getString("name")
* 4、数组:new Object[]{2,ABCD,qq@bdqn.com,2017-03-17}
* customer:一条记录对应一个对象
* 5、关闭结果集 ResulSet
*/
@Test
public void testResultSet(){
Connection conn=null;
Statement statement=null;
ResultSet resultset=null;
String sql="SELECT id,name,email,birth FROM customers";
try {
//1、执行查询,得到ResultSet
conn=JDBCTools.getConnection();
statement=conn.createStatement();
resultset=statement.executeQuery(sql);
//2、处理ResultSet
while (resultset.next()) {
int id=resultset.getInt(1);
String name=resultset.getString("name");
String email=resultset.getString(3);
Date birth=resultset.getDate(4);
System.out.println("id:"+id+",name:"+name+",email+:"+email+",birth:"+birth);
}
} catch (Exception e) {
e.printStackTrace();
}finally{
// 关闭数据库资源
JDBCTools.release(resultset, statement, conn);
}
}
/**
* 通用的更新方法:包括INSERT、UPDATE、DELETE
* sql:
* 1):"INSERT INTO customers (NAME,EMAIL,birth) VALUES('ABCD','qq@bdqn.com','2017-03-17')";
* 2):"UPDATE customers SET name='TOM' WHERE id=3"
* 3):"DELETE FROM customers WHERE id=1";
*/
/**
* 1、Satement:用于执行SQL语句对象
* 1)、调用Connection的createStatement()方法来获取
* 2)、调用Statement对象的executeUpdate(sql)执行SQL语句进行插入
* 3)、传入的SQL可以是INSRET、UPDATE或DELETE. 但不能是SELECT
*
* 2、Connection、Statement都是应用程序和数据库服务器的连接资源。使用后一定要关闭*/
public void update(String sql) throws ClassNotFoundException, IOException{
Connection conn=null;
Statement statement=null;
try{
//1、获取数据库连接
conn=JDBCTools.getConnection();
//2、执行插入
//1)、获取操作SQL语句的Statment对象:
statement=conn.createStatement();
//2)、调用Statement对象的executeUpdate(sql)执行SQL语句进行插入
statement.executeUpdate(sql);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
//2、关闭数据库连接
JDBCTools.release(null,statement, conn);
}
}
}
相关文章推荐
- JavaWeb学习笔记-JDBC操作(2)[数据库的更新与查询]
- 【VC++ 中使用ADO操作数据库学习笔记】 基础环境的设置
- Matlab矩阵操作基础,学习笔记...
- 【C++学习笔记】文件操作编程基础
- [Matlab]基础教程学习笔记(四):二维高层绘图操作
- [原]java专业程序代写(qq:928900200),学习笔记之基础入门<JDBC>(二十四)
- 学习笔记:jdbc连接、操作数据库SQL Server 2008 ——MyEclipse web示例
- Java 基础学习笔记(持续更新中)
- JAVA基础知识学习笔记(持续更新中。。)
- JDBC 学习笔记(一)—— 基础知识 + 分页技术
- 学习笔记_oracle——基础操作
- javascript学习基础笔记之DOM对象操作
- 深入浅出学习Hibernate框架(二):JDBC基础操作
- 学习笔记之javaweb基础:jsp基本语法,内置对象,对JavaBean的操作语法
- C/C++ 基础知识学习笔记 (不断更新中)
- javascript学习基础笔记之DOM对象操作
- 深入浅出学习Hibernate框架(二):JDBC基础操作
- 学习笔记:基础+文件操作(上传|下载)+面向对象+xml
- linux学习笔记之基础操作及命令
- java 从零开始,学习笔记之基础入门<JDBC>(二十四)