package dao;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
import domain.Person;
import util.JDBCUtil;
/**
* 测试表的dao类
* @author ASUS
*
*/
public class PersonDao {
/**
* insert
*/
public void insert(Person p) {
Connection conn=null;
Statement st=null;
try {
conn=JDBCUtil.openConnection();
//创建st对象
st=conn.createStatement();
String sql="insert persons(name,age) values('"+p.getName()+"',"+p.getAge()+")";
st.execute(sql);
}catch(Exception e) {
e.printStackTrace();
}
finally {
JDBCUtil.closeStatement(st);
JDBCUtil.closeConnection(conn);
}
}
/**
* update
*/
public void update(Person p) {
Connection conn=null;
Statement st=null;
try {
conn=JDBCUtil.openConnection();
//创建st对象
st=conn.createStatement();
String sql="update persons set name='"+p.getName()+"',age="+p.getAge()+" where id="+p.getId();
st.execute(sql);
}catch(Exception e) {
e.printStackTrace();
}
finally {
JDBCUtil.closeStatement(st);
JDBCUtil.closeConnection(conn);
}
}
/**
* delete
*/
public void insertById(Integer id) {
Connection conn=null;
Statement st=null;
try {
conn=JDBCUtil.openConnection();
//创建st对象
st=conn.createStatement();
String sql="delete from persons where id = "+id;
st.execute(sql);
}catch(Exception e) {
e.printStackTrace();
}
finally {
JDBCUtil.closeStatement(st);
JDBCUtil.closeConnection(conn);
}
}
/**
* select
*/
public Person findById(Integer id) {
Connection conn=null;
Statement st=null;
ResultSet rs=null;
try {
conn=JDBCUtil.openConnection();
//创建st对象
st=conn.createStatement();
String sql="select * from persons where id = "+id;
rs=st.executeQuery(sql);
if(rs.next()) {
Person p = new Person();
p.setId(rs.getInt("id"));
p.setName(rs.getString("name"));
p.setAge(rs.getInt("age"));
return p;
}
}catch(Exception e) {
e.printStackTrace();
}
finally {
JDBCUtil.closeResultSet(rs);
JDBCUtil.closeStatement(st);
JDBCUtil.closeConnection(conn);
}
return null;
}
/**
* select
*/
public List<Person> findAll() {
Connection conn=null;
Statement st=null;
ResultSet rs=null;
try {
conn=JDBCUtil.openConnection();
//创建st对象
st=conn.createStatement();
String sql="select * from persons";
rs=st.executeQuery(sql);
List<Person> persons=new ArrayList<Person>();
Person p = null;
while(rs.next()) {
p = new Person();
p.setId(rs.getInt("id"));
p.setName(rs.getString("name"));
p.setAge(rs.getInt("age"));
persons.add(p);
}
return persons;
}catch(Exception e) {
e.printStackTrace();
}
finally {
JDBCUtil.closeResultSet(rs);
JDBCUtil.closeStatement(st);
JDBCUtil.closeConnection(conn);
}
return null;
}
}