一:将查询的结果生成对象,储存在数组中。

 package day31;

 import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList; public class java_obj {
public static void main(String[] args)throws SQLException{
Connection con=jdbcutils.getCon();
PreparedStatement pst=con.prepareStatement("select * from system_user");
ResultSet res=pst.executeQuery();
/*
将查询的结果用泛型数组储存。
*/
ArrayList<System_user> sys_list=new ArrayList<>();
while (res.next()){
System_user sys_u=new System_user(res.getString("username"),res.getString("password"));
sys_list.add(sys_u);
}
System.out.print(sys_list);
jdbcutils.cls_re(con,pst,res);
}
} class System_user{
private String user;
private String pwd;
public System_user(String user, String pwd){
this.user=user;
this.pwd=pwd;
} @Override
public String toString() {
return this.user+" "+this.pwd;
}
}

工具类:

 package day31;

 import java.sql.*;

 public class jdbcutils {
/*
创建jdbc工具类。
1:方便别人调用
2:避免代码重复。
*/
private jdbcutils(){}//工具类不需要实例化,所以方法进行私有化。
private static Connection con;//需要静态变量 /*
静态代码块在加载类的时候就执行该部分的代码。
*/
static {
try{
Class.forName("com.mysql.jdbc.Driver");
String url="jdbc:mysql://192.168.147.146:3306/homework_day13";
String username="test";
String password="";
con= DriverManager.getConnection(url,username,password);
}catch (Exception ex){
throw new RuntimeException(ex+"数据库连接失败!");//如果出现异常的话 需要种子程序 所以要抛出异常。需要创建运行异常的错误。
}
} public static Connection getCon(){
return con;
}
/*
关闭资源。
通过方法的重载来判断用户执行的是查询和更新操作。
*/
public static void cls_re (Connection con, Statement pst, ResultSet rs)throws SQLException{
/*
注意:这里需要判断需要关闭的对象是否存在以及该对象如果抛出异常不能影响下面的关闭。
这里是Statement 是prepareStament的父类。
*/
if(con!=null){
try {
con.close();
}catch (Exception ex){}
}
if(pst!=null){
try {
pst.close();
}catch (Exception ex){}
}
if(rs!=null){
try {
rs.close();
}catch (Exception ex){}
} }
public static void cls_re(Connection con,Statement pst){
if(pst!=null){
try {
pst.close();
}catch (Exception ex){}
}
if(pst!=null){
try {
pst.close();
}catch (Exception ex){}
}
}
}

JDBC数据对象存储的更多相关文章

  1. 用python pickle库来存储数据对象

    pickling有一个更常用的叫法是serialization,它是指把python对象转化成字节流byte stream, unpickling就是把byte stream转换成对象.python的 ...

  2. Chapter 4 持久存储数据对象

    1.使用with open("filename.扩展名","r/w/rb/wb") as data代替data=open(..);data.close() 打开 ...

  3. iOS开发——数据持久化&本地数据的存储(使用NSCoder将对象保存到.plist文件)

    本地数据的存储(使用NSCoder将对象保存到.plist文件)   下面通过一个例子将联系人数据保存到沙盒的“documents”目录中.(联系人是一个数组集合,内部为自定义对象).   功能如下: ...

  4. Unity3D学习(二):使用JSON进行对象数据的存储读取

    前言 前段时间完成了自己的小游戏Konster的制作,今天重新又看了下代码.原先对关卡解锁数据的存储时用了Unity自带的PlayerPref(字典式存储数据). 读取关卡数据的代码: void Aw ...

  5. 使用JavaBean对象存储表格数据

    范例:表格内容接上篇 package cn.sxt.collection; import java.util.ArrayList;import java.util.Date;import java.u ...

  6. 腾讯云COS对象存储占据数据容灾C位

    说到公有云容灾,大家首先想到的是云上数据备份. 然而,随着企业核心业务逐渐从线下迁移到云上,客户提出了更高的要求.如何确保云上业务的高可用.数据的高可靠,这对云厂商提出了新的挑战. 腾讯云作为全球领先 ...

  7. Java数据库——处理大数据对象

    处理大数据对象 CLOB中可以存储海量文字 BLOB中可以存储海量二进制数据 如果程序中要想处理这样的大对象操作,则必须使用PreparedStatement完成,所有的内容要通过IO流的方式从大文本 ...

  8. python数据的存储和持久化操作

    Python的数据持久化操作主要是六类:普通文件.DBM文件.Pickled对象存储.shelve对象存储.对象数据库存储.关系数据库存储. 普通文件不解释了,DBM就是把字符串的键值对存储在文件里: ...

  9. jdbc数据访问技术

    jdbc数据访问技术 1.JDBC如何做事务处理? Con.setAutoCommit(false) Con.commit(); Con.rollback(); 2.写出几个在Jdbc中常用的接口 p ...

随机推荐

  1. Code Signal_练习题_Minesweeper

    In the popular Minesweeper game you have a board with some mines and those cells that don't contain ...

  2. python3中的新式类mro查看和C3算法原理

    两个公式 L(object) = [object] L(子类(父类1, 父类2)) = [子类] + merge(L(父类1), L(父类2) , [父类1, 父类2])注意 + 代表合并列表 mer ...

  3. ubuntu命令行编译opencv c++项目

    ubuntu终端编译opencv c++项目: g++ test.cpp `pkg-config opencv --libs --cflags opencv` -o test

  4. h5调用微信分享

    https://blog.csdn.net/qq_39562787/article/details/79217386

  5. 7.log4j2的使用

    一.简介 log4j2相对于log4j 1.x有了脱胎换骨的变化,其官网宣称的优势有多线程下10几倍于log4j 1.x和logback的高吞吐量.可配置的审计型日志.基于插件架构的各种灵活配置等.如 ...

  6. [C#] Microsoft .Net框架SerialPort类的用法与示例

    从Microsoft .Net 2.0版本以后,就默认提供了System.IO.Ports.SerialPort类,用户可以非常简单地编写少量代码就完成串口的信息收发程序.本文将介绍如何在PC端用C# ...

  7. HAproxy simple

    下载地址 start install: wget     http://www.haproxy.org/download/1.7/src/haproxy-1.7.5.tar.gz tar   -xf  ...

  8. 使用 Azure CLI 创建 Linux 虚拟机

    Azure CLI 用于从命令行或脚本创建和管理 Azure 资源. 本指南详细介绍了如何使用 Azure CLI 部署运行 Ubuntu 服务器的虚拟机. 服务器部署以后,将创建 SSH 连接,并且 ...

  9. webkit、cef、nwjs、electron、 miniblink浏览器内核优缺点

    市面上作为嵌入的组件的可用的浏览器内核,不外乎这几个:webkit.cef.nwjs.electron. 1.cef:优点是由于集成的chromium内核,所以对H5支持的很全,同时因为使用的人也多, ...

  10. C++ 入门随手笔记及联系

    一.第一个C++程序 1.文件扩展名  C++源代码的文件扩展名.cpp.C.cxx.c(需要指定编译语言)  自定义的头文件依然保留.h 2.头文件  C++标准库的头文件不带.h,最常用的是ios ...