當前位置:首頁 » 數據倉庫 » 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,然後直接發增刪改也查語句也可以。總之就是很簡單了,直接發建表語句就成。