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

 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. java图形用户界面之列表框

    列表框通过Swing组件JList产生,其总是在屏幕上占据固定行数的空间.如果要得到列表框中被选中的元素,只需调用getSelectedValuesList(),它可以产生一个字符串数组,内容为被选中 ...

  2. BZOJ2227 [Zjoi2011]看电影(movie)

    Description \(k\)个座位,\(n\)个人依次过来,每人随机从\(k\)个座位中选择一个,并从它开始不停向后走直到遇到空座位坐下.求所有人都能坐下的概率(即没有人走到第\(k+1\)个位 ...

  3. 好用的js-cookies工具

    背景 回顾一年前的代码,关于cookies这块,增删改查完全可以封装成一个模块.在MDN上看到一款很全的分享,在此做个记录. cookies模块 /*\ |*| |*| :: cookies.js : ...

  4. JAVA视频网盘分享

    JAVA视频网盘分享 [涵盖从java入门到深入架构,Linux.云计算.分布式.大数据Hadoop.ios.Android.互联网技术应有尽有] 1.JavaScript视频教程 链接: http: ...

  5. 合理选择css3动画实现方式

    使用css3实现动画,比js控制DOM属性的方式要高效很多.流畅很多,主要分transition和animation两大方式. transition适用于一次性变换 animation适用于循环动画和 ...

  6. python中的字符串编码问题——2.理解ASCII码、ANSI码、Unicode编码、UTF-8编码

    ASCII码:全名是American Standard Code for Information Interchange,ASCII码中,一个英文字母(不分大小写)占一个字节的空间,范围0x00~0x ...

  7. 'webpack' 不是内部或外部命令,也不是可运行的程序 或批处理文件。

    npm updatea -g 很严重,把本地npm安装包都更新了,跟项目npm安装包版本不一,导致 意思是版本冲突,手动卸载了,重新安装还是最新版本,很是头疼.找同事的电脑拷贝了一份,然后复制过来报“ ...

  8. 初探diskstats

    内核很多重要子系统均通过proc文件的方式,将自身的一些统计信息输出,方便最终用户查看各子系统的运行状态,这些统计信息被称为metrics. 直接查看metrics并不能获取到有用的信息,一般都是由特 ...

  9. UML建模中简单消息、同步消息和异步消息

    两种消息在UML图中的表示方法如图: 1.同步方式 两个通信应用服务之间必须要进行同步,两个服务之间必须都是正常运行的.发送程序和接收程序都必须一直处于运行状态,并且随时做好相互通信的准备. 发送程序 ...

  10. linux 创建新用户并增加管理员权限

    1.adduser与useradd有什么区别?2.那种方式会自动创建组.用户组等信息? 3.如何新建用户具有管理员权限? $是普通管员,#是系统管理员,root用户默认是没有密码的,因此也就无法使用( ...