当前位置:首页 » 数据仓库 » java动态创建数据库表
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

java动态创建数据库表

发布时间: 2022-08-11 08:25:33

❶ 如何在数据库动态建表

动态建表首先需要了解Statement类
Statement 对象用 Connection 的方法createStatement 创建,例如
//创建连接对象
Connection connection = DBUtil.getConnection();
//创建Statement对象
Statement statement=connection.createStatement();
创建完之后通过执行以sql语句为参数的Statement的方法,来执行sql语句完成对数据库的操作。
Statement共有三种方法,分别是 executeQuery、executeUpdate 和execute。
方法 executeQuery 用于产生单个结果集的语句,例如 SELECT 语句。
方法 executeUpdate 用于执行 INSERT、UPDATE 或 DELETE 语句以及 SQLDDL(数据定义语言)语句,例如 CREATE TABLE 和 DROP TABLE。INSERT、UPDATE 或 DELETE语句的效果是修改表中零行或多行中的一列或多列。executeUpdate 的返回值是一个整数,指示受影响的行数(即更新计数)。对于CREATE TABLE 或 DROP TABLE 等不操作行的语句,executeUpdate 的返回值总为零。如果没有进行操作就返回-1。
方法 execute用于执行返回多个结果集、多个更新计数或二者组合的语句,我们不会需要该高级功能,所以本概述就不进行介绍了。
动态建表实例:
String tablename="WrongExpression";
sql = "create table "+tablename+"(time varchar(255),expression varchar(20),result varchar(20))";
int result = stmt.executeUpdate(sql);// executeUpdate语句会返回一个受影响的行数,如果返回-1就没有成功

❷ 如何使用java代码创建数据库实例,

java连接数据库主要用的是jdbc。
在你指定jdbc的时候需要指定连接字符串。
对于数据库的不同连接字符串的格式不同。
但是目前发现jdbc连接数据库都是指定库名称的。比如mysql会指定。oracle会指定。sqlserver也会指定。可能是为了安全期间数据库开发商没有提供此类不用指定库名就连接上的方法,主要是为了安全数据库的安全。个人想法。

目前java连接数据库动态建表是没有问题的。只要是标准的sql92语法的都能实现与执行。 但是好像sql92没有定义如何建库的语句吧。

还有你需要先确定表和库的概念。。 表的合集是库。。。

❸ java语言如何动态循环创建mysql数据库基本表,可以实现吗

下面是一个简单的连接MySQL数据库,并操作数据库表的例子:

import java.sql.*;

public class TestMysql {

public static void main(String[] args) {
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
try {
//加载驱动
Class.forName("com.mysql.jdbc.Driver");
//创建连接
conn = DriverManager
.getConnection("jdbc:mysql://localhost/bbs?user=用户名&password=密码");
stmt = conn.createStatement();
rs = stmt.executeQuery("select * from user");
while (rs.next()) {
String user = rs.getString(1);
String password = rs.getString(2);
System.out.println("用户名:" + user + "," +" 密码:" + password );
}

} catch (ClassNotFoundException ex) {
ex.printStackTrace();
} catch (SQLException ex) {
ex.printStackTrace();
} finally {
try {
if (rs != null) {
rs.close();
rs = null;
}
if (stmt != null) {
stmt.close();
stmt = null;
}
if (conn != null) {
conn.close();
conn = null;
}

} catch (SQLException e) {
e.printStackTrace();
}
}
}

}

当然前提是要把MySQL的连接驱动JAR文件添加到工程里

❹ 如何使用JAVA创建数据库表。

JDBC连接数据库
•创建一个以JDBC连接数据库的程序,包含7个步骤:
1、加载JDBC驱动程序:
在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机),
这通过java.lang.Class类的静态方法forName(String className)实现。
例如:
try{
//加载MySql的驱动类
Class.forName("com.mysql.jdbc.Driver") ;
}catch(ClassNotFoundException e){
System.out.println("找不到驱动程序类 ,加载驱动失败!");
e.printStackTrace() ;
}
成功加载后,会将Driver类的实例注册到DriverManager类中。
2、提供JDBC连接的URL
•连接URL定义了连接数据库时的协议、子协议、数据源标识。
•书写形式:协议:子协议:数据源标识
协议:在JDBC中总是以jdbc开始
子协议:是桥连接的驱动程序或是数据库管理系统名称。
数据源标识:标记找到数据库来源的地址与连接端口。
例如:(MySql的连接URL)
jdbc:mysql:
//localhost:3306/test?useUnicode=true&characterEncoding=gbk ;
useUnicode=true:表示使用Unicode字符集。如果characterEncoding设置为
gb2312或GBK,本参数必须设置为true 。characterEncoding=gbk:字符编码方式。
3、创建数据库的连接
•要连接数据库,需要向java.sql.DriverManager请求并获得Connection对象,
该对象就代表一个数据库的连接。
•使用DriverManager的getConnectin(String url , String username ,
String password )方法传入指定的欲连接的数据库的路径、数据库的用户名和
密码来获得。
例如:
//连接MySql数据库,用户名和密码都是root
String url = "jdbc:mysql://localhost:3306/test" ;
String username = "root" ;
String password = "root" ;
try{
Connection con =
DriverManager.getConnection(url , username , password ) ;
}catch(SQLException se){
System.out.println("数据库连接失败!");
se.printStackTrace() ;
}
4、创建一个Statement
•要执行SQL语句,必须获得java.sql.Statement实例,Statement实例分为以下3
种类型:
1、执行静态SQL语句。通常通过Statement实例实现。
2、执行动态SQL语句。通常通过PreparedStatement实例实现。
3、执行数据库存储过程。通常通过CallableStatement实例实现。
具体的实现方式:
Statement stmt = con.createStatement() ;
PreparedStatement pstmt = con.prepareStatement(sql) ;
CallableStatement cstmt =
con.prepareCall("{CALL demoSp(? , ?)}") ;

❺ java 动态创建表

<table class="table">
<tr class="table_header">
<td>用户ID</td>
<td>用户帐户</td>
<td>真实姓名</td>
<td>登陆密码</td>
<td>用户性别</td>
<td>数据操作</td>
</tr>
<%
List<User> users=new ArrayList<User>();
users = (List<User>) request.getAttribute("users");
for (int i = 0; i < users.size(); i++) {
User e = users.get(i);
%>
<tr class="row<%=(i % 2 + 1)%>">
<td><%=e.getId()%></td>
<td><%=e.getUsername()%></td>
<td><%=e.getRealname()%></td>
<td><%=e.getPassword()%></td>
<td><%=e.getSex()%></td>
<td><a href="<%=request.getContextPath()%>/delete.do?id=<%=e.getId()%>">删除用户</a>
<a href="<%=request.getContextPath()%>/update.jsp?id=<%=e.getId()%>">修改用户</a>
</td>
</tr>
<%
}
%>
</table>

向相面这样子就可以了,你在Servlet中查询出数据后存到一个List表中,然后在前台循环就可以了,有一条数据就会有一行

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

package com.gg.;
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.h2.Driver";
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 {
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数据库列表 给个例子

java中怎样创建MySQL数据库列表 需要使用jdbc访问数据库。
具体步骤如下:
1:加载驱动 ,返回连接
private static final String DRIVER_CLASS = "com.mysql.jdbc.Driver";
private static final String DATABASE_URL = "jdbc:mysql://localhost:3306/student";
private static final String DATABASE_USRE = "root";
private static final String DATABASE_PASSWORD = "cs";
/**
* 返回连接
*
* @return Connection
*/
public static Connection getConnection() {
Connection dbConnection = null;
try {
Class.forName(DRIVER_CLASS);
dbConnection = DriverManager.getConnection(DATABASE_URL,
DATABASE_USRE, DATABASE_PASSWORD);
} catch (Exception e) {
e.printStackTrace();
}

return dbConnection;
}
2:获取连接,执行sql语句
public static List selectAllStudent() {

Connection con = null;
PreparedStatement pstm = null;
ResultSet rs = null;
List list = new ArrayList();
String sql = "select * from Student ";
try {
con = ConnectionManager.getConnection();
pstm = con.prepareStatement(sql);
// pstm.setString(1, uname);
rs = pstm.executeQuery();
while (rs.next()) {
Student model = new Student();
model.setStuId(rs.getInt("stuId"));
list.add(model);
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
ConnectionManager.closeResultSet(rs);
ConnectionManager.closeStatement(pstm);
ConnectionManager.closeConnection(con);
}
return list;
}
3:调用获取列表方法。

❽ java怎样动态创建数据库中表

用JDBC直接发create table语句就行了,用executeUpdate发oracle的话,就指定好用户名,sqlserver和mysql就指定好数据库,其他数据库我不了解。如果用Hibernate的话,就把Hibernate的hbm2dll属性设为true,然后直接发增删改也查语句也可以。总之就是很简单了,直接发建表语句就成。