토비의 스프링3이란 책을 보고 공부하는 중..^^;

우선 처음부터 리팩토링에 대해서 간략하게 얘기하는데 좋은 내용이다..

그래서 한번 따라해봄.^^

우선 DB 커넥션 클래스 준비

user.java 파일안

package springbook.user.domain;

public class User {
String id;
String name;
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;
}
}

2. UserDao.java 파일
package springbook.user.dao;

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

import springbook.user.domain.User;

public class UserDao {

public UserDao(){
//초기화 ID 및 PASSWORD
}
public void add(User user) throws ClassNotFoundException,SQLException{
Class.forName("org.gjt.mm.mysql.Driver");
Connection c = DriverManager.getConnection("jdbc:mysql://localhost/springbook","root","1234");
String sql = "insert into users(id,name,password) values(?,?,?)";
PreparedStatement ps = c.prepareStatement(sql);
ps.setString(1, user.getId());
ps.setString(2,user.getName());
ps.setString(3,user.getPassword());
ps.execute();
ps.close();
c.close();
}
public User get(String id) throws ClassNotFoundException,SQLException{
Class.forName("org.gjt.mm.mysql.Driver");
Connection c = DriverManager.getConnection("jdbc:mysql://localhost/springbook","root","1234");
String sql = "select * from users where id = ?";
   PreparedStatement ps = c.prepareStatement(sql);
   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{
UserDao dao = new UserDao();
/*
User user = new User();
user.setId("admin");
user.setName("tommmy");
user.setPassword("1234");
dao.add(user);
*/
User user2= dao.get("admin");
System.out.println(user2.getId()+","+user2.getName()+","+user2.getPassword());
}
}

테스트를 위해 메인하나 정의한 후 테스트완료함^^

그럼 이걸 가지고 하나씩 하나씩 리팩토링해보장..^^ 다 뭐를 위해? 스프링을 위해^^;;

+ Recent posts