Dao.java
package dao;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import dto.Member;
public class Dao {
// 데이터베이스 연동에 필요한 4가지 정보를 저장할 변수
private String driver;
private String url;
private String user;
private String password;
// driver는 생성자에서 넘겨받을 것입니다.
public Dao(String driver) {
super();
this.driver = driver;
}
// url, user, password는 프로퍼티로 만들어서 나중에 대입받을 수 있도록 생성
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
public void setUser(String user) {
this.user = user;
}
public void setPassword(String password) {
this.password = password;
}
// 실제 작업을 수행하는 메서드
public void task() {
Connection con = null;
// sql 문장을 수행하기 위한 인터페이스
PreparedStatement ps1 = null;
PreparedStatement ps2 = null;
// select 문장의 결과를 저장하기 위한 변수
ResultSet rs = null;
try {
Class.forName(driver);
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
try {
con = DriverManager.getConnection(url, user, password);
} catch (SQLException e) {
e.printStackTrace();
}
Member user = new Member();
user.setId("MoonRiver111");
user.setName("Jesica111");
user.setPassword("Newziland111");
try {
ps1 = con
.prepareStatement("insert into members(id, name, password) values(?,?,?)");
ps1.setString(1, user.getId());
ps1.setString(2, user.getName());
ps1.setString(3, user.getPassword());
ps1.executeUpdate();
} catch (SQLException e) {
System.out.println(e.getMessage());
}
try {
ps2 = con.prepareStatement("select * from members where id = ?");
ps2.setString(1, "MoonRiver");
rs = ps2.executeQuery();
if (rs.next()) {
Member user1 = new Member();
user1.setId(rs.getString("id"));
user1.setName(rs.getString("name"));
user1.setPassword(rs.getString("password"));
System.out.println(user1);
} else {
System.out.println("데이터가 없습니다.");
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
Main.java
package dao;
import org.springframework.context.support.GenericXmlApplicationContext;
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
GenericXmlApplicationContext context =
new GenericXmlApplicationContext("applicationContext.xml");
Dao dao = context.getBean("Dao",Dao.class);
dao.task();
}
}
Member.java
package dto;
import java.io.Serializable;
public class Member implements Serializable {
private String id;
private String name;
private String password;
//빈 객체를 생성할때
public Member() {
super();
// TODO Auto-generated constructor stub
}
public Member(String id, String name, String password) {
super();
this.id = id;
this.name = name;
this.password = password;
}
//접근자 메서드(getter, setter): 멤버 변수를 실제로 사용할 때 호출하는 메서드
//setter가 있을때는 property 또는 attribute라고 하기도 합니다.
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;
}
@Override
public String toString() {
return "Member [id=" + id + ", name=" + name + ", password=" + password
+ "]";
}
}
applicationContext.xml
oracle.jdbc.driver.OracleDriver
boxer
boxing
Haglar