博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JDBC(六)——JDBC读取数据表,将数据存入对象中,并将对象存储到集合中
阅读量:3916 次
发布时间:2019-05-23

本文共 3070 字,大约阅读时间需要 10 分钟。

【问题】

JDBC读取Product数据表,将数据存入Product对象中,并将对象存储到集合中

【代码】

JDBC工具类

package cn.itcast.jdbcutil;/* *  实现JDBC的工具类 *  定义方法,直接返回数据库的连接对象 *   *  写关闭方法 */import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;public class JDBCUtils {	private JDBCUtils(){}	private static Connection con ;		static{		try{			Class.forName("com.mysql.jdbc.Driver");			String url = "jdbc:mysql://localhost:3306/day07";			String username = "root";			String password = "root";			con = DriverManager.getConnection(url, username, password);		}catch(Exception ex){			throw new RuntimeException(ex+"数据库连接失败");		}	}		/*	 * 定义静态方法,返回数据库的连接对象	 */	public static Connection getConnection(){		return con;	}			public static void close(Connection con,Statement stat){		 		 if(stat!=null){			 try{				 stat.close();			 }catch(SQLException ex){}		 }		 		 if(con!=null){			 try{				 con.close();			 }catch(SQLException ex){}		 }		 	}			public static void close(Connection con,Statement stat , ResultSet rs){		 if(rs!=null){			 try{				 rs.close();			 }catch(SQLException ex){}		 }		 		 if(stat!=null){			 try{				 stat.close();			 }catch(SQLException ex){}		 }		 		 if(con!=null){			 try{				 con.close();			 }catch(SQLException ex){}		 }		 	}}

Product对象

package it.cast.domain;public class Product {	private int pid;	private String pname;	private double price;	private int cno;		public Product() {}		public Product(int pid, String pname, double price, int cno) {		super();		this.pid = pid;		this.pname = pname;		this.price = price;		this.cno = cno;	}	public int getPid() {		return pid;	}	public void setPid(int pid) {		this.pid = pid;	}	public String getPname() {		return pname;	}	public void setPname(String pname) {		this.pname = pname;	}	public double getPrice() {		return price;	}	public void setPrice(double price) {		this.price = price;	}	public int getCno() {		return cno;	}	public void setCno(int cno) {		this.cno = cno;	}	@Override	public String toString() {		return "Product [pid=" + pid + ", pname=" + pname + ", price=" + price + ", cno=" + cno + "]";	}			}

执行代码

package cn.itcast.demo;import java.sql.Connection;import java.sql.ResultSet;import java.util.ArrayList;import java.util.List;import com.mysql.jdbc.PreparedStatement;import cn.itcast.jdbcutil.JDBCUtils;import it.cast.domain.Product;public class JDBCDemo {	public static void main(String[] args) throws Exception {		//获取数据库连接对象		Connection con = JDBCUtils.getConnection();		//获取sql执行语句		String sql = "SELECT * FROM product;";		//获取sql语句执行者对象		PreparedStatement pst = (PreparedStatement) con.prepareStatement(sql);		//调用查询方法获得结果集		ResultSet rs = pst.executeQuery();		//创建集合对象		List
list = new ArrayList
(); while (rs.next()) { //获取每个列的数据,封装到Product对象中 Product product = new Product(rs.getInt("pid"),rs.getString("pname"),rs.getDouble("price"),rs.getInt("cno")); //把封装好的Product对象存储到list中 list.add(product); } //遍历list集合 for (Product product:list) { System.out.println(product); } JDBCUtils.close(con, pst, rs); }}

【结果截图】

转载地址:http://dnirn.baihongyu.com/

你可能感兴趣的文章
BeetleX之Websocket服务使用
查看>>
【源码】常用的人脸识别数据库以及上篇性别识别源码
查看>>
深入探究ASP.NET Core Startup的初始化
查看>>
跟我一起学Redis之Redis配置文件啃了一遍之后,从尴尬变得有底气了(总结了一张思维图)...
查看>>
一路踩坑,被迫聊聊 C# 代码调试技巧和远程调试
查看>>
IdentityServer4系列 | 资源密码凭证模式
查看>>
TIOBE 11 月榜单:Python 挤掉 Java,Java的下跌趋势确立了?
查看>>
C#实现观察者模式
查看>>
使用Azure静态Web应用部署Blazor Webassembly应用
查看>>
Win10 Terminal + WSL 2 安装配置指南,精致开发体验
查看>>
Xamarin 从零开始部署 iOS 上的 Walterlv.CloudKeyboard 应用
查看>>
【招聘(西安)】深圳市中兴云服务有限公司.NET工程师
查看>>
注意.NET Core进行请求转发问题
查看>>
别“躺”着了,赶紧把「复盘」做起来
查看>>
真正拖垮你的,是沉没成本
查看>>
Docker:恢复对开源项目的无限制访问
查看>>
Blazor 准备好为企业服务了吗?
查看>>
.NET5全面拥抱Azure云,微软市值重回巅峰,那些年吹过的牛,都实现了!
查看>>
C# 中的 ref 已经被放开,或许你已经不认识了
查看>>
C#刷剑指Offer | 【常考题】最小的k个数
查看>>