如何用Java程序在H2数据库中自动创建表

如何用Java程序在H2数据库中自动创建表,第1张

package comggdao;

import javasqlConnection;

import javasqlDriverManager;

import javasqlPreparedStatement;

import javasqlResultSet;

import javasqlSQLException;public class BaseDao {

private final String DRIVER = "orgh2Driver";

private final String URL = "jdbc:h2:~/test";

private final String USER = "sa";

private final String PASS = "";

protected Connection conn = null;// 数据库连接对象

@SuppressWarnings("unused")

protected PreparedStatement ps = null;// 数据库执行对象

@SuppressWarnings("unused")

protected ResultSet rs = null;// 数据库临时结果集 /

获取数据库连接Connection对象

@return

/

@SuppressWarnings("unused")

protected Connection getConn() {

try {

ClassforName(DRIVER);

conn = DriverManagergetConnection(URL, USER, PASS);

if (conn != null)

return conn;

} catch (Exception e) {

eprintStackTrace();

}

return null;

} /

关闭动态连接

@param conn

@param ps

/

@SuppressWarnings("unused")

protected void closeLink(Connection conn, PreparedStatement ps) {

if (conn != null)

try {

connclose();

} catch (SQLException e) {

eprintStackTrace();

}

if (ps != null)

try {

psclose();

} catch (SQLException e) {

eprintStackTrace();

}

} /

关闭动态连接(重载方法)

@param conn

@param ps

@param rs

/

@SuppressWarnings("unused")

protected void closeLink(Connection conn, PreparedStatement ps, ResultSet rs) {

if (conn != null)

try {

connclose();

} catch (SQLException e) {

eprintStackTrace();

}

if (ps != null)

try {

psclose();

} catch (SQLException e) {

eprintStackTrace();

}

if (rs != null)

try {

rsclose();

} catch (SQLException e) {

eprintStackTrace();

}

} // protected boolean insertDelete(String sql) {

// try {

// ps = thisgetConn()prepareStatement(sql);

// if (ps != null)

// return psexecute();

// } catch (SQLException e) {

// eprintStackTrace();

// } finally {

// thiscloseLink(conn, ps);

// }

// return false;

// }

//

// static public void main(String[] args) {

// BaseDao b = new BaseDao();

// Systemoutprintln(binsertDelete("create table AAA(Id int primary key,name varchar,sex varchar age int)"));

// }}

最好的做法是每张表对应一个实体类bean,如果一张表关联其他表,把这张表对应的实体类加上就可以了。如果使用了Hibernate,就可以使用配置文件进行映射。

A 实体类就是属性类,通常定义在model层里面。

B 一般的实体类对应一个数据表,其中的属性对应数据表中的字段,这样做对数据库 *** 作起来方便。

这样做的好处:

1对对象实体的封装,体现OO思想。

2属性可以对字段定义和状态进行判断和过滤

3把相关信息用一个实体类封装后,我们在程序中可以把实体类作为参数传递,更加方便。

C 说白了就是为了让程序员在对数据库 *** 作的时候不用写SQL语句

D 就是一个数据库表生成一个类

这有什么难得?直接写个shell就ok了么。给个mysql数据库的例子,使用bash哈:

#!/bin/sh

mysql -uroot -p你的密码 <<eof

create database testone;

use testone;

create table test{建表语句};

eof

以上可以自行扩展。仅供参考。

以上就是关于如何用Java程序在H2数据库中自动创建表全部的内容,包括:如何用Java程序在H2数据库中自动创建表、如何通过一个实体类自动创建相关数据库表、有谁知道在linux系统下如何自动生成数据库和数据库表啊!下个星期要用这个知识,给为帮帮忙!谢了!!等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9318126.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存