Java代码向MySQL中插入数据时,指定字符集为UTF-8的示例代码
时间: 2024-12-19 15:27:34 浏览: 4
在Java中,使用JDBC(Java Database Connectivity)操作MySQL数据库并指定字符集为UTF-8,你可以使用`java.sql.Connection`和`PreparedStatement`来执行SQL插入操作,并通过设置`CharacterEncoding`属性来指定字符集。以下是一个简单的示例代码:
```java
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
public class Main {
public static void main(String[] args) {
String url = "jdbc:mysql://localhost:3306/mydatabase?useUnicode=true&characterEncoding=utf8";
String username = "your_username";
String password = "your_password";
try {
// 加载MySQL驱动(这里假设你已经添加了mysql-connector-java.jar)
Class.forName("com.mysql.cj.jdbc.Driver");
// 建立连接
Connection conn = DriverManager.getConnection(url, username, password);
// 创建预编译的插入语句
String sql = "INSERT INTO my_table (column1, column2) VALUES (?, ?)";
PreparedStatement pstmt = conn.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS);
// 设置参数值,注意这里是UTF-8编码的字符串
pstmt.setString(1, "你好,世界"); // 参数1
pstmt.setString(2, "Hello, World"); // 可能需要根据实际表结构设置
// 执行插入
pstmt.executeUpdate();
// 获取自动增长的主键ID
ResultSet generatedKeys = pstmt.getGeneratedKeys();
if (generatedKeys.next()) {
long id = generatedKeys.getLong(1);
System.out.println("Inserted row with ID: " + id);
}
// 关闭资源
pstmt.close();
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
```
在这个例子中,我们设置了URL的`characterEncoding`参数为`utf8`,并在设置参数值时使用了对应的UTF-8编码。
阅读全文