weed3-2.1.开始纯java使用
生活随笔
收集整理的這篇文章主要介紹了
weed3-2.1.开始纯java使用
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Weed3 一個微型ORM框架(只有0.1Mb哦)
源碼:https://github.com/noear/weed3
源碼:https://gitee.com/noear/weed3
純java使用時,有三大接口可用:
db.table(..), db.call(..), db.sql()。一般使用db.table(..)接口進行鏈式操作居多。它的接口采用與SQL映射的方式命名。。。使用的人,容易想到能有哪些鏈式接口。像:.where(..) .and(..) .innerJoin(..)等...
鏈式操作的套路:
以db.table(..)開始。
以.update(..)或.insert(..)或.delete(..)或.select(..)。
其中.select(..)會返回IQuery接口,提供了各種類型結果的選擇。
首先,添加meven依賴
<dependency>
<groupId>org.noear</groupId>
<artifactId>weed3</artifactId>
<version>3.2.3.4</version>
</dependency>
<!-- 數據庫連接器,我就不管了 -->
然后,實例化數據庫上下文對象
所有weed3的操作,都是基于DbContext。所以要先實列化一下。。。
需要有配置,可以在application.properties獲取,可以通過配置服務獲取,可以臨時手寫一下。。
如果是 Spring 框架,可以通過注解獲取配置
如果是 solon 框架,可以通過注解 或 Aop.prop().get("xxx")獲取配置
2.有配置之后開始實列化DbContext。這里臨時手寫一下。
//使用Properties配置的示例
DbContext db = new DbContext(properties);
//使用Map配置的示例
DbContext db = new DbContext(map);
//使用proxool線程池配置的示例(好像現在不流行了)
DbContext db = new DbContext("user","proxool.xxx_db");
//使用DataSource配置的示例(一般使用連接池框架時用;推薦 Hikari 連接池)
//下行demo里用的正是 Hikari 連接池
DbContext db = new DbContext("user",new HikariDataSource(...));
//還有就是用url,username,password
DbContext db = new DbContext("user","jdbc:mysql://x.x.x:3306/user","root","1234");
/* 我平時都用配置服務,所以直接由配置提供數據庫上下文對象。 */
現在,開始做簡單的數據操作
常規查詢操作
//統計小于10的用戶數量
long num = db.table("user_info").where("user_id<?", 10).count();
//檢查用戶是不是存在
bool rst = db.table("user_info").where("user_id=?", 10).exists();
//獲取用戶性別
int sex = db.table("user_info").where("user_id=?", 10)
.select("sex").getValue();
//獲取一個用戶信息
UserModel mod = db.table("user_info").where("user_id=?", 10).and("sex=1")
.select("*").getItem(UserModel.class);
再來一把全套的"增刪改查"
//簡易.增
db.table("test").set("log_time", "$DATE(NOW())").insert();
//簡易.刪
db.table("test").where("id=?",1).delete();
//簡易.改
db.table("test").set("log_time", "$DATE(NOW())").where("id=?",1).update();
//簡易.查
var map = db.table("test").where("id=?",1).select("*").getMap();
關于條件的另一套接口
//where 組
whreEq(filed,val) //filed等于val
whereLt(filed,val) //小于
whereLte(filed,val) //小于等于
whereGt(filed,val) //大于
whereGte(filed,val) //大于等于
whereLk(filed,val) // LIKE
whereIn(filed,ary) // IN
whereNin(filed,ary) // NOT IN
//and 組
andEq(filed,val) //filed等于val
andLt(filed,val) //小于
andLte(filed,val) //小于等于
andGt(filed,val) //大于
andGte(filed,val) //大于等于
andLk(filed,val) // LIKE
andIn(filed,ary) // IN
andNin(filed,ary) // NOT IN
//or 組
orEq(filed,val) //filed等于val
orLt(filed,val) //小于
orLte(filed,val) //小于等于
orGt(filed,val) //大于
orGte(filed,val) //大于等于
orLk(filed,val) // LIKE
orIn(filed,ary) // IN
orNin(filed,ary) // NOT IN
//demo::
db.table("test").whereEq("id",1).delete();
db.table("test").whereEq("id",1).orEq("name","xidong").delete();
這是一個簡單的開始,希望能有個好的印象。
總結
以上是生活随笔為你收集整理的weed3-2.1.开始纯java使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 从wav到Ogg Opus 以及使用ja
- 下一篇: 打开VS2010提示“无效的许可证书,需