JDBC数据对象存储
一:将查询的结果生成对象,储存在数组中。
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数据对象存储的更多相关文章
- 用python pickle库来存储数据对象
pickling有一个更常用的叫法是serialization,它是指把python对象转化成字节流byte stream, unpickling就是把byte stream转换成对象.python的 ...
- Chapter 4 持久存储数据对象
1.使用with open("filename.扩展名","r/w/rb/wb") as data代替data=open(..);data.close() 打开 ...
- iOS开发——数据持久化&本地数据的存储(使用NSCoder将对象保存到.plist文件)
本地数据的存储(使用NSCoder将对象保存到.plist文件) 下面通过一个例子将联系人数据保存到沙盒的“documents”目录中.(联系人是一个数组集合,内部为自定义对象). 功能如下: ...
- Unity3D学习(二):使用JSON进行对象数据的存储读取
前言 前段时间完成了自己的小游戏Konster的制作,今天重新又看了下代码.原先对关卡解锁数据的存储时用了Unity自带的PlayerPref(字典式存储数据). 读取关卡数据的代码: void Aw ...
- 使用JavaBean对象存储表格数据
范例:表格内容接上篇 package cn.sxt.collection; import java.util.ArrayList;import java.util.Date;import java.u ...
- 腾讯云COS对象存储占据数据容灾C位
说到公有云容灾,大家首先想到的是云上数据备份. 然而,随着企业核心业务逐渐从线下迁移到云上,客户提出了更高的要求.如何确保云上业务的高可用.数据的高可靠,这对云厂商提出了新的挑战. 腾讯云作为全球领先 ...
- Java数据库——处理大数据对象
处理大数据对象 CLOB中可以存储海量文字 BLOB中可以存储海量二进制数据 如果程序中要想处理这样的大对象操作,则必须使用PreparedStatement完成,所有的内容要通过IO流的方式从大文本 ...
- python数据的存储和持久化操作
Python的数据持久化操作主要是六类:普通文件.DBM文件.Pickled对象存储.shelve对象存储.对象数据库存储.关系数据库存储. 普通文件不解释了,DBM就是把字符串的键值对存储在文件里: ...
- jdbc数据访问技术
jdbc数据访问技术 1.JDBC如何做事务处理? Con.setAutoCommit(false) Con.commit(); Con.rollback(); 2.写出几个在Jdbc中常用的接口 p ...
随机推荐
- 纠错帖:Zuul & Spring Cloud Gateway & Linkerd性能对比 (转载)
纠错帖:Zuul & Spring Cloud Gateway & Linkerd性能对比 Spring Cloud Spring Cloud Spring Cloud Gatew ...
- PHP 抽象类实现接口注意事项(含PHP与.Net的区别)
最近在学习Drupal8,看到源码里面一个抽象类BlockBase实现了一个接口BlockPluginInterface,但是并没有实现该接口的所有方法.然后我就不淡定了,因为之前是做.NET的,记忆 ...
- egg.js-基于koa2的node.js入门
一.Egg.JS 简介 Egg.JS是阿里开发的一套node.JS的框架,主要以下几个特点: Egg 的插件机制有很高的可扩展性,一个插件只做一件事,Egg 通过框架聚合这些插件,并根据自己的业务场景 ...
- 最好最实用的二次开发教程 cms
◆二次开发 什么是二次开发? 二次开发,简单的说就是在现有的软件上进行定制修改,功能的扩展,然后达到自己想要的功能和效果,一 般来说都不会改变原有系统的内核. 为什么要二次开发? 随着信息化技术的不断 ...
- 网络 OSI参考模型与TCP/IP模型
ISO是国际标准化组织.OSI,开放互联系统.IOS,思科交换机和路由器的操作系统. TCP/IP模型是OSI模型的简化.所有的互联网协议都是基于OSI模型开发的. 分层:便于管理,每层只管理下层,总 ...
- linux vim 快捷键
vim命令模式输入a i o 这些命令进入插入模式 编辑模式命令模式输入双引号进入编辑模式 命令模式命令 命令 作用 :map Ctrl+V Ctrl+P I#<ESC> 自定义注释快捷键 ...
- B/S与C/S架构、B/S架构协议
软件有三大类型 单机类型.CS类型(Outlook.QQ.大型游戏).BS类型 BS结构中的协议 在BS结构中,首先使用到DNS协议:网络传输部分使用TCP/IP参考模型,其中网络接入层没有相应协议, ...
- CentOS6.5安装vncserver实现图形化访问
一. 安装gnome图形化桌面 #yum groupinstall -y "X Window System" #yum groupinstall -y "Desktop& ...
- 读书笔记week1——涂涵越
这次读书笔记主要是就<程序员修炼之道>这本书的前半部分做一些总结以及发表一些自己的看法. 本书前面的一部分主要是一些程序员应该在工作中时刻注意的事情,一些关键的信息如下: 1.处理问题的态 ...
- LeetCode 之Find Minimum in Rotated Sorted Array
1.题目描述 2.题目分析 对该问题,要找最小元,可以从后向前遍历,只要前一个元素大于当前元素,说明当前元素就是最小元. 3.代码 int findMin(vector<int>& ...