<?xml version="1.0" encoding="ISO-8859-1"?><!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.3//EN" "document-v13.dtd">
<document>
&#9;<header>
&#9;&#9;<title>HSQLDB</title>
&#9;&#9;<authors>
&#9;&#9;&#9;<person email="chikkun@chikkun.com" name="&#30693;&#20037;&#21644;&#37070;"/>
&#9;&#9;</authors>
&#9;&#9;<abstract>Pure Java&#12394;&#12487;&#12540;&#12479;&#12505;&#12540;&#12473;&#12434;&#20351;&#12387;&#12390;&#12415;&#12424;&#12358;&#12290;</abstract>
&#9;</header>
&#9;<body>
&#9;&#9;<p>&#12487;&#12540;&#12479;&#12505;&#12540;&#12473;&#12392;&#12356;&#12360;&#12400;&#12289;PostgreSQL&#12420;My SQL&#12394;&#12393;&#33394;&#12293;&#12354;&#12426;&#12414;&#12377;&#12364;&#12289; 
&#9;&#9;&#9;Java&#12398;&#12415;&#12391;&#23455;&#35013;&#12375;&#12383;HSQLDB&#12392;&#12356;&#12358;&#12418;&#12398;&#12364;&#12354;&#12426;&#12414;&#12377;&#12290;&#20197;&#21069;&#12399;&#23569;&#12293;&#21830;&#29992;&#12391;&#12388;&#12363;&#12427;&#12398;&#12399;&#19981;&#23433;&#12394;&#12393;&#12392;&#12356;&#12358;&#35441;&#12418;&#12354;&#12426;&#12414;&#12375;&#12364;&#12289; 
&#9;&#9;&#9;&#26368;&#36817;&#12391;&#12399;JBoss&#12394;&#12393;&#12391;&#12418;&#12487;&#12501;&#12457;&#12523;&#12488;&#12398;&#12487;&#12540;&#12479;&#12505;&#12540;&#12473;&#12395;&#25505;&#29992;&#12373;&#12428;&#12383;&#12426;&#12375;&#12390;&#12289;&#20449;&#38972;&#24615;&#12418;&#39640;&#12414;&#12387;&#12390;&#12356;&#12427;&#12424;&#12358;&#12391;&#12377;&#12290;</p>
&#9;&#9;<p>&#12391;&#12289;HSQLDB&#12434;&#31309;&#26997;&#30340;&#12395;&#20351;&#12358;&#29702;&#30001;&#12399;&#12354;&#12414;&#12426;&#12354;&#12426;&#12414;&#12379;&#12435;&#12364;&#12289;&#23569;&#12394;&#12367;&#12392;&#12418;&#12289;war&#12501;&#12449;&#12452;&#12523;&#12395;&#12390;&#37197;&#24067;&#12377;&#12427;&#38555;&#12289;&#12381;&#12428;&#12384;&#12369;&#12391;&#20840;&#12390;OK 
&#9;&#9;&#9;&#12392;&#12356;&#12358;&#12371;&#12392;&#12364;&#21487;&#33021;&#12384;&#12392;&#35328;&#12358;&#12371;&#12392;&#12391;&#12377;&#12290;&#12388;&#12414;&#12426;&#12394;&#12435;&#12425;&#12469;&#12540;&#12496;&#12540;&#12391;DB&#12398;&#35373;&#23450;&#12364;&#12356;&#12425;&#12394;&#12356;&#12392;&#35328;&#12358;&#12371;&#12392;&#12391;&#12377;&#12290;</p>
&#9;&#9;<p>&#12373;&#12425;&#12395;&#12289;&#12418;&#12358;&#23569;&#12375;&#21029;&#12398;&#35222;&#28857;&#12391;&#35328;&#12358;&#12394;&#12425;&#12400;&#12289;Hibernate&#12434;&#20351;&#12358;&#38480;&#12426;&#12289;&#20206;&#12395;&#12289;HSQLDB&#12363;&#12425;PostgreSQL&#12395;&#22793;&#26356;&#12395;&#12394;&#12387;&#12383;&#12392;&#12371;&#12429;&#12391;&#12289; 
&#9;&#9;&#9;Hibernate&#12398;&#35373;&#23450;&#12434;1&#34892;&#22793;&#12360;&#12427;&#12384;&#12369;&#12391;&#28168;&#12416;&#12398;&#12391;&#12289;&#12392;&#12426;&#12354;&#12360;&#12378;&#12391;&#22987;&#12417;&#12425;&#12428;&#12427;&#12392;&#12356;&#12358;&#12371;&#12392;&#12418;&#35328;&#12360;&#12414;&#12377;&#12290;</p>
&#9;&#9;<section>
&#9;&#9;&#9;<title>&#12414;&#12378;&#12399;&#12398;&#12480;&#12454;&#12531;&#12525;&#12540;&#12489;&#12392;&#23637;&#38283;</title>
&#9;&#9;&#9;<p class="chapter">&#12414;&#12378;&#12399;<link href="http://hsqldb.sourceforge.net/">HSQDB</link>&#12395;&#34892;&#12387;&#12390;&#12289; 
&#9;&#9;&#9;&#9;&#12377;&#12391;&#12395;1.8&#12364;&#20986;&#12390;&#12356;&#12414;&#12377;&#12364;&#12289;&#12418;&#12358;&#23569;&#12375;&#12371;&#12428;&#12434;&#20351;&#12358;&#12398;&#12399;&#24453;&#12387;&#12390;&#12289; hsqldb_1_7_3&#12434;&#12480;&#12454;&#12531;&#12525;&#12540;&#12489;&#12375;&#12390;&#12367;&#12384;&#12373;&#12356;&#12290; </p>
&#9;&#9;&#9;<p class="chapter">
&#9;&#9;&#9;&#9;&#12381;&#12375;&#12390;&#12289;&#23637;&#38283;&#12375;&#12383;&#12425;&#12289;&#12381;&#12398;&#20013;<code>hsqldb/lib</code>&#12395;&#12354;&#12427;hsqldb.jar&#12364;&#26412;&#20307;&#12391;&#12289;&#12371;&#12428;&#12434;&#20351;&#12356;&#12414;&#12377;&#12290;</p>
&#9;&#9;&#9;<p class="chapter">
&#9;&#9;&#9;&#9;&#24517;&#35201;&#12395;&#24540;&#12376;&#12390;&#12289;&#20363;&#12360;&#12400;&#12289;&#20170;&#22238;&#12398;&#12424;&#12358;&#12394;&#12469;&#12540;&#12496;&#12469;&#12452;&#12489;&#12398;&#22580;&#21512;<code>WEB-INF/lib</code>&#12395;&#12388;&#12387;&#12371;&#12435;&#12391;&#12362;&#12365;&#12414;&#12375;&#12423;&#12358;&#12290;</p>
&#9;&#9;</section>
&#9;&#9;<section>
&#9;&#9;&#9;<title>HSQLDB&#12434;&#35430;&#12375;&#12390;&#12415;&#12424;&#12358;</title>
&#9;&#9;&#9;<section>
&#9;&#9;&#9;&#9;<title>&#12414;&#12378;&#12399;webcms&#12395;&#12467;&#12500;&#12540;</title>
&#9;&#9;&#9;&#9;<p class="section">
&#9;&#9;&#9;&#9;&#9;&#20808;&#12411;&#12393;&#23637;&#38283;&#12375;&#12383;hsqldb.jar&#12434;<code>webcms/WEB-INF/lib</code>&#12395;&#12467;&#12500;&#12540;&#12375;&#12414;&#12377;&#12290;</p>
&#9;&#9;&#9;</section>
&#9;&#9;&#9;<section>
&#9;&#9;&#9;&#9;<title>&#27425;&#12395;struts-config.xml&#12395;&#35373;&#23450;&#12434;&#26360;&#12365;&#36796;&#12416;</title>
&#9;&#9;&#9;&#9;<p class="section">&#12487;&#12540;&#12479;&#12505;&#12540;&#12473;&#12395;&#12450;&#12463;&#12475;&#12473;&#12377;&#12427;&#12395;&#12399;</p>
&#9;&#9;&#9;&#9;<ol class="section">
&#9;&#9;&#9;&#9;&#9;<li>&#30452;&#25509;&#12467;&#12540;&#12489;&#12398;&#20013;&#12395;&#26360;&#12365;&#36796;&#12416;&#12290;</li>
&#9;&#9;&#9;&#9;&#9;<li>server.xml&#12395;&#35373;&#23450;&#12434;&#26360;&#12356;&#12390;&#12362;&#12367;&#12290;</li>
&#9;&#9;&#9;&#9;&#9;<li>web.xml&#12395;&#35373;&#23450;&#12434;&#26360;&#12356;&#12390;&#12362;&#12367;&#12290;</li>
&#9;&#9;&#9;&#9;&#9;<li>struts-config.xml&#12395;&#26360;&#12356;&#12390;&#12362;&#12367;&#12290;</li>
&#9;&#9;&#9;&#9;</ol>
&#9;&#9;&#9;&#9;<p class="section">&#20170;&#22238;&#12399;&#12289;&#19978;&#35352;&#12398;1&#12362;&#12424;&#12403;4&#12434;&#35430;&#12375;&#12390;&#12415;&#12424;&#12358;&#12392;&#24605;&#12356;&#12414;&#12377;&#12290;</p>
&#9;&#9;&#9;&#9;<p class="section">
&#9;&#9;&#9;&#9;&#9;&#20197;&#21069;Xdoclet&#12391;&#35500;&#26126;&#12375;&#12383;&#12289;merge&#12487;&#12451;&#12524;&#12463;&#12488;&#12522;&#12395;<code>struts-data-sources.xml</code>&#12434;&#20316;&#25104;&#12375;&#12289;</p>
&#9;&#9;&#9;&#9;<source xml:space="preserve"><![CDATA[
					
<data-sources>
	<data-source type="org.apache.commons.dbcp.BasicDataSource">
		<set-property property="user" value="sa" />
		<set-property property="password" value="" />
		<set-property property="driverClass" value="org.hsqldb.jdbcDriver" />
		<set-property property="description" value="HSQLDB test" />
		<set-property property="url" 
			value="jdbc:hsqldb:file:c:/eclipse/workspace/webcms/WEB-INF/database/webcms" />
	</data-source>
</data-sources>					

				]]></source>
&#9;&#9;&#9;&#9;<p class="section">&#12434;&#26360;&#12365;&#36796;&#12415;&#20445;&#23384;&#12375;&#12289;&#12392;&#12426;&#12354;&#12360;&#12378;ant&#12377;&#12427;(<link href="xdoclet.html">Xdoclet&#12398;&#35500;&#26126;</link>&#21442;&#29031;)&#12290;</p>
&#9;&#9;&#9;</section>
&#9;&#9;&#9;<section>
&#9;&#9;&#9;&#9;<title>&#12486;&#12540;&#12502;&#12523;&#12398;&#20316;&#25104;</title>
&#9;&#9;&#9;&#9;<p class="section">
&#9;&#9;&#9;&#9;&#9;Java&#12398;&#12477;&#12540;&#12473;&#12363;&#12425;&#12486;&#12540;&#12502;&#12523;&#12434;&#20316;&#12427;&#12392;&#12356;&#12358;&#25163;&#12418;&#12394;&#12367;&#12399;&#12394;&#12356;&#12391;&#12377;&#12364;&#12289;&#20170;&#22238;&#12399;hsqldb&#12395;&#20184;&#12356;&#12390;&#12367;&#12427;Manager&#12434;&#20351;&#12387;&#12390;&#20316;&#12387;&#12390;&#12415;&#12414;&#12375;&#12423;&#12358;&#12290;</p>
&#9;&#9;&#9;&#9;<p class="section">
&#9;&#9;&#9;&#9;&#9;&#12414;&#12378;&#12399;&#20808;&#12411;&#12393;&#23637;&#38283;&#12375;&#12383;hsqldb&#12398;&#12487;&#12451;&#12524;&#12463;&#12488;&#12522;&#12398;&#30452;&#19979;&#12398;demo&#12392;&#12356;&#12358;&#12487;&#12451;&#12524;&#12463;&#12488;&#12522;&#12395;<code>runManager.bat</code>&#12392;&#12356;&#12358;&#12398;&#12364;&#12354;&#12426;&#12414;&#12377;&#12290;</p>
&#9;&#9;&#9;&#9;<source xml:space="preserve"><![CDATA[
cd ..\data
@java -classpath ..\lib\hsqldb.jar org.hsqldb.util.DatabaseManager %1 %2 %3 %4 %5 %6 %7 %8 %9
				]]></source>
&#9;&#9;&#9;&#9;<p class="section">
&#9;&#9;&#9;&#9;&#9;&#20013;&#36523;&#12399;&#19978;&#35352;&#12398;&#12424;&#12358;&#12395;&#12394;&#12387;&#12390;&#12356;&#12414;&#12377;&#12364;&#12289;&#20808;&#12411;&#12393;&#23637;&#38283;&#12375;&#12383;&#12414;&#12414;&#12384;&#12387;&#12383;&#12425;<code>cd</code>&#12391;&#12456;&#12521;&#12540;&#12395;&#12394;&#12426;&#12414;&#12377;(&#12392;&#12356;&#12358;&#12363;&#12381;&#12398;&#12414;&#12414;&#12391;&#12418;&#21205;&#12365;&#12414;&#12377;&#12364;)&#12290;</p>
&#9;&#9;&#9;&#9;<p class="section">&#12381;&#12398;<code>cd ..\data</code>&#12434;<code>cd cd 
&#9;&#9;&#9;&#9;&#9;c:\eclipse\workspace\webcms\WEB-INF\database 
&#9;&#9;&#9;&#9;&#9;</code>&#12395;&#12375;&#12414;&#12377;(&#21029;&#12398;&#26041;&#27861;&#12418;&#12354;&#12426;&#12414;&#12377;)&#12290;</p>
&#9;&#9;&#9;&#9;<p class="section">&#21516;&#27096;&#12395;<code>-classpath</code>&#12398;&#12354;&#12392;&#12418;<code>c:\hsqldb\lib\hsqldb.jar 
&#9;&#9;&#9;&#9;&#9;org.hsqldb.util.DatabaseManager %1 %2 %3 %4 %5 %6 %7 %8 
&#9;&#9;&#9;&#9;&#9;%9</code>&#12395;&#22793;&#12360;&#12414;&#12377;&#12290;</p>
&#9;&#9;&#9;&#9;<p class="section">&#12381;&#12375;&#12390;&#20445;&#23384;&#12375;&#12383;&#12425;&#12289;Dos&#12503;&#12525;&#12531;&#12503;&#12488;&#12363;&#12425;&#12371;&#12398;&#12496;&#12483;&#12481;&#12501;&#12449;&#12452;&#12523;&#12434;&#23455;&#34892;&#12375;&#12414;&#12377;&#12290;</p>
&#9;&#9;&#9;&#9;<figure src="hsqldb.jpg" alt="hsqldb&#12398;manager&#12398;&#21021;&#26399;&#30011;&#38754;"/>
&#9;&#9;&#9;&#9;<p class="section">&#12381;&#12375;&#12390;&#12289;&#19978;&#35352;&#12398;&#19978;&#12363;&#12425;3&#30058;&#30446;&#12398;type&#12395;standalone&#12434;&#36984;&#12403;&#12289;</p>
&#9;&#9;&#9;&#9;<p class="section">
&#9;&#9;&#9;&#9;&#9;&#19978;&#12363;&#12425;5&#30058;&#30446;&#12395;<code>jdbc:hsqldb:file:c:\eclipse\workspace\webcms\WEB-INF\database\webcms</code>&#12434;&#20837;&#21147;&#12375;&#12414;&#12377;&#12290;</p>
&#9;&#9;&#9;&#9;<p class="section">
&#9;&#9;&#9;&#9;&#9;&#27425;&#12395;&#12289;clear&#12392;&#12356;&#12358;&#12508;&#12479;&#12531;&#12398;&#27178;&#12398;&#12486;&#12461;&#12473;&#12488;&#12501;&#12451;&#12540;&#12523;&#12489;&#12395;&#12289;&#19979;&#12398;&#12424;&#12358;&#12394;table&#12434;&#20316;&#25104;&#12377;&#12427;sql&#12434;&#12467;&#12500;&#12506;&#12375;&#12390;&#12367;&#12384;&#12373;&#12356;(&#26412;&#24403;&#12399;unique 
&#9;&#9;&#9;&#9;&#9;(USER_NAME)&#12364;&#24517;&#35201;&#12391;&#12375;&#12423;&#12358;&#12364;&#12289; 
&#9;&#9;&#9;&#9;&#9;&#20170;&#22238;&#12399;&#23455;&#39443;&#12394;&#12398;&#12391;&#12289;&#19968;&#24230;insert&#12377;&#12427;&#12383;&#12403;&#12395;&#12477;&#12540;&#12473;&#12434;&#22793;&#12360;&#12427;&#12398;&#12364;&#38754;&#20498;&#12394;&#12398;&#12391;&#12399;&#12378;&#12375;&#12414;&#12375;&#12383;)&#12290;</p>
&#9;&#9;&#9;&#9;<source xml:space="preserve"><![CDATA[

create table USERS (
   ID integer generated by default as identity (start with 1),
   EMAIL varchar(64) not null,
   USER_ID varchar(64) not null,
   NOTE varchar(64),
   MEMBER_NAME varchar(64),
   primary key (ID)
);


				]]></source>
&#9;&#9;&#9;&#9;<figure src="hsqldb2.jpg" alt="sql&#12434;&#20837;&#21147;&#12375;&#12383;"/>
&#9;&#9;&#9;&#9;<p class="section">
&#9;&#9;&#9;&#9;&#9;&#12381;&#12375;&#12390;&#12289;&#21491;&#12395;&#12354;&#12427;execute&#12508;&#12479;&#12531;&#12434;&#25276;&#12377;&#12392;&#12289;&#12373;&#12387;&#12365;&#12414;&#12391;&#12394;&#12363;&#12387;&#12383;&#12501;&#12449;&#12452;&#12523;&#12364;<code>WEB-INF/database</code>&#12395;&#20986;&#26469;&#12390;&#12356;&#12428;&#12400;OK&#12391;&#12377;&#12290;</p>
&#9;&#9;&#9;&#9;<p class="section">&#26368;&#24460;&#12395;</p>
&#9;&#9;&#9;</section>
&#9;&#9;&#9;
&#9;&#9;&#9;<section>
&#9;&#9;&#9;&#9;<title>Acton&#12398;&#20316;&#25104;</title>
&#9;&#9;&#9;&#9;<p class="section">&#12356;&#12388;&#12418;&#12398;&#12424;&#12358;&#12395;&#12289;Action&#12434;&#20316;&#25104;&#12375;&#12414;&#12377;&#12290;</p>
&#9;&#9;&#9;&#9;<source xml:space="preserve"><![CDATA[

/*
 * Created on 2005/05/30
 *
 */
package com.chikkun.webcms.test2;
import java.io.IOException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.sql.DataSource;

import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

/**
 * @author Administrator
 * @struts.action path="/insertUserTest" scope="request"
 *                validate="false"
 * @struts.action-forward name="success" path="/WEB-INF/jsp/success.jsp"
 */
public class InsertUserTestAction extends Action{
    public ActionForward execute(ActionMapping mapping, ActionForm actionForm,
            HttpServletRequest request, HttpServletResponse response)
            throws IOException, ServletException {

        DataSource dataSource = null;
        Connection con = null;
        try {
         dataSource = getDataSource(request);
         con = dataSource.getConnection();
         // do what you wish with myConnection
         PreparedStatement statement
         =con.prepareStatement("insert into USERS (EMAIL, USER_NAME, NOTE, MEMBER_NAME) values(?, ?, ?, ?);");
         statement.setString(1,"chikkun@chikkun.com");
         statement.setString(2,"tomoko");
         statement.setString(3,"hogehoge");
         statement.setString(4,"]]>&#30693;&#20037;&#21644;&#37070;<![CDATA[");
         int result = statement.executeUpdate();
         System.out.println(result + "]]>&#34892;&#12487;&#12540;&#12479;&#12434;&#36861;&#21152;<![CDATA[");
         
        } catch (SQLException sqle) {
           getServlet().log("Connection.process", sqle);
           
        } finally {
           //enclose this in a finally block to make
           //sure the connection is closed
           try {
              con.close();
           } catch (SQLException e) {
              getServlet().log("Connection.close", e);
           }
          }
        return mapping.findForward("success");
    }
}


]]></source>
&#9;&#9;&#9;&#9;<p class="section">
&#9;&#9;&#9;&#9;&#9;ant&#12434;&#23455;&#34892;&#12375;&#12390;&#12289;struts-config.xml&#12434;&#26360;&#12365;&#20986;&#12375;&#12390;&#12289;&#12373;&#12425;&#12395;WEB-INF/jsp/success.jsp&#12434;&#20316;&#25104;&#12375;&#12414;&#12377;(&#38754;&#20498;&#12394;&#12398;&#12391;&#12289;&#12372;&#12367;&#31777;&#21336;&#12394;&#12418;&#12398;)&#12290;</p>
&#9;&#9;&#9;&#9;<source xml:space="preserve"><![CDATA[

<%@page pageEncoding="Windows-31J"
  contentType="text/html; charset=Windows-31J" %>
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>

<html:html locale="true">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-31J"/>
<title>Insert User Test</title>
</head>
<body>

<h2>]]>&#21021;&#12417;&#12390;&#12398;<![CDATA[HSQLDB</h2>


Success!!!!!!!!!!!!!


</body>
</html:html>


]]></source>
&#9;&#9;&#9;&#9;<p class="section">&#26368;&#24460;&#12395;</p>
&#9;&#9;&#9;&#9;<source xml:space="preserve"><![CDATA[

<data-source type="org.apache.commons.dbcp.BasicDataSource">

]]></source>
&#9;&#9;&#9;&#9;<p class="section">&#20808;&#12411;&#12393;&#12398;struts-config.xml&#12391;&#24517;&#35201;&#12394;&#12463;&#12521;&#12473;&#12434;&#21462;&#24471;&#12375;&#12414;&#12377;&#12290;<link href="http://jakarta.apache.org/site/downloads/downloads_commons-dbcp.cgi">Jakarta 
&#9;&#9;&#9;&#9;&#9;Commons</link>&#12408;&#34892;&#12387;&#12390;&#12289;DBCP&#12434; 
&#9;&#9;&#9;&#9;&#9;&#12480;&#12454;&#12531;&#12525;&#12540;&#12489;&#12375;&#12390;&#12365;&#12390;&#12289;&#12381;&#12398;&#20013;&#12398;<code>commons-dbcp-1.2.1.jar&#12434;</code><code>WEB-INF/lib</code>&#12395;&#12467;&#12500;&#12540;&#12375;&#12414;&#12377;&#12290;</p>
&#9;&#9;&#9;&#9;<p class="section">
&#9;&#9;&#9;&#9;&#9;&#12381;&#12375;&#12390;&#26368;&#24460;&#12395;Tomcat&#12434;&#31435;&#12385;&#19978;&#12370;&#12390;&#12289;&#12356;&#12388;&#12418;&#12398;&#12424;&#12358;&#12395;&#12289;
&#9;&#9;&#9;&#9;&#9;&#9;<code>http://localhost:8080/webcms/insertUsetTest</code>&#12434;&#23455;&#34892;&#12375;&#12390;&#12289;
&#9;&#9;&#9;&#9;&#9;&#9;&#9;<code>WEB-INF/database/webcms.log&#12395;&#12381;&#12398;&#32080;&#26524;&#12364;&#26360;&#12365;&#36796;&#12414;&#12428;&#12390;&#12356;&#12428;&#12400;OK(&#12383;&#12384;&#12398;&#12486;&#12461;&#12473;&#12488;&#12501;&#12449;&#12452;&#12523;&#12394;&#12398;&#12391;&#31777;&#21336;&#12395;&#35211;&#12425;&#12428;&#12427;)&#12290;</code></p>
&#9;&#9;&#9;</section>
&#9;&#9;</section>
&#9;</body>
</document>