本文共 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(); //创建集合对象 Listlist = 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/