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系统下如何自动生成数据库和数据库表啊!下个星期要用这个知识,给为帮帮忙!谢了!!等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)