关于Java对象,非静态方法创建对象调用方法获取返回值的缩写形式

今天在学习的时候,实现一个练习:定义一个方法,获取数据库表中的数据,将其封装为对象,并装在到集合里;代码如下
public class JDBCDemo3 {
    public static void main(String[] args) {
        List<eMP> list = new JDBCDemo3().findAll();
        System.out.println(list);
        JDBCDemo3 jd = new JDBCDemo3();
        List<eMP> all = jd.findAll();
    }

    public List<eMP> findAll(){
        Connection conn = null;
        Statement stat =null;
        ResultSet rs = null;
        List<eMP> list = null;
        try {
            Class.forName("com.mysql.cj.jdbc.Driver");
            conn = DriverManager.getConnection("jdbc:mysql:///eess_mybatis","root","root");
            String sql = "select * from user";
            stat = conn.createStatement();
            rs = stat.executeQuery(sql);
            eMP emp = null;
            list =new ArrayList<>();
            while (rs.next()){
                String username = rs.getString("username");
                Date birthday = rs.getDate("birthday");
                String sex = rs.getString("sex");
                String address = rs.getString("address");
                emp=new eMP();
                emp.setUsername(username);
                emp.setBirthday(birthday);
                emp.setSex(sex);
                emp.setAddress(address);
//                System.out.println(username+birthday+sex+address);
                list.add(emp);
            }
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (SQLException throwables) {
            throwables.printStackTrace();
        }finally {
            //为了避免空指针异常
            if (rs==null){
                try {
                    rs.close();
                } catch (SQLException throwables) {
                    throwables.printStackTrace();
                }
            }
            if (stat==null){
                try {
                    stat.close();
                } catch (SQLException throwables) {
                    throwables.printStackTrace();
                }
            }
            if (conn==null){
                try {
                    conn.close();
                } catch (SQLException throwables) {
                    throwables.printStackTrace();
                }
            }
        }
        return list;
    }
}
因为findAll方法是静态的需要获取对象,基本格式应该是创建类对象,然后调用类方法:

  JDBCDemo3 jd = new JDBCDemo3();
        List<eMP> all = jd.findAll();
简写后是:
 List<eMP> list = new JDBCDemo3().findAll();
这两种方式是等价的,还思考了一会以为是新的创建对象的方法。。。。。。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值