### Java利用JDBC连接数据库之插入数据
#### 技术方案概述
本文档详细介绍了如何使用Java编程语言结合JDBC(Java Database Connectivity)技术来实现与数据库的连接,并完成数据的插入操作。JDBC是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。本文档通过实例演示了整个过程,包括环境搭建、代码编写及运行结果展示。
#### 环境准备与配置
1. **创建Java项目**:
- 在IDE(如Eclipse或IntelliJ IDEA)中创建一个新的Java项目。
2. **下载JDBC驱动**:
- 从MySQL官方网站或其他可信来源下载适用于MySQL的JDBC驱动(也称为MySQL Connector/J)。确保下载的是最新版本的驱动。
- 解压缩下载的文件,得到`mysql-connector-java-x.x.xx.jar`等文件。
3. **添加JDBC驱动到项目**:
- 在项目中创建一个名为`libs`的文件夹。
- 将下载的JDBC驱动文件复制到`libs`文件夹中。
- 配置项目的构建路径,将`libs`文件夹添加进去。这样,编译器就能识别到JDBC驱动。
#### 编写代码
1. **导入必要的类库**:
```java
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
```
2. **编写主类**:
- 创建一个类`Ceshi`,并在其中定义`main`方法。
- 加载数据库驱动。
- 声明数据库URL、用户名和密码。
- 使用`DriverManager.getConnection()`方法建立数据库连接。
- 构建SQL语句并使用`PreparedStatement`执行插入操作。
```java
public class Ceshi {
public static void main(String[] args) {
try {
// 加载数据库驱动
Class.forName("com.mysql.jdbc.Driver");
// 数据库URL
String url = "jdbc:mysql://localhost:3306/view?useUnicode=true&characterEncoding=utf-8&useSSL=false";
// 数据库用户名和密码
String user = "root";
String password = "123456";
// 建立数据库连接
Connection conn = DriverManager.getConnection(url, user, password);
// SQL语句
String sql = "INSERT INTO ceshi (username, password, sex, age) VALUES (?, ?, ?, ?)";
// 创建PreparedStatement对象
PreparedStatement ps = conn.prepareStatement(sql);
// 设置参数值
ps.setString(1, "李四");
ps.setString(2, "aaa");
ps.setString(3, "男");
ps.setInt(4, 23);
// 执行插入操作
ps.executeUpdate();
// 关闭连接
conn.close();
System.out.println("数据插入成功!");
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
```
#### 运行与验证
1. **运行程序**:
- 在IDE中运行`Ceshi`类的`main`方法。
2. **验证结果**:
- 查看数据库中的`ceshi`表是否新增了一条记录。
- 记录内容应为:`username='李四'`, `password='aaa'`, `sex='男'`, `age=23`。
#### 总结
本示例展示了如何使用Java和JDBC技术来连接MySQL数据库,并实现数据的插入操作。通过上述步骤,我们可以看到完整的开发流程,从环境搭建、代码编写到最终的结果验证。这对于初学者来说是一个很好的实践案例,有助于理解JDBC的基本用法和Java数据库编程的基本概念。此外,还可以进一步扩展该示例,比如增加异常处理机制、优化SQL语句以及提高代码的可读性和可维护性等。