JavaWebアーキテクチャの理解-7.データベース応用
動的Webサイトの基礎はデータベースです.JavaはJDBCによって一般的なデータベースを呼び出し、この方法で各データベースのアクセスの違いを遮断します.
MySqlのインストール、構成
インストールMySql注意カスタムモードインストール、インストール中に開発者、多機能データベース、DSS/OLAPモード、注意文字セット選択GBK、ポート3306を選択します.これらのパラメータは、インストール後にconfig wizardで変更できます.
JDBCのワークフローと使用手順
JDBCはJavaAPIの一部であり、JDBCのインタフェースとクラスを使用して、どのリレーショナル・データベースでもSQL文を同じ方法で実行できます.開発プロセスは次のとおりです.
1. まず、現在使用されているデータベースに対応するドライバJarパッケージファイルをMySqlのWebサイトにダウンロードする必要があります.本稿ではmySqlを例に挙げます.
2. このファイルをWEB-INF/libにコピーします.
3. Class.forNameを使用してロードし、Class.forName(「com.mysql.jdbc.Driver」)
4. データベースにアクセスするURLを設定します.基本的にJDBC+データベースIP+ポート+データベース名です.String url="jdbc:mysql://localhost:3306/dbtest”;
5. データベース接続はJdbcのDriverManagerで作成します.Connection con = DriverManager.getConnection(URL,user,password);このメソッドはConnectionオブジェクトを返します.
6. Connectionオブジェクトを使用して、Sql文を操作するStatementオブジェクトを作成します.Statement stmt = con.createStatement();またはconnectionオブジェクトを使用してPreparedStatementオブジェクトを作成します.
7. Sql文はstatementオブジェクトによって実行され、このメソッドはResultSetまたは他のものを返します.
8. 実行結果をResultSetで表示します.
CURD操作
全体的にPreparedStatementを使うのは便利で、Statementを使うよりもっといいです.
1. C
まず、同じConnectionオブジェクトを返す単一のスキーマを使用するデータベース接続クラスを作成します.
次に、操作オブジェクトuserとuserのデータベース操作クラスuserDaoを確立します.コードはそれぞれ次のとおりです.
User.java
userDao.java
jspページに上記の要素をインポートし、jspコードを使用して新規操作を行います.
MySqlのインストール、構成
インストールMySql注意カスタムモードインストール、インストール中に開発者、多機能データベース、DSS/OLAPモード、注意文字セット選択GBK、ポート3306を選択します.これらのパラメータは、インストール後にconfig wizardで変更できます.
JDBCのワークフローと使用手順
JDBCはJavaAPIの一部であり、JDBCのインタフェースとクラスを使用して、どのリレーショナル・データベースでもSQL文を同じ方法で実行できます.開発プロセスは次のとおりです.
1. まず、現在使用されているデータベースに対応するドライバJarパッケージファイルをMySqlのWebサイトにダウンロードする必要があります.本稿ではmySqlを例に挙げます.
2. このファイルをWEB-INF/libにコピーします.
3. Class.forNameを使用してロードし、Class.forName(「com.mysql.jdbc.Driver」)
4. データベースにアクセスするURLを設定します.基本的にJDBC+データベースIP+ポート+データベース名です.String url="jdbc:mysql://localhost:3306/dbtest”;
5. データベース接続はJdbcのDriverManagerで作成します.Connection con = DriverManager.getConnection(URL,user,password);このメソッドはConnectionオブジェクトを返します.
6. Connectionオブジェクトを使用して、Sql文を操作するStatementオブジェクトを作成します.Statement stmt = con.createStatement();またはconnectionオブジェクトを使用してPreparedStatementオブジェクトを作成します.
7. Sql文はstatementオブジェクトによって実行され、このメソッドはResultSetまたは他のものを返します.
8. 実行結果をResultSetで表示します.
CURD操作
全体的にPreparedStatementを使うのは便利で、Statementを使うよりもっといいです.
1. C
まず、同じConnectionオブジェクトを返す単一のスキーマを使用するデータベース接続クラスを作成します.
public class db {
public staticConnection conn;
public staticConnection getInstance() throws SQLException,ClassNotFoundException{
if(conn!=null){
return conn;
}else
{
Class.forName("com.mysql.jdbc.Driver");
String URL="jdbc:mysql://localhost:3306/test";
returnDriverManager.getConnection(URL, "root", "root");
}
}
}
次に、操作オブジェクトuserとuserのデータベース操作クラスuserDaoを確立します.コードはそれぞれ次のとおりです.
User.java
public classuser {
private int id;
private String name;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
userDao.java
public classuserDao {
public void newUser(user u) throwsSQLException, ClassNotFoundException{
String sql = "insert intoguestbook (id,name) values (?,?)";
PreparedStatement stmt =db.getInstance().prepareStatement(sql);
stmt.setInt(1, u.getId());
stmt.setString(2, u.getName());
int r = stmt.executeUpdate();
}
}
jspページに上記の要素をインポートし、jspコードを使用して新規操作を行います.
2. U
preparedStatement , 。
public intupdateUser(user o,user n) throws SQLException, ClassNotFoundException{
String sql = "update guestbookset name=? where id = ?";
PreparedStatement stmt =db.getInstance().prepareStatement(sql);
stmt.setString(1, n.getName());
stmt.setInt(2, o.getId());
return stmt.executeUpdate();
}
3. R
public ListreadUsers() throws SQLException,ClassNotFoundException{
List list = newArrayList();
String sql = "select *from guestbook";
Statement stmt = db.getInstance().createStatement();
ResultSet rs = stmt.executeQuery(sql);
while(rs.next()){
user t = newuser();
t.setId(rs.getInt("id"));
t.setName(rs.getString("name"));
list.add(t);
}
returnlist;
}
4. D
public intdeleteUser(user old) throws SQLException,ClassNotFoundException{
String sql = "deletefrom guestbook where id = ?";
PreparedStatement ps = db.getInstance().prepareStatement(sql);
ps.setInt(1, old.getId());
returnps.executeUpdate();
}
1. JavaWeb -1.
2. JavaWeb -2.JSP
3. JavaWeb -3.JSP
4. JavaWeb -4.JavaBean
5. JavaWeb -5.Servlet
6. JavaWeb -6.EL JSTL