본문 바로가기

개발

[SPRING3.0] 2.오브젝트와 의존관계

DAO(Data Access Object)
db를 사용해 데이터를 조회하거나 조작하는 기능을 전담하도록 만든 오브젝트

자바빈(JavaBean)
간단히 빈이라고 말하기도 함.
디폴트생성자와 프로퍼티(getter,setter)로 구성된 오브젝트를 말함, 간단히 빈이라고 부르기도 함



사용자관련 자바빈 생성

package chapter1.obj;

public class User {
	private String id;
	private String name;
	private String password;
	
	public String getId() {
		return id;
	}
	public void setId(String id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getPassword() {
		return password;
	}
	public void setPassword(String password) {
		this.password = password;
	}
}


사용자 정보를 입력하고 조회하는 DAO 생성하고 main을 이용한 DAO테스트

package chapter1.obj;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

public class UserDao {
	public void add(User user) throws ClassNotFoundException, SQLException {
		Class.forName("core.log.jdbc.driver.OracleDriver");
		Connection c = DriverManager.getConnection(
				"jdbc:oracle:thin:@192.168.56.101:1521:orcl", "hm", "hm");
		
		PreparedStatement ps = c.prepareStatement("insert into users(id,name,password) values(?,?,?)");
		ps.setString(1, user.getId());
		ps.setString(2, user.getName());
		ps.setString(3, user.getPassword());
		
		ps.executeUpdate();
		
		ps.close();
		c.close();
	}
	
	public User get(String id) throws ClassNotFoundException, SQLException {
		Class.forName("core.log.jdbc.driver.OracleDriver");
		Connection c = DriverManager.getConnection(
				"jdbc:oracle:thin:@192.168.56.101:1521:orcl", "hm", "hm");
		
		PreparedStatement ps = c.prepareStatement("select * from users where id = ?");
		ps.setString(1, id);
		
		ResultSet rs = ps.executeQuery();
		rs.next();
		User user = new User();
		user.setId(rs.getString("id"));
		user.setName(rs.getString("name"));
		user.setPassword(rs.getString("password"));
		
		rs.close();
		ps.close();
		c.close();
		
		return user;
	}
	
	public static void main(String[] args) throws ClassNotFoundException, SQLException {
		System.out.println("test");
		UserDao dao = new UserDao();
		
		User user = new User();
		user.setId("beans9");
		user.setName("test");
		user.setPassword("test");
		
		dao.add(user);
		
		System.out.println(user.getId() + "등록성공"); 
		
		User user2 = dao.get(user.getId());
		
		System.out.println(user2.getId());
		System.out.println(user2.getPassword());
	}
}

위의 소스를 보고 문제가 될만한 내용을 생각해보자 .. 생각해봤다면 다음장으로~

2011/11/18 - [웹개발/SPRING3.0] - [SPRING3.0] 2.오브젝트와 의존관계 .. (2)


해당 내용은 토비의 스프링3을 개인적으로 공부하기 위해 정리한 내용임.