演習課題「jobsテーブルにデータを追加する」
右の環境には、ServletでMySQLからjobsテーブルのデータを表示するプログラムが作成してあります。追加で、以下のデータをjobsテーブルに追加するプログラムを作成してください。クラス名は「ExecuteSqlServlet」とします。
カラム名
- jobName, vitality, strength, agility, intelligence, luck
追加データ
- '忍者',3,3,8,5,7
採点して、すべてのジャッジに正解すれば、演習課題クリアです!
#05:データを追加してみよう
ここでは、データベースにデータを追加する方法を学んでいきます。この機能を使うことで、RPGのプレイヤーに新しいメンバーを追加できます。
(tomcat/webapps/mydatabase/ExecuteSqlServlet.java)// JDBCで、データーベース追加・更新・削除
// Servlet単独
import java.io.*;
import java.sql.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class ExecuteSqlServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
String url = "jdbc:mysql://localhost/mydb";
String user = "root";
String password = "";
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (Exception e) {
e.printStackTrace();
}
try (Connection connection = DriverManager.getConnection(url, user, password);
PreparedStatement statment = connection.prepareStatement("INSERT INTO players (name, level, jobId) VALUES ('霧島1号', 1, 1)")) {
int number = statment.executeUpdate();
} catch (Exception e) {
request.setAttribute("exception", "Execute exception:" + e.getMessage());
}
String forward = "/show";
RequestDispatcher dispatcher = request.getRequestDispatcher(forward);
dispatcher.forward(request, response);
}
}
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
version="4.0" metadata-complete="true">
<servlet>
<servlet-name>SelectSqlServlet</servlet-name>
<servlet-class>SelectSqlServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>SelectSqlServlet</servlet-name>
<url-pattern>/show</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>ExecuteSqlServlet</servlet-name>
<servlet-class>ExecuteSqlServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ExecuteSqlServlet</servlet-name>
<url-pattern>/execute</url-pattern>
</servlet-mapping>
</web-app>
- データの更新(UPDATE) - データベース接続 - サーブレット入門
https://www.javadrive.jp/servlet/database/index7.html
- prepareStatement/executeUpdateメソッド | Javaコード入門
http://java-code.jp/971