![](/img/trans.png)
[英]How to write complex sql queries in properties file for java jdbc application
[英]How to write a query instead of writing 6-9 different queries in SQL for JDBC in Java
为了执行不同的操作,我编写了这 9 个查询
GET_ITEMS = "SELECT ITEM_ID,PART_NO,DESCRIPTION,SALE_PRICE,UPDATED_BY,UPDATED_DATE FROM ITEM ORDER BY ITEM_ID";
GET_ITEM_ID = "从项目中选择项目 ID";
GET_PART_NO = "从 ITEM_ID= 的项目中选择 PART_NO?";
UPDATE_PART_NO = "更新项目集 PART_NO=?WHERE ITEM_ID=?";
GET_SALE_PRICE = "从 ITEM_ID = 的项目中选择 SALE_PRICE?";
UPDATE_SALE_PRICE = "更新项目集 SALE_PRICE=?WHERE ITEM_ID=?";
GET_DESC = "从 ITEM_ID = 的项目中选择描述?";
UPDATE_DESC = "更新项目集描述 =?WHERE ITEM_ID=?";
INSERT_INTO_ITEMDUPLICATE ="替换为 ITEM_DUPLICATE (item_id,part_no,sale_price,description,barcode)SELECT
i.ITEM_ID,i.PART_NO,i.SALE_PRICE,i.DESCRIPTION,b.BARCODE FROM item i JOIN item_barcode b ON b.ITEM_ID = i.ITEM_ID WHERE i.ITEM_ID =?";
在我的 java JDBC 程序中。 但我想把它们写成两个查询,一个用于显示来自数据库的数据,另一个用于更新数据。 可能吗???。 我正在 Eclipse 中尝试这个,使用 mySQL 作为 DB。
任何人都可以帮忙解决这个问题吗?我正在尝试从 2 天内找到解决方案
这是我的控制台 output,最后如果用户给出 Y,那么我的数据将更新到 item_duplicate 表中。 为此,我还更新了项目表。 但是我只需要在新表中而不是在项目表中执行更新。
控制台 output:
但我想把它们写成两个查询,一个用于显示来自数据库的数据,另一个用于更新数据。 可能吗???
第一个查询将“显示”来自 ITEM 的数据,所以这很好,是的,您可以编写另一个更新数据的单个查询(尽管它可能需要在 java 代码中部分构建,具体取决于哪个字段(s ) 已经改变)
例如(编写,未编译):
string queryPrefix = "UPDATE ITEM SET ";
string querySuffix = " WHERE ITEM_ID=?";
List<String> queryUpdates = new ArrayList<String>;
List<object> queryParameters = new ArrayList<object>;
if (updatePartNumber) {
queryUpdates.add("PART_NO=?");
queryParameters.add(newPartNumber);
}
if (updateSalePrice) {
queryUpdates.add("SALE_PRICE=?");
queryParameters.add(newSalePrice);
}
// etc
string query = queryPrefix + String.join(",",queryUpdates) + querySuffix;
queryParameters.Add(itemId);
但是,您的最终查询完全是另一回事,我看不出如何将其混合到上面的逻辑中。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.