新聞中心
JDBC(Java Database Connectivity,即Java數(shù)據(jù)庫(kù)連接)是Java語(yǔ)言中訪問(wèn)關(guān)系型數(shù)據(jù)庫(kù)的標(biāo)準(zhǔn)API,它為Java開(kāi)發(fā)者提供了一種訪問(wèn)數(shù)據(jù)庫(kù)的簡(jiǎn)單易用的方式,可實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的增、刪、改、查等操作。在本文中,我們將介紹如何。

在北鎮(zhèn)等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專(zhuān)注、極致的服務(wù)理念,為客戶(hù)提供做網(wǎng)站、網(wǎng)站設(shè)計(jì) 網(wǎng)站設(shè)計(jì)制作按需求定制開(kāi)發(fā),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站設(shè)計(jì),全網(wǎng)整合營(yíng)銷(xiāo)推廣,外貿(mào)營(yíng)銷(xiāo)網(wǎng)站建設(shè),北鎮(zhèn)網(wǎng)站建設(shè)費(fèi)用合理。
1. 準(zhǔn)備工作
在使用jdbc生成數(shù)據(jù)庫(kù)之前,我們需要先準(zhǔn)備一些工作:
– 安裝MySQL數(shù)據(jù)庫(kù)
– 安裝JDK
– 在Java程序中引入JDBC驅(qū)動(dòng)包
若您還沒(méi)有安裝MySQL數(shù)據(jù)庫(kù)和JDK,請(qǐng)先安裝。MySQL官網(wǎng)提供了免費(fèi)的MySQL Community Server下載,JDK下載可前往Oracle官網(wǎng)獲取。在Java程序中引入JDBC驅(qū)動(dòng)包,步驟如下:
– 下載MySQL官方的JDBC驅(qū)動(dòng)包(mysql-connector-java-x.x.x.jar);
– 將JAR包復(fù)制到Java項(xiàng)目的lib文件夾下;
– 在Java開(kāi)發(fā)工具中將JAR包添加到Java Build Path中。
2. 連接數(shù)據(jù)庫(kù)
在使用JDBC生成數(shù)據(jù)庫(kù)之前,我們需要先建立與數(shù)據(jù)庫(kù)的連接。使用JDBC連接MySQL數(shù)據(jù)庫(kù)的步驟如下:
– 導(dǎo)入JDBC驅(qū)動(dòng)包;
– 加載數(shù)據(jù)庫(kù)驅(qū)動(dòng)程序;
– 建立與數(shù)據(jù)庫(kù)的連接。
代碼實(shí)現(xiàn)如下:
“`
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class ConnectDatabase {
private Connection conn = null;
public ConnectDatabase() {
try {
// 加載JDBC驅(qū)動(dòng)程序
Class.forName(“com.mysql.cj.jdbc.Driver”);
} catch (ClassNotFoundException e) {
System.err.println(“JDBC驅(qū)動(dòng)加載失敗”);
e.printStackTrace();
}
try {
// 建立數(shù)據(jù)庫(kù)連接
String url = “jdbc:mysql://localhost:3306/mydatabase?useSSL=false&serverTimezone=GMT%2B8&allowPublicKeyRetrieval=true”;
String user = “root”;
String password = “123456”;
conn = DriverManager.getConnection(url, user, password);
} catch (SQLException e) {
System.err.println(“數(shù)據(jù)庫(kù)連接失敗”);
e.printStackTrace();
}
}
public Connection getConnection() {
return conn;
}
}
“`
在上述代碼中,使用Class.forName()方法加載MySQL的JDBC驅(qū)動(dòng)程序,使用DriverManager.getConnection()方法建立與數(shù)據(jù)庫(kù)的連接。其中url參數(shù)中,localhost:3306為默認(rèn)的MySQL數(shù)據(jù)庫(kù)地址及端口號(hào),mydatabase是我們要生成的數(shù)據(jù)庫(kù)名,user和password為MySQL管理員的用戶(hù)名和密碼。
3. 創(chuàng)建數(shù)據(jù)庫(kù)及表格
建立好連接后,我們可以使用JDBC創(chuàng)建數(shù)據(jù)庫(kù)及表格。在MySQL數(shù)據(jù)庫(kù)中,我們可以使用CREATE DATABASE語(yǔ)句創(chuàng)建新的數(shù)據(jù)庫(kù),使用CREATE TABLE語(yǔ)句創(chuàng)建新的表格。代碼實(shí)現(xiàn)如下:
“`
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class CreateDatabase {
public static void mn(String[] args) {
ConnectDatabase connectDatabase = new ConnectDatabase();
Connection conn = connectDatabase.getConnection();
try {
// 創(chuàng)建數(shù)據(jù)庫(kù)
Statement stmt = conn.createStatement();
String sqlCreateDatabase = “CREATE DATABASE IF NOT EXISTS students”;
stmt.executeUpdate(sqlCreateDatabase);
// 切換到新建的數(shù)據(jù)庫(kù)
String url = “jdbc:mysql://localhost:3306/students?useSSL=false&serverTimezone=GMT%2B8&allowPublicKeyRetrieval=true”;
conn = DriverManager.getConnection(url, “root”, “123456”);
// 創(chuàng)建表格
String sqlCreateTable = “CREATE TABLE IF NOT EXISTS student (” +
“id INT PRIMARY KEY AUTO_INCREMENT,” +
“name VARCHAR(32) NOT NULL,” +
“age INT,” +
“gender VARCHAR(1) NOT NULL” +
“)”;
stmt.executeUpdate(sqlCreateTable);
// 插入數(shù)據(jù)
String sqlInsert = “INSERT INTO student (name, age, gender) VALUES ” +
“(‘Tom’, 18, ‘M’),” +
“(‘Lucy’, 20, ‘F’),” +
“(‘John’, 21, ‘M’)”;
stmt.executeUpdate(sqlInsert);
// 查詢(xún)數(shù)據(jù)
String sqlSelect = “SELECT id, name, age, gender FROM student”;
ResultSet rs = stmt.executeQuery(sqlSelect);
while (rs.next()) {
int id = rs.getInt(“id”);
String name = rs.getString(“name”);
int age = rs.getInt(“age”);
String gender = rs.getString(“gender”);
System.out.println(“ID: ” + id + “\t姓名: ” + name + “\t年齡: ” + age + “\t性別: ” + gender);
}
stmt.close();
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
“`
在上述代碼中,我們使用CREATE DATABASE和CREATE TABLE語(yǔ)句在MySQL中創(chuàng)建了新的數(shù)據(jù)庫(kù)和表格。其中,CREATE TABLE語(yǔ)句中使用了INT、VARCHAR等數(shù)據(jù)類(lèi)型,其中INT為整型,VARCHAR為字符串類(lèi)型。此外,我們還使用了INSERT INTO語(yǔ)句向表格中插入了三條數(shù)據(jù),使用SELECT語(yǔ)句查詢(xún)了表格中的數(shù)據(jù)并在控制臺(tái)中輸出。
4.
本文介紹了使用JDBC生成數(shù)據(jù)庫(kù)的步驟,包括建立與數(shù)據(jù)庫(kù)的連接、創(chuàng)建數(shù)據(jù)庫(kù)及表格等。JDBC為Java開(kāi)發(fā)者提供了一種簡(jiǎn)單易用的方式訪問(wèn)數(shù)據(jù)庫(kù),可實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的增、刪、改、查等操作。JDBC驅(qū)動(dòng)包的正確引入和使用對(duì)于使用JDBC生成數(shù)據(jù)庫(kù)是至關(guān)重要的,同時(shí)我們還需要熟悉SQL語(yǔ)句的使用。希望本文對(duì)初學(xué)者學(xué)習(xí)JDBC有所幫助。
相關(guān)問(wèn)題拓展閱讀:
- jdbc連接數(shù)據(jù)庫(kù)怎么使用數(shù)據(jù)庫(kù)
- 如何通過(guò)jdbc在數(shù)據(jù)庫(kù)當(dāng)中創(chuàng)建表格
jdbc連接數(shù)據(jù)庫(kù)怎么使用數(shù)據(jù)庫(kù)
/**
* @author :陶偉基 ,微博:
* @date :2023/12/11
* @place:廣州大學(xué)華軟軟件學(xué)院
*/
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Connection;
import java.sql.Statement;
public class MysqlDemo {
public static void main(String args) throws Exception {
Connection conn = null;
String sql;
// MySQL的JDBC URL編寫(xiě)方式:jdbc:
// 避免中文亂碼要指定useUnicode和characterEncoding
// 執(zhí)行數(shù)據(jù)庫(kù)操作之前要在數(shù)據(jù)庫(kù)管理系統(tǒng)上創(chuàng)建一個(gè)數(shù)據(jù)庫(kù),名字自己定,
// 下面語(yǔ)句之前就碰山搭要先創(chuàng)建javademo數(shù)據(jù)庫(kù)
String url = “jdbc:
+ “user=root&password=root&useUnicode=true&characterEncoding=UTF8”;
try {
// 之所以要使用下面這條語(yǔ)句,是因?yàn)槲ǜ嬉褂肕ySQL的驅(qū)動(dòng),所以我們要把它驅(qū)動(dòng)笑拿起來(lái),
// 可以通過(guò)Class.forName把它加載進(jìn)去,也可以通過(guò)初始化來(lái)驅(qū)動(dòng)起來(lái),下面三種形式都可以
Class.forName(“com.mysql.jdbc.Driver”);// 動(dòng)態(tài)加載mysql驅(qū)動(dòng)
// or:
// com.mysql.jdbc.Driver driver = new com.mysql.jdbc.Driver();
// or:
// new com.mysql.jdbc.Driver();
System.out.println(“成功加載MySQL驅(qū)動(dòng)程序”);
// 一個(gè)Connection代表一個(gè)數(shù)據(jù)庫(kù)連接
conn = DriverManager.getConnection(url);
// Statement里面帶有很多方法,比如executeUpdate可以實(shí)現(xiàn)插入,更新和刪除等
Statement stmt = conn.createStatement();
sql = “create table student(NO char(20),name varchar(20),primary key(NO))”;
int result = stmt.executeUpdate(sql);// executeUpdate語(yǔ)句會(huì)返回一個(gè)受影響的行數(shù),如果返回-1就沒(méi)有成功
if (result != -1) {
System.out.println(“創(chuàng)建數(shù)據(jù)表成功”);
sql = “insert into student(NO,name) values(”,’陶偉基’)”;
result = stmt.executeUpdate(sql);
sql = “insert into student(NO,name) values(”,’周小俊’)”;
result = stmt.executeUpdate(sql);
sql = “select * from student”;
ResultSet rs = stmt.executeQuery(sql);// executeQuery會(huì)返回結(jié)果的,否則返回空值
System.out.println(“學(xué)號(hào)\t姓名”);
while (rs.next()) {
System.out
.println(rs.getString(1) + “\t” + rs.getString(2));// 入如果返回的是int類(lèi)型可以用getInt()
}
}
} catch (SQLException e) {
System.out.println(“MySQL操作錯(cuò)誤”);
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
} finally {
conn.close();
r
如何通過(guò)jdbc在數(shù)據(jù)庫(kù)當(dāng)中創(chuàng)建表格
如:
這里數(shù)據(jù)庫(kù)是Access表,數(shù)據(jù)庫(kù)名:Data, 表名:Student。手兄
package AccessSQL;
import java.awt.*;
import java.sql.*;
import java.awt.event.*;
import javax.swing.*;
/*
* 數(shù)據(jù)庫(kù)操作,插入,刪除,畢燃襲查詢(xún)等
*/
public class ModifyDisplay extends JFrame
implements ActionListener{
//定義各個(gè)組件
JLabel lbRow = new JLabel(\”段李行數(shù)\”);
JTextField tfRow = new JTextField();
連接打開(kāi)之后,用execute();執(zhí)行create table 語(yǔ)句就可以了
jdbc生成數(shù)據(jù)庫(kù)的介紹就聊到這里吧,感謝你花時(shí)間閱讀本站內(nèi)容,更多關(guān)于jdbc生成數(shù)據(jù)庫(kù),使用JDBC實(shí)現(xiàn)數(shù)據(jù)庫(kù)的生成,jdbc連接數(shù)據(jù)庫(kù)怎么使用數(shù)據(jù)庫(kù),如何通過(guò)jdbc在數(shù)據(jù)庫(kù)當(dāng)中創(chuàng)建表格的信息別忘了在本站進(jìn)行查找喔。
香港服務(wù)器選創(chuàng)新互聯(lián),2H2G首月10元開(kāi)通。
創(chuàng)新互聯(lián)(www.cdcxhl.com)互聯(lián)網(wǎng)服務(wù)提供商,擁有超過(guò)10年的服務(wù)器租用、服務(wù)器托管、云服務(wù)器、虛擬主機(jī)、網(wǎng)站系統(tǒng)開(kāi)發(fā)經(jīng)驗(yàn)。專(zhuān)業(yè)提供云主機(jī)、虛擬主機(jī)、域名注冊(cè)、VPS主機(jī)、云服務(wù)器、香港云服務(wù)器、免備案服務(wù)器等。
網(wǎng)站標(biāo)題:使用JDBC實(shí)現(xiàn)數(shù)據(jù)庫(kù)的生成(jdbc生成數(shù)據(jù)庫(kù))
網(wǎng)頁(yè)網(wǎng)址:http://www.dlmjj.cn/article/dhdpdjg.html


咨詢(xún)
建站咨詢(xún)
