오늘 배운 것
ToDo userbean 만들기
package todoApp.model;
public class User {
private String firstName;
private String lastName;
private String userName;
private String password;
public User() {}
public User(String firstName, String lastName, String userName, String password) {
super();
this.firstName = firstName;
this.lastName = lastName;
this.userName = userName;
this.password = password;
}
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
DB연결 Class 생성
package todoApp.utils;
import java.sql.Connection;
import java.sql.Date;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.time.LocalDate;
public class JDBCUtils {
private static String jdbcURL = "jdbc:mysql://localhost:3306/demo?useSSL=false";
private static String jdbcUsername = "root";
private static String jdbcPassword = "1234";
public static Connection getConnection() {
Connection conn = null;
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection(jdbcURL, jdbcUsername, jdbcPassword);
} catch (ClassNotFoundException e) {
System.out.println("Driver class not found!");
} catch (SQLException e) {
System.out.println("SQL ERROR!");
}
return conn;
}
public static Date getSQLDate(LocalDate date) {
return java.sql.Date.valueOf(date);
}
public static LocalDate getUtilDate(Date sqlDate) {
return sqlDate.toLocalDate();
}
}
입력받은 데이터로 new User 객체를 생성
package todoApp.controller;
import java.io.IOException;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import todoApp.dao.UserDao;
import todoApp.model.User;
@WebServlet("/register")
public class UserController extends HttpServlet {
private static final long serialVersionUID = 1L;
private UserDao userDao;
@Override
public void init() throws ServletException {
userDao = new UserDao();
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("UTF-8");
String firstName = request.getParameter("firstName");
String lastName = request.getParameter("lastName");
String userName = request.getParameter("userName");
String password = request.getParameter("password");
User user = new User(firstName, lastName, userName, password);
생성한 user 객체로 DB에 입력하기
package todoApp.dao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import todoApp.model.User;
import todoApp.utils.JDBCUtils;
public class UserDao {
public int registerUSer(User user) {
String INSERT_USER_SQL = "INSERT INTO users(firstName, lastName, userName, password) "
+ "VALUES (?, ?, ?, ?)";
int result = 0;
try {
Connection conn = JDBCUtils.getConnection();
PreparedStatement pstmt = conn.prepareStatement(INSERT_USER_SQL);
pstmt.setString(1, user.getFirstName());
pstmt.setString(2, user.getLastName());
pstmt.setString(3, user.getUserName());
pstmt.setString(4, user.getPassword());
result = pstmt.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}
return result;
}
}