java实现自动数据库表的创建(如何用Java程序在H2数据库中自动创建表)

本文目录
如何用Java程序在H2数据库中自动创建表
package com.gg.dao;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;public class BaseDao {
private final String DRIVER = "org.h3.Driver";
private final String URL = "jdbc:h3:~/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 {
Class.forName(DRIVER);
conn = DriverManager.getConnection(URL, USER, PASS);
if (conn != null)
return conn;
} catch (Exception e) {
e.printStackTrace();
}
return null;
} /**
* 关闭动态连接
*
* @param conn
* @param ps
*/
@SuppressWarnings("unused")
protected void closeLink(Connection conn, PreparedStatement ps) {
if (conn != null)
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
if (ps != null)
try {
ps.close();
} catch (SQLException e) {
e.printStackTrace();
}
} /**
* 关闭动态连接(重载方法)
*
* @param conn
* @param ps
* @param rs
*/
@SuppressWarnings("unused")
protected void closeLink(Connection conn, PreparedStatement ps, ResultSet rs) {
if (conn != null)
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
if (ps != null)
try {
ps.close();
} catch (SQLException e) {
e.printStackTrace();
}
if (rs != null)
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
} // protected boolean insertDelete(String sql) {
// try {
// ps = this.getConn().prepareStatement(sql);
// if (ps != null)
// return ps.execute();
// } catch (SQLException e) {
// e.printStackTrace();
// } finally {
// this.closeLink(conn, ps);
// }
// return false;
// }
//
// static public void main(String args) {
// BaseDao b = new BaseDao();
// System.out.println(b.insertDelete("create table AAA(Id int primary key,name varchar,sex varchar age int)"));
// }}
java 创建MySQL表
create table UserInfo( 创建 表 表名 这里create table是固定写法,表名自己起
id int parmary key, 列名,数据类型。parmary key表示该列为主键列
name varchar(20) not null, 列名,数据类型(数据长度)。not null表示该列不允许为空
age int not null 这个同上
)
java网上商城oracle数据库表怎么创建
的步骤
希望对你有帮助
(1)装载并注册数据库的JDBC驱动程序
载入JDBC驱动:
Class.forName("oracle.jdbc.driver.OracleDriver");
注册JDBC驱动:
java.sql.DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
(2)建立与数据库的连接
要建立与数据库的连接,首先要创建指定数据库的URL。连接数据库的URL对象,利用DriverManager 的getConnection方法建立的。数据库URL对象与网络资源的统一资源定位类似,其构成格式如下:
jdbc:subProtocol:subName://hostname:port;DatabaseName=ⅹⅹⅹ
其中:
jdbc表示当前通过Java的数据库连接进行数据库访问;
subProtocol表示通过某种驱动程序支持的数据库连接机制;
subName表示在当前连接机制下的具体名称;
hostname表示主机名;
port表示相应的连接端口;
DatabaseName表示要连接的数据库的名称。
这里以与Oracle数据库的连接为例:
连接Oracle 8/8i/9i数据库(用thin模式)
url = jdbc:oracle:thin:@hostip:1521:oracleSID;
注意:hostip指主机的ip地址,oracleSID指数据库的SID。
再者确定连接数据库的用户名与密码,即user和password 的值:
user = “ⅹⅹⅹ “;
password = “ⅹⅹⅹ“;
最后使用如下语句:
Connection con=java.sql.DriverManager.getConnection(url,user,password);
(3)创建Statement对象
例如:
Statement stmt = con.createStatement();
(4)调用并执行SQL语句
例如:
String sql = “select a,b,c from table1";//table1为你所要查询的表名,a,b,c为所要查询的字段
ResultSet rs = stmt.executeQuery(sql);
(5)访问ResultSet中的记录集并从中取出记录
例如:
rs.next( );
rs.absolute(4);
String col1=rs.getString(1);
……..
(6)依次关闭ResultSet、Statement和Connection对象
例如:
rs.close();
stmt.close();
con.close();
在Java中创建数据库
Java要连接数据库,那么首先你必须安装mysql数据库。
安装好mysql之后,安装JDK了。
安装好JDK之后,就是安装Eclipse了,要支持JDK版本,Eclipse安装的时候会自动去找JDK安装位置的,解压版的Eclipse,就要配置eclipse.ini文件了,将对应的JDK配置好,这些已经准备就绪的时候,就到mysql中创建数据库和表。
先创建数据库:
CREATE DATABASE SCUTCS;
接着,创建表:
CREATE TABLE STUDENT
(
SNO CHAR(7) NOT NULL,
SNAME VARCHAR(8) NOT NULL,
SEX CHAR(2) NOT NULL,
BDATE DATE NOT NULL,
HEIGHT DEC(5,2) DEFAULT 000.00,
PRIMARY KEY(SNO)
);
然后插入数据,可以用SQL语句insert into 《表名》 values (value1, value2, ...);
编写.java文件来演示一下如何访问MySQL数据库。
import java.sql.*;
public class JDBCTest {
public static void main(String args){
// 驱动程序名 String driver = "com.mysql.jdbc.Driver";
// URL指向要访问的数据库名scutcs String url = "jdbc:mysql://127.0.0.1:3306/scutcs";
// MySQL配置时的用户名 String user = "root"; // MySQL配置时的密码 String password = "root";
try { // 加载驱动程序 Class.forName(driver);
// 连续数据库 Connection conn = DriverManager.getConnection(url, user, password);
if(!conn.isClosed()) System.out.println("Succeeded connecting to the Database!");
// statement用来执行SQL语句 Statement statement = conn.createStatement();
// 要执行的SQL语句 String sql = "select * from student";
// 结果集 ResultSet rs = statement.executeQuery(sql);
while(rs.next()) // 选择sname这列数据 name = rs.getString("sname
// 输出结果 System.out.println(rs.getString("sno") + "\t" + name); }
rs.close(); conn.close();
} catch(ClassNotFoundException e) {
System.out.println("Sorry,can`t find the Driver!"); e.printStackTrace();
} catch(SQLException e) {
e.printStackTrace();
} catch(Exception e) {
e.printStackTrace();
} } }

更多文章:
captain词根词缀(以cap/cei/cup为词根的单词有哪些)
2026年1月12日 05:45
mybatis plus批量删除(如何实现springmvc+mybatis用多选框批量删除的功能Java代码)
2025年10月26日 18:30
mysql退出登录命令(进入mysql命令行之后,怎么退出)
2026年1月17日 09:30
intellij idea怎么进入(intellij idea怎么运行)
2026年8月10日 04:15
一个数据表可以包含多个数据库增删改查(access数据库中,一个数据可以包括多个表对吗)
2026年7月23日 10:15
div滚动条滚动到一定距离后(div上的滚动条,每次点击滚动指定的距离要怎么实现)
2025年12月12日 15:45
while语句和for语句区别(“while循环”和“for循环”有什么区别)
2025年11月28日 09:15
c语言程序设计谭浩强2020(谭浩强c语言程序设计多久能学完)
2025年10月12日 00:15
















