JDBC基础-将数据库数据遍历到List集合中

3 篇文章 0 订阅

这里用到了自己写的JDBC工具类使用了配置文件

配置文件:pro.properties
配置文件必须和你的class文件放在一起才能链接数据库

DriverPath=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/mydatabase
username=root
password=123

JDBCUtils类:

import java.io.FileReader;
import java.sql.Connection;
import java.sql.DriverManager;
import java.util.Properties;

/**
 * JDBC工具类
 * Created by Aongi on 2017/5/1.
 * Version 1.0
 */
public class JDBCUtils {
    public JDBCUtils(){}
    private static Connection CON;
    static{
        FileReader reader;
        try {
            String a=JDBCUtils.class.getResource("pro.properties").toString().substring(6);
            reader = new FileReader(a);
            //下面也是一种拿到文件路径的方式
            //InputStream reader=JDBCUtils.class.getClassLoader().getResourceAsStream("pro.properties");
            Properties pro = new Properties();
            pro.load(reader);
            reader.close();
            Class.forName(pro.getProperty("DriverPath"));
            CON= DriverManager.getConnection(pro.getProperty("url"),pro.getProperty("username"),pro.getProperty("password"));
        } catch (Exception e) {
            throw new RuntimeException("连接数据库失败!");
        }
    }
    /*
     *链接数据库操作,返回Connection对象
     */
    public static Connection getConnection(){
        return CON;
    }
}

Students 类

/**
 * Created by Aongi on 2017/5/2.
 * Version 1.0
 */
public class Students {
    private Integer uid;
    private String uname;
    private String uaddress;
    private Integer age;

    public Students(Integer uid, String uname, String uaddress, Integer age) {
        this.uid = uid;
        this.uname = uname;
        this.uaddress = uaddress;
        this.age = age;
    }
    public Students(){}

    public Integer getUid() {
        return uid;
    }

    public void setUid(Integer uid) {
        this.uid = uid;
    }

    public String getUname() {
        return uname;
    }

    public void setUname(String uname) {
        this.uname = uname;
    }

    public String getUaddress() {
        return uaddress;
    }

    public void setUaddress(String uaddress) {
        this.uaddress = uaddress;
    }

    public Integer getAge() {
        return age;
    }

    public void setAge(Integer age) {
        this.age = age;
    }

    @Override
    public String toString() {
        return "Students{" +
                "uid=" + uid +
                ", uname='" + uname + '\'' +
                ", uaddress='" + uaddress + '\'' +
                ", age=" + age +
                '}';
    }
}

JDBCdemo 类

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;

/**
 * Created by Aongi on 2017/5/1.
 * Version 1.0
 */
public class JDBCdemo {
    //main方法
    public static void main(String[] args)throws Exception{
        Connection con = JDBCUtils.getConnection();
        String sql="SELECT * FROM users;";
        PreparedStatement pst=con.prepareStatement(sql);
        ResultSet rs= pst.executeQuery();
        List<Students> list = new ArrayList<Students>();
        while (rs.next()){
            list.add(new Students(rs.getInt("uid"),rs.getString("uname"),rs.getString("uaddress"),rs.getInt("age")));
        }
        rs.close();
        pst.close();
        con.close();
        for (Students s : list){
            System.out.println(s);
        }
    }

}
  • 4
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值