DAO 데이터 액세스 객체, 구축
29986 단어 JDBCDAO데이터베이스 연결 풀
DAO 계층 구축
1. : 。( )
2. (JavaBean): 。 , :domain、vo、ao
:
(1) 。
(2) 。
(3) getter/setter 。
(4) 。
3. DAO :IXXXDAO.class
:DAO 。
:queryAll(),queryById(int id),insert(User u),update(int id),delete(int id)
4. DAO :IXXXDAOImpl.class
DAO 。
5. DAO
케이스
package com.dragon.usermanager.domain;
import java.io.Serializable;
public class User implements Serializable{
private static final long serialVersionUID = 1L;
private int uid;//
private String uname;
private String upad;
private int uage;
private String usex;
public int getUid() {
return uid;
}
public void setUid(int uid) {
this.uid = uid;
}
public String getUname() {
return uname;
}
public void setUname(String uname) {
this.uname = uname;
}
public String getUpad() {
return upad;
}
public void setUpad(String upad) {
this.upad = upad;
}
public int getUage() {
return uage;
}
public void setUage(int uage) {
this.uage = uage;
}
public String getUsex() {
return usex;
}
public void setUsex(String usex) {
this.usex = usex;
}
}
package com.dragon.usermanager.dao;
import java.util.List;
import com.dragon.usermanager.domain.User;
public interface IUserDao {
public List<User> queryAll();//
public boolean insert(User u);
public void delete(int uid);
}
package com.dragon.usermanager.daoimpl;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
import com.dragon.usermanager.dao.IUserDao;
import com.dragon.usermanager.domain.User;
import jdbc.DBUtil;
/**
* @author Dragon
*
*/
public class IUserDaoImpl implements IUserDao{
@Override
public List<User> queryAll() {
List<User> userlist = new ArrayList<User>();
try {
Connection conn =DBUtil.getConnection();//
Statement st=conn.createStatement(); //
String sql ="select * from user"; // SQL
ResultSet rs =st.executeQuery(sql); // ,
while(rs.next()){
User u = new User();
u.setUid(rs.getInt("uid"));
u.setUname(rs.getString("uname"));
u.setUpad(rs.getString("upwd"));
u.setUage(rs.getInt("uage"));
u.setUsex(rs.getString("usex"));
userlist.add(u);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return userlist;
}
@Override
public boolean insert(User u) {
boolean b = false;
try {
Connection conn = DBUtil.getConnection();//
Statement st = conn.createStatement();//
String sql = "insert into user values (null,'"+u.getUname()+"','"+u.getUpad()+"',"+u.getUage()+",'"+u.getUsex()+"')";
System.out.println(sql);
b = st.execute(sql);
} catch (SQLException e) {
e.printStackTrace();
}
return b;
}
@Override
public void delete(int uid) {
try {
Connection conn = DBUtil.getConnection();
Statement st = conn.createStatement();
String sql="delete from user where uname='zhangsan'";
int i = st.executeUpdate(sql);
System.out.println(i);
} catch (SQLException e) {
e.printStackTrace();
}
}
}
package com.dragon.usermanager.test;
import java.util.List;
import com.dragon.usermanager.dao.IUserDao;
import com.dragon.usermanager.daoimpl.IUserDaoImpl;
import com.dragon.usermanager.domain.User;
public class Test {
public static void main(String[] args) {
User u =new User();
u.setUname("zhaoliu");
u.setUpad("1212345");
u.setUage(15);
u.setUsex("t");
IUserDao userdao =new IUserDaoImpl();
userdao.insert(u); //
List<User> user1 = userdao.queryAll();
for (int i = 0; i < user1.size(); i++) {
System.out.println(user1.get(i).getUname());
}
userdao.delete(3); //
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
데이터 시각화 도구 FineReport와 AWS RedShift 연결(JDBC 방법)Amazon Redshift는 클라우드의 완전 관리형, 페타바이트 규모 데이터 웨어하우스 서비스입니다. 수백 기가바이트의 데이터로 시작하여 페타바이트 이상까지 확장할 수 있습니다. 이렇게 하면 고객의 비즈니스와 고객...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.