![](/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.