本来想测个东西,发现数据库是在服务器上,本机又没有装任何数据库,所以拿个hsqldb来用用。
将hsqldb.jar拷贝到lib目录下,db文件夹中新建文件server.bat,内容如下:
users 为数据库的名字。
其余的就是建一些sql文件了,比如create_accounts.sql
accounts_data.sql
使用ant
新建文件build.properties:
db.driver=org.hsqldb.jdbcDriver
db.url=jdbc:hsqldb:hsql://localhost/users
db.user=sa
db.pw=
新建文件build.xml
将hsqldb.jar拷贝到lib目录下,db文件夹中新建文件server.bat,内容如下:
java -cp ../lib/hsqldb.jar org.hsqldb.Server -database.0 db/users -dbname.0 users
其余的就是建一些sql文件了,比如create_accounts.sql
CREATE TABLE accounts(
id INTEGER GENERATED BY DEFAULT AS IDENTITY (START WITH 1 ) PRIMARY KEY,
userName varchar( 16 ),
password varchar( 16 ),
lastIP varchar( 19 ),
lastSignInDateTime datetime,
rightClass INTEGER
);
CREATE INDEX accounts_id ON accounts(id);
CREATE INDEX accounts_userName ON accounts(userName);
id INTEGER GENERATED BY DEFAULT AS IDENTITY (START WITH 1 ) PRIMARY KEY,
userName varchar( 16 ),
password varchar( 16 ),
lastIP varchar( 19 ),
lastSignInDateTime datetime,
rightClass INTEGER
);
CREATE INDEX accounts_id ON accounts(id);
CREATE INDEX accounts_userName ON accounts(userName);
INSERT INTO accounts (username, password, lastIP,lastSignInDateTime,rightClass)
values( ' test1 ' , ' test1 ' , ' 211.68.40.62 ' ,now(), 1 );
INSERT INTO accounts (username, password, lastIP,lastSignInDateTime,rightClass)
values( ' test2 ' , ' test2 ' , ' 211.68.40.63 ' ,now(), 2 );
values( ' test1 ' , ' test1 ' , ' 211.68.40.62 ' ,now(), 1 );
INSERT INTO accounts (username, password, lastIP,lastSignInDateTime,rightClass)
values( ' test2 ' , ' test2 ' , ' 211.68.40.63 ' ,now(), 2 );
使用ant
新建文件build.properties:
db.driver=org.hsqldb.jdbcDriver
db.url=jdbc:hsqldb:hsql://localhost/users
db.user=sa
db.pw=
新建文件build.xml
<?xml version="1.0"?>
<project name="UserManager" basedir=".">
<property file="build.properties" />
<property name="src.dir" value="src" />
<property name="lib.dir" value="lib" />
<path id="master-classpath">
<fileset dir="${lib.dir}">
<include name="*.jar"/>
</fileset>
</path>
<target name="createTables">
<echo message="CREATE TABLES USING: ${db.driver} ${db.url}" />
<sql driver="${db.driver}" url="${db.url}" userid="${db.user}" password="${db.pw}" οnerrοr="continue" src="db/create_accounts.sql">
<classpath refid="master-classpath" />
</sql>
</target>
<target name="dropTables">
<echo message="DROP TABLES USING: ${db.driver} ${db.url}" />
<sql driver="${db.driver}" url="${db.url}" userid="${db.user}" password="${db.pw}" οnerrοr="continue">
<classpath refid="master-classpath" />
DROP TABLE accounts;
</sql>
</target>
<target name="loadData">
<echo message="LOAD DATA USING: ${db.driver} ${db.url}" />
<sql driver="${db.driver}" url="${db.url}" userid="${db.user}" password="${db.pw}" οnerrοr="continue" src="db/accounts_data.sql">
<classpath refid="master-classpath" />
</sql>
</target>
<target name="printData">
<echo message="PRINT DATA USING: ${db.driver} ${db.url}" />
<sql driver="${db.driver}" url="${db.url}" userid="${db.user}" password="${db.pw}" οnerrοr="continue" print="true">
<classpath refid="master-classpath" />
SELECT * FROM accounts;
</sql>
</target>
<target name="clearData">
<echo message="CLEAR DATA USING: ${db.driver} ${db.url}" />
<sql driver="${db.driver}" url="${db.url}" userid="${db.user}" password="${db.pw}" οnerrοr="continue">
<classpath refid="master-classpath" />
DELETE FROM accounts;
</sql>
</target>
<target name="shutdownDb">
<echo message="SHUT DOWN DATABASE USING: ${db.driver} ${db.url}" />
<sql driver="${db.driver}" url="${db.url}" userid="${db.user}" password="${db.pw}" οnerrοr="continue">
<classpath refid="master-classpath" />
SHUTDOWN;
</sql>
</target>
</project>
<project name="UserManager" basedir=".">
<property file="build.properties" />
<property name="src.dir" value="src" />
<property name="lib.dir" value="lib" />
<path id="master-classpath">
<fileset dir="${lib.dir}">
<include name="*.jar"/>
</fileset>
</path>
<target name="createTables">
<echo message="CREATE TABLES USING: ${db.driver} ${db.url}" />
<sql driver="${db.driver}" url="${db.url}" userid="${db.user}" password="${db.pw}" οnerrοr="continue" src="db/create_accounts.sql">
<classpath refid="master-classpath" />
</sql>
</target>
<target name="dropTables">
<echo message="DROP TABLES USING: ${db.driver} ${db.url}" />
<sql driver="${db.driver}" url="${db.url}" userid="${db.user}" password="${db.pw}" οnerrοr="continue">
<classpath refid="master-classpath" />
DROP TABLE accounts;
</sql>
</target>
<target name="loadData">
<echo message="LOAD DATA USING: ${db.driver} ${db.url}" />
<sql driver="${db.driver}" url="${db.url}" userid="${db.user}" password="${db.pw}" οnerrοr="continue" src="db/accounts_data.sql">
<classpath refid="master-classpath" />
</sql>
</target>
<target name="printData">
<echo message="PRINT DATA USING: ${db.driver} ${db.url}" />
<sql driver="${db.driver}" url="${db.url}" userid="${db.user}" password="${db.pw}" οnerrοr="continue" print="true">
<classpath refid="master-classpath" />
SELECT * FROM accounts;
</sql>
</target>
<target name="clearData">
<echo message="CLEAR DATA USING: ${db.driver} ${db.url}" />
<sql driver="${db.driver}" url="${db.url}" userid="${db.user}" password="${db.pw}" οnerrοr="continue">
<classpath refid="master-classpath" />
DELETE FROM accounts;
</sql>
</target>
<target name="shutdownDb">
<echo message="SHUT DOWN DATABASE USING: ${db.driver} ${db.url}" />
<sql driver="${db.driver}" url="${db.url}" userid="${db.user}" password="${db.pw}" οnerrοr="continue">
<classpath refid="master-classpath" />
SHUTDOWN;
</sql>
</target>
</project>