您好,登錄后才能下訂單哦!
本篇內容介紹了“如何理解weed3-2.2.插入和更新”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
源碼:https://github.com/noear/weed3 源碼:https://gitee.com/noear/weed3
支持常規賦值
String mobile="xxx"; //我的手機號不能寫 db.table("test") .set("mobile",mobile) //變量賦值 .set("sex",1) //常量賦值 .insert();
支持sql附值(這個是可以帶來方便的***) 如果值以:$開頭,表示后面為SQL代碼(不能出現空隔,且100字符以內。否則視為普通字符串值)
,如下:
//比如:當前時間賦值 db.table("test").set("log_time","$NOW()").insert(); //再比如:字段加1附值 db.table("test").set("num","$num+1") .where("id=?",1).update(); //再比如:根據另一個字段的md5,批量更新 db.table("test").set("txt_md5","$MD5(txt)") .where("id>? AND id<?",1000,2000).update(); /* 如何開啟或禁用功能?(其實,它是挺安全的)*/ //1.只控制本次操作是否使用此功能 db.table("test").usingExpr(false) // true 開啟,false 關閉 //2.全局配置開啟或關掉這個功能: WeedConfig.isUsingValueExpression=false; //全局默認關掉
支持map附值(字段不能是數據表里沒有的..)
Map<String,Object> map = new HashMap<>(); ... //插入 db.table("test").setMap(map).insert(); //更新 db.table("test").setMap(map).where("id=?",1).update();
支持 entity 附值(字段不能是數據表里沒有的..)
UserModel user = new UserModel(); //插入 db.table("test").setEntity(user).insert(); //更新 db.table("test").setEntity(user).where("id=?",1).update();
支持(沒有則插入,有則更新)的簡化操作
//簡化方案 db.table("test") .set("mobile","111") .set("sex",1) .set("icon","http://xxxx") .updateExt("mobile"); //此代碼相當于:(下面這個可麻煩了很多哦) if(db.talbe("test").where("mobile=?","111").exists()){ db.talbe("test") .set("mobile","111") .set("sex",1) .set("icon","http://xxxx") .insert() }else{ db.talbe("test") .set("sex",1) .set("icon","http://xxxx") .where("mobile=?","111").update(); }
支持根據情況附值(講法來怪怪的..)
//1.老套跑 var qr = db.table("test").set("sex",1); if(icon!=null){ qr.set("icon",icon); } qr.where("mobile=?","111").update(); //2.鏈式操作套路 db.table("test").set("sex",1).expre((tb)->{ //加個表達式 if(icon!=null){ tb.set("icon",icon); } }).where("mobile=?","111").update();
“如何理解weed3-2.2.插入和更新”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。