如何将mysql中的select语句转换为java中的查询?

Posted

技术标签:

【中文标题】如何将mysql中的select语句转换为java中的查询?【英文标题】:How to convert a select statement in mysql into a query in java? 【发布时间】:2022-01-07 20:02:49 【问题描述】:

我在 mysql 中有一个 select 语句。

select * from tbl_user where path like '%,id,%'

如何将其转换为 Java 中的查询?我想通过id.

【问题讨论】:

好吧,但是你使用的是什么 DAO 库? 您可能想重新阅读How to Ask 并提高您的问题的质量,例如通过展示您到目前为止所尝试的内容。你是否已经了解 JDBC,如何创建连接,如何创建语句以及最重要的PreparedStatement 你需要学习 JDBC。这将完全满足您的需要。 我试过这种方法,但它不起作用。 @Query(value = "select u.id,u.role_id,u.user_name,u.path as 'Child Users' from tbl_user u where u.path like ?1", nativeQuery = true) Iterable findAllChildUsers(int id); 【参考方案1】:

也许

@Query(value = "select * from tbl_user where path like CONCAT('%,',?1,',%')", nativeQuery = true) 
Iterable<Tbl_user> findAllChildUsers(int id);

会有帮助

【讨论】:

这个方法我试过了,不行 @bin 我更新了我的答案,也许你应该在这里粘贴你的代码 谢谢,根据你的回答我改成了。 @Query(value = "select * from tbl_user where path like CONCAT('%,',?1,',%')", nativeQuery = true) Iterable&lt;Tbl_user&gt; findAllChildUsers(int id);【参考方案2】:

这取决于您使用的框架/库。 在休眠中你可以使用:id,但你还必须检查它是否是本机查询。

在某些库中,您只需将字符串作为查询传递。

【讨论】:

我正在使用 springframework 的 jdbc 库

以上是关于如何将mysql中的select语句转换为java中的查询?的主要内容,如果未能解决你的问题,请参考以下文章

如何将一句很长的SQL语句转换为java语句,以下(1)在MySQL中可运行出结果,(2)为本人转换的,好像不行

如何在 PHP PDO 中使用 UDF

mysql语句 如何将查出来的字符串转化为数字

mysql 如何实现Oracle中的这种日期查询?

在 Java 中将动态 SQL 查询转换为准备好的语句

在SQL语句里面如何将字符型转换成数字型?