java如何建立数据库
在Java中建立数据库的步骤
使用Java建立数据库通常涉及JDBC(Java Database Connectivity)API,以下是详细操作流程:
配置数据库驱动
确保项目中包含对应数据库的JDBC驱动。以MySQL为例,Maven依赖如下:

<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.28</version>
</dependency>
建立数据库连接
通过DriverManager获取数据库连接,需指定URL、用户名和密码:
String url = "jdbc:mysql://localhost:3306/";
String username = "root";
String password = "password";
try (Connection conn = DriverManager.getConnection(url, username, password)) {
// 后续操作
} catch (SQLException e) {
e.printStackTrace();
}
创建数据库
使用Statement执行SQL命令创建新数据库:

try (Statement stmt = conn.createStatement()) {
String sql = "CREATE DATABASE IF NOT EXISTS my_database";
stmt.executeUpdate(sql);
}
创建数据表
切换到目标数据库后创建表结构:
String useDbSQL = "USE my_database";
String createTableSQL = """
CREATE TABLE users (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(50) NOT NULL,
email VARCHAR(100) UNIQUE
)""";
try (Statement stmt = conn.createStatement()) {
stmt.execute(useDbSQL);
stmt.execute(createTableSQL);
}
使用连接池优化(可选)
生产环境建议使用连接池如HikariCP:
HikariConfig config = new HikariConfig();
config.setJdbcUrl("jdbc:mysql://localhost:3306/my_database");
config.setUsername("root");
config.setPassword("password");
try (HikariDataSource ds = new HikariDataSource(config);
Connection conn = ds.getConnection()) {
// 业务操作
}
注意事项
- 不同数据库URL格式不同(Oracle/SQLite/PostgreSQL等需调整)
- 务必关闭资源(Java 7+的try-with-resources语法可自动处理)
- 敏感信息应通过环境变量或配置文件管理
- 表结构设计需符合数据库范式要求
完整示例代码
import java.sql.*;
public class DatabaseCreator {
public static void main(String[] args) {
String url = "jdbc:mysql://localhost:3306/";
String username = "root";
String password = "password";
try (Connection conn = DriverManager.getConnection(url, username, password);
Statement stmt = conn.createStatement()) {
stmt.execute("CREATE DATABASE IF NOT EXISTS inventory");
stmt.execute("USE inventory");
String createProducts = """
CREATE TABLE products (
product_id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100) NOT NULL,
price DECIMAL(10,2),
stock INT DEFAULT 0
)""";
stmt.execute(createProducts);
System.out.println("Database and table created successfully");
} catch (SQLException e) {
e.printStackTrace();
}
}
}
以上方法适用于大多数关系型数据库,需根据具体数据库类型调整驱动和连接参数。






