未做细节处理和异常处理。
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;
import com.yps.bean.User;
import com.yps.dao.UserDao;
import com.yps.util.JdbcUtil;
public class UserDaoImpl implements UserDao {
@Override
public void addUser( User user) {
PreparedStatement state=null;
Connection conn=null;
ResultSet rs=null;
try {
conn=JdbcUtil.getConnection();
String sql=" INSERT INTO user VALUES(?,?,?,?.?) ";
state=conn.prepareStatement(sql);
state.setString(1, user.getId());
state.setString(2, user.getUsername());
state.setString(3, user.getPassword());
state.setString(4, user.getEmail());
state.setDate(5,new java.sql.Date(user.getBirthday().getTime()));
state.executeUpdate();
} catch (Exception e) {
throw new RuntimeException(e);
}finally{
JdbcUtil.release(rs, state, conn);
}
}
@Override
public void deleteUser(String id) throws Exception {
PreparedStatement state=null;
Connection conn=null;
ResultSet rs=null;
try {
conn=JdbcUtil.getConnection();
String sql=" DELETE FROM user WHERE id=? ";
state=conn.prepareStatement(sql);
state.setString(1, id);
state.executeUpdate();
} catch (Exception e) {
throw new RuntimeException(e);
}finally{
JdbcUtil.release(rs, state, conn);
}
}
@Override
public User findUserById(String id) {
User s=null;
PreparedStatement state=null;
Connection conn=null;
ResultSet rs=null;
try {
conn=JdbcUtil.getConnection();
String sql="SELECT username FROM user WHERE id=? ";
state=conn.prepareStatement(sql);
state.setString(1, id);
rs=state.executeQuery();
while(rs.next()){
s= new User();
s.setId(rs.getString("id"));
s.setUsername(rs.getString("username"));
s.setPassword(rs.getString("password"));
s.setEmail(rs.getString("email"));
s.setBirthday(rs.getDate("birthday"));
}
} catch (Exception e) {
throw new RuntimeException(e);
}finally{
JdbcUtil.release(rs, state, conn);
}
return s;
}
@Override
public void updateUser(User user) throws Exception {
PreparedStatement state=null;
Connection conn=null;
ResultSet rs=null;
try {
conn=JdbcUtil.getConnection();
String sql=" UPDATE user SET username=?, password=?,email=?,birthday=? WHERE id=?";
state=conn.prepareStatement(sql);
state.setString(1, user.getUsername());
state.setString(2, user.getPassword());
state.setString(3, user.getEmail());
state.setDate(4,new java.sql.Date(user.getBirthday().getTime()));
state.setString(5, user.getId());
state.executeUpdate();
} catch (Exception e) {
throw new RuntimeException(e);
}finally{
JdbcUtil.release(rs, state, conn);
}
}
@Override
public List<User> findUsers() {
List<User> list=new ArrayList<User>();
PreparedStatement state=null;
Connection conn=null;
ResultSet rs=null;
try {
conn=JdbcUtil.getConnection();
String sql="SELECT * FROM user";
state=conn.prepareStatement(sql);
rs=state.executeQuery();
while(rs.next()){
User user=new User();
user.setId(rs.getString("id"));
user.setUsername(rs.getString("username"));
user.setPassword(rs.getString("password"));
user.setEmail(rs.getString("email"));
user.setBirthday(rs.getDate("birthday"));
list.add(user);
}
} catch (Exception e) {
throw new RuntimeException(e);
}finally{
JdbcUtil.release(rs, state, conn);
}
return list;
}
}