有沒有辦法避免使用'?'對所有列名和值進行硬編碼?用彈簧標記? ,而不是將我的插入語句編寫爲insert into TABLE_NAME (x, y, z) values(?,?,?)
,因爲我有很多字段要設置,而不僅僅是3.我想要這樣的insert into TABLE_NAME (myobject)
。 該對象將具有列名稱和列值。我想用beanpropertuyrowmapper來做到這一點。插入表格避免使用彈簧對列名進行硬編碼
1
A
回答
0
使用Spring JPA Data + Hibernate。然後你可以很容易地保存數據。
如果你真的需要使用beanpropertuyrowmapper
那麼除非你使用JPA像KDS在Spring JdbcTemplate Querying Examples
1
看看說我不認爲你會擺脫對列名進行硬編碼。如果您在多個查詢中使用相同的列,則可以選擇將它們創建爲類中的CONSTANT並將它們連接到字符串查詢。這將允許你只需要在一個地方更新列名,以防經常發生變化。
如果你只是想擺脫「?」您始終可以使用Springs JDBC命名參數查詢。例如,
INSERT INTO TABLE_NAME (X, Y, Z)
VALUES (:xParam, :yParam, :zParam)
在你的方法,你將這些值添加到地圖本身,
final SqlParameterSource namedParameters = new MapSqlParameterSource.addValue("xParam", X.getName).addValue("yParam", Y.getName).addValue("zParam", Z.getName);
然後你會作出使用彈簧NamedParameterJdbcTemplate使用查詢和namedparameters通話。
相關問題
- 1. 有沒有辦法避免使用Mongoose進行硬編碼?
- 2. 如何避免在cronjob中對圖像url進行硬編碼?
- 3. 如何使用環境變量避免在database.yml中對postgresql的用戶名和密碼進行硬編碼?
- 4. 在表格中插入硬編碼值
- 5. 對錶格進行硬編碼以便用戶無法對其進行編輯
- 6. 在最佳實踐中避免在Apex中進行硬編碼
- 7. 的JavaScript:避免硬編碼鍵碼
- 8. 將名稱 - 值對錶轉換爲名稱爲列的單行表,而不對列名進行硬編碼
- 9. 如何避免在Sql更新觸發器中對Id進行硬編碼
- 10. 節點:如何避免在視圖中對URL進行硬編碼?
- 11. Xamarin.Forms:如何避免在MVVM綁定中對字符串進行硬編碼
- 12. SQL插入避免列名稱
- 13. 避免硬編碼證書mysqli php?
- 14. C#屬性\避免硬編碼值
- 15. 如何避免硬編碼字符串
- 16. 避免硬編碼字符串html
- 17. 避免硬編碼枚舉類型
- 18. 如何避免Java中的硬編碼
- 19. 避免在switch語句中硬編碼
- 20. ASP.NET - 避免硬編碼路徑
- 21. 避免MVC中的硬編碼角色?
- 22. 避免硬編碼服務器配置
- 23. DataTables - 如何避免硬編碼url?
- 24. 插入混合硬編碼和變量值時避免SQL注入?
- 25. 避免空進入名單
- 26. 在iOS中對UIButton進行編碼時避免重複代碼
- 27. 避免使用connection.execute進行sql注入
- 28. 概括爲列表一個mongodb彈簧請求,避免迴路
- 29. 避免硬編碼控制器和動作名稱
- 30. 如何避免HQL,Hibernate中的硬編碼字段名稱?
是的。那是爲了選擇。我不能用它插入嗎?有什麼辦法可以用來插入嗎? – user1918641