JDBC数据对象存储

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

 1 package day31;
 2 
 3 import java.sql.Connection;
 4 import java.sql.PreparedStatement;
 5 import java.sql.ResultSet;
 6 import java.sql.SQLException;
 7 import java.util.ArrayList;
 8 
 9 public class java_obj {
10     public  static void main(String[] args)throws SQLException{
11         Connection  con=jdbcutils.getCon();
12         PreparedStatement pst=con.prepareStatement("select * from system_user");
13         ResultSet res=pst.executeQuery();
14         /*
15         将查询的结果用泛型数组储存。
16          */
17         ArrayList<System_user> sys_list=new ArrayList<>();
18         while (res.next()){
19             System_user sys_u=new System_user(res.getString("username"),res.getString("password"));
20             sys_list.add(sys_u);
21         }
22         System.out.print(sys_list);
23         jdbcutils.cls_re(con,pst,res);
24     }
25 }
26 
27 
28 class System_user{
29     private  String user;
30     private  String pwd;
31     public  System_user(String user, String pwd){
32         this.user=user;
33         this.pwd=pwd;
34     }
35 
36     @Override
37     public String toString() {
38         return  this.user+" "+this.pwd;
39     }
40 }

 工具类:

 1 package day31;
 2 
 3 import java.sql.*;
 4 
 5 public class jdbcutils {
 6     /*
 7     创建jdbc工具类。
 8     1:方便别人调用
 9     2:避免代码重复。
10      */
11     private jdbcutils(){}//工具类不需要实例化,所以方法进行私有化。
12     private static Connection con;//需要静态变量
13 
14     /*
15     静态代码块在加载类的时候就执行该部分的代码。
16      */
17     static {
18         try{
19             Class.forName("com.mysql.jdbc.Driver");
20             String url="jdbc:mysql://192.168.147.146:3306/homework_day13";
21             String  username="test";
22             String  password="123456";
23             con= DriverManager.getConnection(url,username,password);
24         }catch (Exception ex){
25             throw  new RuntimeException(ex+"数据库连接失败!");//如果出现异常的话  需要种子程序 所以要抛出异常。需要创建运行异常的错误。
26         }
27     }
28 
29     public  static Connection  getCon(){
30         return  con;
31     }
32     /*
33     关闭资源。
34     通过方法的重载来判断用户执行的是查询和更新操作。
35      */
36     public  static   void  cls_re (Connection con, Statement pst, ResultSet rs)throws SQLException{
37         /*
38         注意:这里需要判断需要关闭的对象是否存在以及该对象如果抛出异常不能影响下面的关闭。
39         这里是Statement  是prepareStament的父类。
40          */
41         if(con!=null){
42             try {
43                 con.close();
44             }catch (Exception ex){}
45             }
46             if(pst!=null){
47             try {
48                 pst.close();
49             }catch (Exception ex){}
50             }
51             if(rs!=null){
52             try {
53                 rs.close();
54             }catch (Exception ex){}
55             }
56 
57     }
58     public static  void  cls_re(Connection con,Statement pst){
59         if(pst!=null){
60             try {
61                 pst.close();
62             }catch (Exception ex){}
63         }
64         if(pst!=null){
65             try {
66                 pst.close();
67             }catch (Exception ex){}
68         }
69     }
70 }

 

转载于:https://www.cnblogs.com/evilliu/p/8462627.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/453435.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

个人工作13年的一些人生真实领悟

此文不定期的更新&#xff0c;想起来就写一些&#xff0c;我都忘了我曾经会过什么了。你可能会在许多的文章里看到类似的&#xff0c;但这些是我个人的真实体会。 1 技术服从于业务 此问题以前的一个文章提过&#xff0c;不再多说。 适用于大多数对技术的盲目崇拜者。在绝大…

matlab非齐次方程组的通解,用matlab求非齐次线性方程组的通解?

先向大家介绍一下非齐次线性方程组。所谓非齐次线性方程组就是方程组等号右边的常数项不全为零的线性方程组。全部等于零时&#xff0c;就称为齐次线性方程组。下面我们就讲解一下如何利用matlab快速求非齐次线性方程组的通解。工具/材料matlab电脑操作方法01线性方程组Axb的求…

Linux 终端仿真程序Putty

PuTTY是一个Telnet、SSH、rlogin、纯TCP以及串行接口连接软件。较早的版本仅支持Windows平台&#xff0c;现在的版本中开始支持各类Unix平台。 用linux作为桌面系统&#xff0c;身为工程师很多时候需要通过Telnet、SSH协议进行远程管理&#xff0c;通过串口进行设备配置。Putty…

Mysql 数据库水平分表 存储过程

数据库存储量达到一定程度的时候&#xff0c;就需要进行分表以减轻检索的消耗。 常用的分表方式包括水平和垂直分表。本次进行的是按照uid进行水平分表。 ##分表思路&#xff1a; 水平分表平均的将数据按照特定方式分配到多个表中。理论上每个表的访问频次和数据量都是同一水平…

中国架构师,名符其实有多少?

先说一下读后感&#xff1a;我前段时间去过几个公司面试架构师&#xff0c;要求还是蛮高的&#xff0c;要熟悉大数据量处理&#xff0c;要熟悉高并发&#xff0c;要熟悉XX体系架构&#xff0c;要能在关键技术上实现突破。总之&#xff0c;架构错了&#xff0c;就啥都错了。呵呵…

粗识静态链表

为了弥补链表在内存分配上的不足&#xff0c;出现了静态链表这么一个折中的办法。静态链表比较类似于内存池&#xff0c;它会预先分配一个足够长的数组&#xff0c;之后链表节点都会保存在这个数组里&#xff0c;这样就不需要频繁的进行内存分配了。 当然&#xff0c;这个方法的…

php用date语句获取时间,关于php date()函数获取时间的设置和使用方法

date()函数是PHP自带的时间函数&#xff0c;可以获取当前服务器的时间echo date(Y-m-d H:i:s); //输出:2020-05-18 11:02:35date()函数中可以使用的字母含义&#xff1a;a-"am"(上午)或者"pm"(下午)A-"AM"或者"PM"Y-年&#xff0c;显示…

Django_form补充

问题1: 注册页面输入为空&#xff0c;报错&#xff1a;keyError&#xff1a;找不到passworddef clean(self): print("---",self.cleaned_data) # if self.cleaned_data["password"]self.cleaned_data["repeat_password"]: …

WF4.0:NativeActivity中的错误处理

备注&#xff1a;这篇文章的使用环境是.NET framework 4.0 RC 1 在WF4中创建native活动时&#xff0c;NativeActivity是非常强大的。其众多的功能之一是围绕错误处理。 调度子活动的时的基本错误处理。 当NativeActivity执行的时候&#xff0c;它是通过一个NativeActivityConte…

程序员提高建议之踏踏实实“扎马步”

踏踏实实“扎马步” 今天无意中看了“校长”的“程序员&司机”&#xff0c;其中谈到了关于程序员速成的问题。其实速成班毕业的“系统杀手”早已在遍布大江南北&#xff0c;只是在互联网时代&#xff0c;互联网的应用型软件生命周期越来越短&#xff0c;业务驱动主导…

c语言scanf返回值

1. scanf 函数是有返回值的&#xff0c;它的返回值可以分成三种情况1) 正整数&#xff0c;表示正确输入参数的个数。例如执行 scanf("%d %d", &a, &b);如果用户输入"3 4"&#xff0c;可以正确输入&#xff0c;返回2&#xff08;正确输入了两个变量…

gpgga格式读取MATLAB,GPS编码格式及读取.doc

GPS接收机只要处于工作状态就会源源不断地把接收并计算出的GPS导航定位信息通过串口传送到计算机中。前面的代码只负责从串口接收数据并将其放置于缓存&#xff0c;在没有进一步处理之前缓存中是一长串字节流&#xff0c;这些信息在没有经过分类提取之前是无法加以利用的。因此…

Cadence 电源完整性仿真实践(二)

转载于:http://blog.csdn.net/wu20093346/article/details/38050917 通过以上步骤对每个平面进行了单节点分析并观测了响应曲线&#xff0c;接下来将观测平面对的目标阻抗是否满足要求&#xff0c;通过选择电容器的方法来减小含有电容器阻抗响应曲线中的反谐振波峰。在SigWave窗…

Johnson 全源最短路径算法

解决单源最短路径问题&#xff08;Single Source Shortest Paths Problem&#xff09;的算法包括&#xff1a; Dijkstra 单源最短路径算法&#xff1a;时间复杂度为 O(E VlogV)&#xff0c;要求权值非负&#xff1b; Bellman-Ford 单源最短路径算法&#xff1a;时间复杂度为 O…

单循环链表中设置尾指针比设置头指针更好的原因

尾指针是指向终端结点的指针&#xff0c;用它来表示单循环链表可以使得查找链表的开始结点和终端结点都很方便。 设一带头结点的单循环链表&#xff0c;其尾指针为rear&#xff0c;则开始结点和终端结点的位置分别是rear->next->next和rear,查找时间都是O(1)。 若用头指…

为何大部分人成不了技术专家?

此文为我在CSDN的新的SNS里看到的&#xff0c;感触很深&#xff0c;和大家分享一下.里面的许多人的观点都让我受益匪浅。 如果你是项目经理&#xff0c;产品经理或者架构师&#xff0c;我真诚邀请你加入 如果你还是学生或者还是初学者&#xff0c;我建议你先等等&#xff0c;…

Machine Learning 学习笔记1 - 基本概念以及各分类

What is machine learning? 并没有广泛认可的定义来准确定义机器学习。以下定义均为译文&#xff0c;若以后有时间&#xff0c;将补充原英文...... 定义1、来自Arthur Samuel&#xff08;上世纪50年代、西洋棋程序&#xff09; 在进行特定编程的情况下给予计算机学习能力的领域…

值传递与地址传递

值传递与地址传递的区别&#xff1a;两者其实传递的都是一个内存单元的内容。不同的是&#xff0c;值传递传递的内容是一个变量的值&#xff0c;得到这个值后&#xff0c;对这个值的修改不能改变原变量的值&#xff1b;而地址传递传递的是一个变量的地址&#xff0c;得到传递的…

蒙特 卡罗方法matlab,蒙特·卡罗方法中的数学之美,你一定不想错过

原标题&#xff1a;蒙特卡罗方法中的数学之美&#xff0c;你一定不想错过有方教育——我们致力于为中学生提供学界和业界前沿的学术科研教育内容&#xff0c;帮助学生参加海外科研项目&#xff0c;在提升申请竞争力的同时&#xff0c;获得领跑优势。一、概述蒙特卡罗方法(Monte…

【 CDN 最佳实践】CDN 命中率优化思路

CDN 在静态资源的加速场景中是将静态资源缓存在距离客户端较近的CDN 节点上&#xff0c;然后客户端访问该资源即可通过较短的链路直接从缓存中获取资源&#xff0c;而避免再通过较长的链路回源获取静态资源。因此 CDN的缓存命中率的高低直接影响客户体验&#xff0c;而保证较高…