1. package jdbc.chap05;
  2. import java.sql.Connection;
  3. import java.sql.PreparedStatement;
  4. import java.sql.ResultSet;
  5. import java.util.ArrayList;
  6. import java.util.List;
  7. import jdbc.util.DbUtil;
  8. import model.Person;
  9. public class sec01 {
  10. private static DbUtil dbUtil=new DbUtil();
  11. /**
  12. * 遍历查询结果1
  13. * @throws Exception
  14. */
  15. private static void listPerson()throws Exception{
  16. Connection con=dbUtil.getCon();//获取连接
  17. String sql="select * from t_student";
  18. PreparedStatement pstmt=con.prepareStatement(sql);
  19. ResultSet rs=pstmt.executeQuery();//返回2维结果集ResultSet
  20. while (rs.next()){
  21. int id=rs.getInt(1);//获取第一个列的值 编号ID
  22. String name=rs.getString(2);//获取第二个列的值 编号 name
  23. int age=rs.getInt(3);//获取第三列的值 编号age
  24. System.out.println("学生编号:"+id+"学生姓名:"+name+"学生年龄:"+age);
  25. System.out.println("========================================================");
  26. }
  27. }
  28. /**
  29. * 遍历查询结果2
  30. * @throws Exception
  31. */
  32. private static void listPerson2()throws Exception{
  33. Connection con=dbUtil.getCon();//获取连接
  34. String sql="select * from t_student";
  35. PreparedStatement pstmt=con.prepareStatement(sql);
  36. ResultSet rs=pstmt.executeQuery();//返回2维结果集ResultSet
  37. while (rs.next()){
  38. int id=rs.getInt("id");//获取第一个列的值 编号ID
  39. String name=rs.getString("name");//获取第二个列的值 编号 name
  40. int age=rs.getInt("age");//获取第三列的值 编号age
  41. System.out.println("学生编号:"+id+"学生姓名:"+name+"学生年龄:"+age);
  42. System.out.println("========================================================");
  43. }
  44. }
  45. private static List<Person> listPerson3()throws Exception{
  46. List<Person> personlist=new ArrayList<Person>();
  47. Connection con=dbUtil.getCon();//获取连接
  48. String sql="select * from t_student";
  49. PreparedStatement pstmt=con.prepareStatement(sql);
  50. ResultSet rs=pstmt.executeQuery();//返回2维结果集ResultSet
  51. while (rs.next()){
  52. int id=rs.getInt("id");//获取第一个列的值 编号ID
  53. String personName=rs.getString("name");//获取第二个列的值 编号 name
  54. int age=rs.getInt("age");//获取第三列的值 编号age
  55. Person person=new Person(id, personName, age);
  56. personlist.add(person);
  57. }
  58. return personlist;
  59. }
  60. public static void main(String[] args) throws Exception {
  61. //      listPerson();
  62. //      listPerson2();
  63. List<Person> personList=listPerson3();
  64. for (Person person:personList){
  65. System.out.println(person.toString());
  66. }
  67. }
  68. }

关键点:重写ToString

  1. package model;
  2. /**
  3. * 个人信息
  4. * @author MC-DS
  5. *
  6. */
  7. public class Person {
  8. private int id;
  9. private String personName;
  10. private int age;
  11. public Person(int id, String personName, int age) {
  12. super();
  13. this.id = id;
  14. this.personName = personName;
  15. this.age = age;
  16. }
  17. public Person(String personName, int age) {
  18. super();
  19. this.personName = personName;
  20. this.age = age;
  21. }
  22. public int getId() {
  23. return id;
  24. }
  25. public void setId(int id) {
  26. this.id = id;
  27. }
  28. public String getPersonName() {
  29. return personName;
  30. }
  31. public void setPersonName(String personName) {
  32. this.personName = personName;
  33. }
  34. public Integer getAge() {
  35. return age;
  36. }
  37. public void setAge(int age) {
  38. this.age = age;
  39. }
  40. @Override
  41. public String toString() {
  42. // TODO Auto-generated method stub
  43. return "["+this.id+","+this.personName+","+this.age+"]";
  44. }
  45. }

写前:

  1. model.Person@27d43d30
  2. model.Person@5efd2ebd
  3. model.Person@4007ab03
  4. model.Person@376c72cc
  5. model.Person@30e4cb81
  6. model.Person@7cec9b3a
  7. model.Person@11c33ce9
  8. model.Person@28d3ee1b
  9. model.Person@71b5438d
  10. model.Person@3366184d
  11. model.Person@73c58197
  12. model.Person@2bbf1be2

写后:

 
  1. [1,ling,18]
  2. [2,李小龍,18]
  3. [6,劉德華,17]
  4. [7,古天樂,37]
  5. [8,李小龍,18]
  6. [22,李小龍,18]
  7. [222,李小龍,18]
  8. [233,李小龍,18]
  9. [656,李小龍,18]
  10. [658,李小龍,18]
  11. [659,郑伊健,37]
  12. [661,陈小春,32]

JDBC--Result 获取返回集合的更多相关文章

  1. .net 非阻塞事件获取返回异步回调结果

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  2. python执行系统命令后获取返回值的几种方式集合

    python执行系统命令后获取返回值的几种方式集合 今天小编就为大家分享一篇python执行系统命令后获取返回值的几种方式集合,具有很好的参考价值,希望对大家有所帮助.一起跟随小编过来看看吧 第一种情 ...

  3. PKG_COLLECTION_LHR 存储过程或函数返回集合类型

    存储过程或函数可以返回集合类型,方法很多,今天整理在一个包中,其它情况可照猫画虎. CREATE OR REPLACE PACKAGE PKG_COLLECTION_LHR AUTHID CURREN ...

  4. asp.net 通过ajax方式调用webmethod方法使用自定义类传参及获取返回参数

    实体类    public class User    {        public int Id { get; set; }        public string Name { get; se ...

  5. Yii2.0调用sql server存储过程并获取返回值

    1.首先展示创建sql server存储过程的语句,创建一个简单的存储过程,测试用. SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE P ...

  6. 背水一战 Windows 10 (101) - 应用间通信: 通过协议打开指定的 app 并传递数据以及获取返回数据, 将本 app 沙盒内的文件共享给其他 app 使用

    [源码下载] 背水一战 Windows 10 (101) - 应用间通信: 通过协议打开指定的 app 并传递数据以及获取返回数据, 将本 app 沙盒内的文件共享给其他 app 使用 作者:weba ...

  7. Java线程实现的第三种方式Callable方式与结合Future获取返回值

    多线程的实现方式有实现Runnable接口和继承Thread类(实际上Thread类也实现了Runnable接口),但是Runnable接口的方式有两个弊端,第一个是不能获取返回结果,第二个是不能抛出 ...

  8. php 腾讯云 对象存储V5版本 获取返回的上传文件的链接方法

    腾讯云 对象存储V5版本 文档地址:https://github.com/tencentyun/cos-php-sdk-v5 调用简单文件上传方法: 返回数据如下 Array ( [data:prot ...

  9. C#使用BeginInvoke和EndInvoke异步下载和获取返回结果

    场景:为了防止UI卡死,使用异步下载文件 问题:采用多线程下载,关闭窗口后下载线程不能停止,线程操作麻烦. 参考:C#客户端的异步操作: http://www.cnblogs.com/fish-li/ ...

随机推荐

  1. wp中的动画

    动画目标:必须是依赖属性.可以用于Double,Color,Point,Object类型.对应的动画类后面加Animation,下面代码演示旋转360°. <Button Content=&qu ...

  2. 编程精粹--编写高质量C语言代码(1):假想编译程序

    编译程序只能查找出程序的语法错误,而对于"数组越界訪问","对空指针解引用"等错误.编译程序是束手无策的.同一时候我们知道測试人员所使用的黑箱測试方法所能做的不 ...

  3. 一站式学习Wireshark(六):狙击网络高延时点

    在某些情况下,丢包可能并不是造成延时的原因.你可能会发现尽管两台主机之间通讯速度很慢,但这种慢速并没有伴随着TCP重传或是重复ACK的征兆.在这种情况下,需要使用另一种方式来定位高延时点. 查找高延时 ...

  4. 一站式学习Wireshark(七):Statistics统计工具功能详解与应用

    Wireshark一个强大的功能在于它的统计工具.使用Wireshark的时候,我们有各种类型的工具可供选择,从简单的如显示终端节点和会话到复杂的如Flow和IO图表.本文将介绍基本网络统计工具.包括 ...

  5. JSON对应的maven依赖包

    常用有三种json解析jackson.fastjson.gson. jackson依赖包 <!-- https://mvnrepository.com/artifact/com.fasterxm ...

  6. golang http.Redirect()函数容易误解的地方

    调用http.Redirect()函数后,并不会立刻进行跳转,而是继续顺序执行函数中的所有的代码后,再进行跳转.但是Redirect后面的写界面的代码不会发送到游览器前端的. 代码如下:func Ch ...

  7. Logrotate日志轮巡missingok: 在日志轮循期间,任何错误将被忽略

    Linux日志文件总管——logrotate 编译自:http://xmodulo.com/2014/09/logrotate-manage-log-files-linux.html          ...

  8. node-webkit播放目录下所有网页文件

    1.编写index.html文件 这里我们需要播放某一个目录下所有的网页文件,要做到切换不同的网页,可以在index.html中使用iframe.通过js动态改变iframe的src属性,从而动态地切 ...

  9. 虚拟IP和IP漂移

    学习一下虚拟IP和IP漂移的概念. 1.虚拟IP 在 TCP/IP 的架构下,所有想上网的电脑,不论是用何种方式连上网路,都必须要有一个唯一的 IP-address.事实上IP地址是主机硬件地址的一种 ...

  10. SQL Server 自动重建出现碎片的索引

    1.索引碎片的产生? 由于在表里大量的插入.修改.删除操作而使索引页分裂.如果索引有了高的碎片,有两种情况,一种情况是扫描索引需要花费很多的时间,另一种情况是在查询的时候索引根本不使用索引,都会导致性 ...