准备好的语句中的 Java 枚举到 mysql 枚举

标签 java mysql

使用常规语句(只是语句)我可以将 java 枚举放入查询中并且它工作得很好。使用准备好的语句我不能这样做吗?

最佳答案

MySQL 将其枚举类型视为查询的字符串。所以你应该能够使用 PreparedStatement.setString() 方法并将枚举名称传递给它:

preparedStatement.setString(1, MY_ENUM.name());

当然,这假设您的 java 和 MySQL 枚举的名称匹配。

注意 name() 被选择而不是 toString() 作为,根据文档:

name() This method is designed primarily for use in specialized situations where correctness depends on getting the exact name, which will not vary from release to release.

关于准备好的语句中的 Java 枚举到 mysql 枚举,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1639269/

相关文章:

mysql - SQL-从基于嵌套查询的表中删除

php - 使用php将数据从mysql传递到modal

java - 创建具有 3 个参数的 boolean 方法(String、int [非负]、double [仅限正])

java - 将 Java Long 值转换为 php 中的值

mysql - 将同一个表中的 2 个 SQL 查询合并为 1 个

mysql - 如何在使用 UNION mysql 查询时获取唯一值

php - 在允许 INSERT 尝试之前重复检查 mysql 表中的数据

Java - 使用多个完成阶段来形成一个响应 json

java - 使用 Hudson+Ant+Subversion 自动发布

java - HSM 与 Apache Tomcat 一起用于 HTTPS