【Java】データベースにデータを保存する
MySQLにデータを保存する方法を勉強したのでアウトプットします。
DataSourceでデーターベースに接続し、INSERT文で入力した値をデータベースに保存していきます。
◆ファイル一覧◆
データベースにデータを保存する(サンプル)
input.jsp
登録画面です。
<%@ page language="java" contentType="text/html; charset=SJIS" pageEncoding="SJIS"%> <!DOCTYPE html> <html> <head> <meta charset="SJIS"> <title>登録</title> </head> <body> <p>登録画面</p> <form action="/User/UserServlet" method="post"> <p>名前<input type="text" name="name" size="10"></p> <p>年齢<input type="number" name="age" size="10"> <p>性別<input type="text" name="gender" size="10"> <p>住所<input type="text" name="address" size="10"> <p><input type="submit" value ="送信"></p> </form> </body> </html>
UserServlet.java
サーブレットクラスです。
package model; import java.io.IOException; import java.sql.SQLException; import javax.naming.NamingException; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @WebServlet("/UserServlet") public class UserManageServlet extends HttpServlet { private static final long serialVersionUID = 1L; protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { exec(request, response); } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { exec(request, response); } public void exec(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("SJIS"); String name = request.getParameter("name"); String age = request.getParameter("age"); String gender = request.getParameter("gender"); String address = request.getParameter("address"); UserDAO userDao = new UserDAO(); userDao.regist(name, age, gender, address); } }
UserDAO.java
DAOクラスです。
package model; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.SQLException; import javax.naming.InitialContext; import javax.naming.NamingException; import javax.sql.DataSource; public class UserDAO { public void regist(String name, String age, String gender,String address) throws SQLException, NamingException { InitialContext context = new InitialContext(); DataSource datasource = (DataSource) context.lookup("java:comp/env/jdbc/mydb"); Connection connection = datasource.getConnection(); String sql = "INSERT INTO userdbtb(NAME, AGE, GENDER, ADDRESS)" + "VALUES (?, ?, ?, ?)"; PreparedStatement prepared = connection.prepareStatement(sql); prepared.setInt(1, name); prepared.setString(2, age); prepared.setString(3, gender); prepared.setString(4, address); prepared.executeUpdate(); connection.close(); } }
実行結果
データを保存することができました!
↓オススメの書籍↓
リンク