确认的,数据库可以用utf8mb4
时间: 2024-03-25 21:39:40 浏览: 14
如果你的MySQL数据库已经确认支持UTF8MB4编码,那么在Java中使用UTF8MB4编码连接数据库的代码应该可以正常运行。以下是一个完整的Java代码示例,可以连接MySQL数据库并使用UTF8MB4编码进行数据读写:
```
import java.sql.*;
public class Main {
public static void main(String[] args) {
String url = "jdbc:mysql://localhost:3306/mydb?useUnicode=true&characterEncoding=utf8mb4";
String username = "root";
String password = "password";
try {
Connection conn = DriverManager.getConnection(url, username, password);
// 创建表
Statement stmt = conn.createStatement();
String sql = "CREATE TABLE IF NOT EXISTS test (id INT PRIMARY KEY, name VARCHAR(50))";
stmt.executeUpdate(sql);
// 插入数据
sql = "INSERT INTO test (id, name) VALUES (?, ?)";
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setInt(1, 1);
pstmt.setString(2, "Hello 😃");
pstmt.executeUpdate();
// 查询数据
sql = "SELECT name FROM test WHERE id = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setInt(1, 1);
ResultSet rs = pstmt.executeQuery();
while (rs.next()) {
String name = rs.getString("name");
System.out.println(name);
}
conn.close();
} catch (SQLException e) {
System.out.println(e.getMessage());
}
}
}
```
在这个示例中,我们使用UTF8MB4编码连接MySQL数据库,并创建了一个名为test的表。然后,我们插入了一条包含emoji表情的数据,并查询了该数据。最后,我们关闭了数据库连接。