JDBC PreparedStatement 的 setString 传值中文数据库显示为????

踩了一下午的坑,,出错的原因很多可能跟我一样吧
建数据库时候已经设置了数据库编码格式为utf8
create table students(

)character set utf8 collate utf8_general_ci;
通过表单传值给数据库,但是插入后却全部汉字显示????
在这里插入图片描述
解决方法:
数据库mather后的?characterEncoding=UTF-8将编码设为utf-8
String url = “jdbc:mysql://localhost:3306/databas_name**?characterEncoding=UTF-8**”;
String username = “root”;
String password = “password”;
Connection conn = DriverManager.getConnection(url, username,
password);

建议加上&serverTimezone=UTC
(以免报时区错误,即jdbc:mysql://localhost:3306/project?serverTimezone=UTC&characterEncoding=utf-8)

  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
要将Flowable保存到数据库中,你可以按照以下步骤进行操作: 1. 创建一个与数据库表对应的Java类,用于存储Flowable的数据。 2. 在该类中,定义Flowable需要保存的字段,例如ID、名称、描述等。 3. 使用数据库连接工具,如JDBC或者ORM框架(如MyBatis、Hibernate等),建立与数据库的连接。 4. 在代码中获取Flowable的数据,并将其存储到创建的Java类对象中。 5. 使用数据库连接工具,将Java类对象保存到数据库中。 下面是一个简单的示例代码,演示了如何保存Flowable到数据库中: ```java import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.SQLException; public class FlowableDao { // 数据库连接参数 private static final String URL = "jdbc:mysql://localhost:3306/mydatabase"; private static final String USERNAME = "username"; private static final String PASSWORD = "password"; public void saveFlowable(Flowable flowable) { try { // 建立数据库连接 Connection conn = DriverManager.getConnection(URL, USERNAME, PASSWORD); // 准备SQL语句 String sql = "INSERT INTO flowables (id, name, description) VALUES (?, ?, ?)"; PreparedStatement stmt = conn.prepareStatement(sql); // 设置参数 stmt.setString(1, flowable.getId()); stmt.setString(2, flowable.getName()); stmt.setString(3, flowable.getDescription()); // 执行SQL语句 stmt.executeUpdate(); // 关闭连接和语句 stmt.close(); conn.close(); } catch (SQLException e) { e.printStackTrace(); } } } ``` 在上述示例中,我们创建了一个名为FlowableDao的类,其中的saveFlowable方法用于保存Flowable到数据库中。你可以根据实际需求,进行适当的修改和扩展。记得将URL、USERNAME和PASSWORD更改为你自己的数据库连接参数。 希望这对你有帮助!如有任何问题,请随提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值