java - 如何在 Java 中将 select 构建到查询中

标签 java sql hibernate jdbc

问题 - 如何创建表并根据 Java 生成的查询插入数据?

背景 - 查询基于一系列表(大约 20 个),但有一些常见操作,例如在 FK 上左连接到相同的表以及相同的 where 子句。我正在寻找一种干净的方法来创建 20 个查询,而无需重写相同的连接 20 次。

到目前为止我做了什么 -

我构建了一个小型应用程序,它执行中等复杂的查询(子查询、联合、左连接)并使用 ; 将查询结果插入到新表中

Select col1 as new_col1, col2 as newcol_2 
  into new_table 
from ( .... )

我通过编写一个基本 SQL 文件来完成此操作,该文件包含列名和 new_table 的占位符,然后我在 Java 代码中使用简单的字符串替换来替换它。我创建了大约 20 个不同的基本 SQL 文件,因为 from ( .... ) 部分引用了不同的表,并且在没有一些库的情况下构建该部分查询有点太复杂。

最佳答案

将 Java 对象包装在数据库周围的一种简单方法是创建实体类和 Controller 。 Netbeans 有很好的工具来帮助您生成实体和 Controller 类。文档 here .

文件->新文件

然后从数据库中搜索实体类,按照向导中的步骤操作。

类(class)完成后,您将需要制作 JPA Controller

文件->新文件

然后搜索JPA Controller 表单实体类。

选择所有实体类并生成!一旦您这样做了,我将向您展示如何使用所述实体和控件!

关于java - 如何在 Java 中将 select 构建到查询中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40856167/

相关文章:

java - Tomcat:JSP 无法识别我的类文件

java - 我如何代表第三方运行不受信任的代码?

sql - Select * sql query vs Select specific columns sql query

java - @Id 不创建主键

java - org.hibernate.exception.SQLGrammarException : could not execute query

java - 在android中使用日期作为文本的sqlite查询?

MySQL 查询 - 条件(比较字符串)不起作用

java - 是否可以创建一个准备好的语句并稍后在 postgres 下使用 Java 重用它?

java - 使用 ehcache 进行多层缓存

java - Kafka 消费者卡在 iterator.hasNext() 处(实际上是暂停和恢复),即使主题中有大量消息可供使用