package cn.itcast.jdbc;
import cn.itcast.domain.User;
import java.sql.*;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
/*
* 定义一个方法查询user表的数据,封装为对象,然后装载集合返回
* */
public class JdbcDemo8 {
public static void main(String[] args) {
List<User> list = new JdbcDemo8().findAll();
Iterator<User> iterator = list.iterator();
while(iterator.hasNext()){
User user = iterator.next();
System.out.println(user);
}
System.out.println(list.size());
}
/**
* 查询所有user对象
* @return
*/
public List<User> findAll(){
Connection conn =null;
Statement stat =null;
ResultSet res =null;
List<User> list=null;
try {
//1.注册驱动
Class.forName("com.mysql.jdbc.Driver");
//2.获取连接
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/liuqi", "root", "123456");
//3.定义sql
String sql="select * from user";
//4.获取执行sql的对象
stat = conn.createStatement();
//5.执行sql
res = stat.executeQuery(sql);
list=new ArrayList<>();
User user=null;
//6.遍历结果集
while(res.next()){
int id = res.getInt("id");
String username = res.getString("username");
String password1 = res.getString("password1");
user=new User();
user.setId(id);
user.setUsername(username);
user.setPassword1(password1);
list.add(user);
}
/* return list;*/
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}finally {
if(res!=null){
try {
res.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if(stat!=null){
try {
stat.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if(conn!=null){
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
return list;
}
}
JDBC——练习循环取数据并封装成对象放入集合练习
最新推荐文章于 2020-11-29 07:34:01 发布