(5)面向对象编写JDBC

我们会用到前面的JDBCTools (连接,关闭数据库的方法)

1.在mysql里面创建一个名为student的数据库 里面有id(int) idcade(String) name(String)

在这里插入图片描述
2.在编程软件中我们创建与之相对应的student类 : 数据封装 , 构造 , toString

public class Student {
	// 与数据库里面的东西相对应
	//id的内容
	private int id;
	//身份证信息
	private String idcade;
	//名字
	private String name;
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	public String getIdcade() {
		return idcade;
	}
	public void setIdcade(String idcade) {
		this.idcade = idcade;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	
	//有参数构造器  点击  Source   Generrate Constructor using Fields
	public Student(int id, String idcade, String name) {
		super();
		this.id = id;
		this.idcade = idcade;
		this.name = name;
	}
	//无参构造器
	public Student() {}
	@Override
	public String toString() {
		return "Student [id=" + id + ", idcade=" + idcade + ", name=" + name + "]";
	}
}

<获取单个对象>

//直接传入sql语句 然后返回Student对象
private Student getStudent(String sql) {
		Connection conn = null;
		PreparedStatement ps = null;
		ResultSet rs = null;
		try {
			Student stu = null;
			//后面的代码都是固定模式
			conn = JDBCTools.getConnection();
			String sql = "select * from student where id="+id;
			ps = conn.prepareStatement(sql);
			rs = ps.executeQuery();
			if(rs.next())
			{
			
			stu = new Student(rs.getInt(1),rs.getString(2),
					rs.getString(3));
			
			}
		
			System.out.println(stu.toString());
		}catch (SQLException e)
		{
			e.printStackTrace();
		}
		finally {
			JDBCTools.release(rs, ps, conn);
		}
		return stu;
	}

<获取所有对象> 用List接收

//获得所有客户资料
	public List<Student> getStudents() throws Exception
	{
		//创建List集合
		List<Student> students= new ArrayList<Student>();
		Student stu = null;
		Connection connection = null;
		Statement statement = null;
		ResultSet resultSet = null;
		
		try {
			connection = JDBCTools.getConnection();
			statement = connection.createStatement();
			resultSet = statement.executeQuery(sql);
			
			if(resultSet.next())
			{
				stu = new Student(resultSet.getInt(1),resultSet.getString(2),
						resultSet.getString(3));
						//把Student这个对象  放入List集合中
						students.add(stu);
			}
			
		} catch (Exception e) {
		}finally
		{
			JDBCTools.release(resultSet, statement, connection);
		}
		return students;
	}

		//自己随机定义一个方法 我就不CP了
		//我们遍历数据库所有student的信息  代码部分如下
		主类类名 xx = new 主类类名();
		List<Student> ss = xx.getStudents();
		for(Student s: ss)
		{
		System.out.println(s.toString());	
		}

猜你喜欢

转载自blog.csdn.net/Yuz_99/article/details/84314503