spring boot框架動態調用處理sql

spring boot框架動態調用處理sql

在開發過程中很多時候,新增、修改的時候,如碰到表字段過多,編寫sql語句很麻煩,又擔心語句有問題,可以試試Mybaits的動態SQL註解來解決這個問題,如:@UpdateProvider、@InsertProvider、@SelectProvider

下面看一段示例:

public String addJxkhMain(List<UploadColumnInfo> list, Map<String, Object> params) {
		return new SQL() {
			{
				INSERT_INTO("t_jxkh_main");
				for (UploadColumnInfo info : list) {
						Boolean bool = params.containsKey(info.getColname());
						if (bool) {
							switch (info.getColtype()) {
								case "C":
									VALUES(info.getColname(), "'" + params.get(info.getColname()).toString() + "'");
									break;
								case "D":
									VALUES(info.getColname(), "'" + params.get(info.getColname()).toString() + "'");
									break;
								case "N":
									if (!StringUtils.isEmpty(params.get(info.getColname()).toString())) {
										VALUES(info.getColname(), ValidUtil.isNumeric1(params.get(info.getColname()).toString()));
									} else {
										VALUES(info.getColname(), "''");
									}
									break;
							}
						}
				}
			}
		}.toString();
	}

上面是一個新增的動態sql處理語句,在開發過程中可以解決很多麻煩。個人覺得挺好用的,給大家分享下
Mapper中通過下面方式定義:

 @InsertProvider(type = HospSqlMapper.class, method = "addOutpatientCardInfo")

跟再xml編寫sql語句其實是一樣的。
但是利用這種方式,需要請求接口時,所傳參數必須跟數據庫匹配,避免兩個端都驗證參數是否準確。

如果對你有用,記得點個關注,謝謝~~~~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章