はじめに
- 前回の環境を元に、データベースへの接続の実装をしてみました。
Mavenから依存関係の追加
pom.xmlを開き、内の最終行に追加してください。
MySQL JDBCコネクタの追加
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.45</version>
</dependency>
Spring JDBCの追加
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>${org.springframework-version}</version>
</dependency>
クリーンアップとインストール
- プロジェクトを右クリックし、「実行 > Maven clean」を実行します。
- 同じく、「実行 > Maven install」を実行します。
MySQLのセットアップ
MySQLのインストール
brew install mysql
MySQLの起動
mysql.server start
データベースの作成
CREATE DATABASE sandbox DEFAULT CHARACTER SET utf8;
テーブルの作成
create table users(id int, name varchar(20));
データの投入
適当にInsertしておいてください。
JDBCの接続設定
root-context.xmlを開き、内の最終行に追加してください。
接続設定
<bean id="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName">
<value>com.mysql.jdbc.Driver</value>
</property>
<property name="url">
<value>jdbc:mysql://127.0.0.1:3306/sandbox</value>
</property>
<property name="username">
<value>root</value>
</property>
<property name="password">
<value></value>
</property>
</bean>
JDBC Templateの設定
<bean class="org.springframework.jdbc.core.JdbcTemplate">
<constructor-arg ref="dataSource" />
</bean>
接続確認プログラムの実装
コントローラーの実装
HomeController.java
package com.sandbox.app;
import java.util.List;
import java.util.Locale;
import java.util.Map;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
/**
* Handles requests for the application home page.
*/
@Controller
public class HomeController {
@Autowired
private JdbcTemplate jdbcTemplate;
@RequestMapping(value = "/", method = RequestMethod.GET)
public String home(Locale locale, Model model) {
List<Map<String, Object>> list = jdbcTemplate.queryForList("SELECT * FROM users");
model.addAttribute("data", list.get(0).get("name") );
return "home";
}
}
ビューの実装
home.jsp
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ page session="false" %>
<html>
<head>
<title>Home</title>
</head>
<body>
<h1>
Hello world!
</h1>
<p> DB's data is ${data}. </p>
</body>
</html>
Tomcatの起動
プロジェクトを右クリックし、「実行 > サーバーで実行」を実行します。以下のようなページが表示されれば成功です。
まとめ
- JPAとの違いってなんだろう?
- 実践的にはORMライブラリを使うのだろうか?