温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

weed3-2.1中纯java使用是怎样的

发布时间:2021-09-28 11:04:16 来源:亿速云 阅读:142 作者:柒染 栏目:大数据

今天就跟大家聊聊有关weed3-2.1中纯java使用是怎样的,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

Weed3 一个微型ORM框架(只有0.1Mb哦)

纯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.2.4</version>
</dependency>

<!-- 数据库连接器,我就不管了 -->
然后,实例化数据库上下文对象
  • 所有weed3的操作,都是基于DbContext。所以要先实列化一下。。。

  1. 需要有配置,可以在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

//and 组
andEq(filed,val)  //filed等于val
andLt(filed,val) //小于
andLte(filed,val) //小于等于
andGt(filed,val) //大于
andGte(filed,val) //大于等于
andLk(filed,val) // LIKE

//or 组
orEq(filed,val)  //filed等于val
orLt(filed,val) //小于
orLte(filed,val) //小于等于
orGt(filed,val) //大于
orGte(filed,val) //大于等于
orLk(filed,val) // LIKE

//demo::
db.table("test").whereEq("id",1).delete();
db.table("test").whereEq("id",1).orEq("name","xidong").delete();

这是一个简单的开始,希望能有个好的印象。

看完上述内容,你们对weed3-2.1中纯java使用是怎样的有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注亿速云行业资讯频道,感谢大家的支持。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI