Skip to content

2、SuidRich接口,单表操作都不需要写sql

Bee edited this page Jun 30, 2020 · 1 revision

互联网刷新了整个软件技术栈。微服务、大数据,软件需求变化快,编码量大。全新理念的ORM框架Bee, 以应对互联网时代的代码编写。Bee入门简单,使用方便,功能强大。

目前Bee最新版本是:1.7.2

maven依赖配置如下:

<dependency>

          <groupId>org.teasoft</groupId>

          <artifactId>bee</artifactId>

          <version>1.7.2</version>

      </dependency>

 

      <dependency>

          <groupId>org.teasoft</groupId>

          <artifactId>honey</artifactId>

          <version>1.7.2</version>

      </dependency>

可以在配置文件bee.properties,添加

bee.osql.showSQL=true

控制是否输出sql语句.

Suid接口只有简单的select(T entity),update(T entity),insert(T entity),delete(T entity)接口.

后来是增加了两个方法: select(T entity,Condition condition),

delete(T entity,Condition condition)

可以看出Suid接口是非常简单的,但却包含了SQL的四种常用操作select、update、insert、delete。而接口名称正是这四种操作首字母的简称。在这个接口里,默认过滤NULL和空字符串,这样就省去了许多烦琐的判断语句。因为许多时候,我们都是不需要NULL和空字符串的字段转成SQL语句的。

问题来了,当我们想将NULL和空字符串的字段转化到SQL语句操作数据时,怎么办呢?这就是本文所要讲解的SuidRich接口。这个接口包括丰富的Suid操作。是否需要NULL和空字符串可以通过IncludeTypeincludeType参数来设置。它有三个值,如下所示:

INCLUDE_NULL(0),

  INCLUDE_EMPTY(1), // ""

INCLUDE_BOTH(2); // NULL and ""

如:insert(orders,IncludeType.INCLUDE_EMPTY);

声明插入时就包括空字符的字段,而不包括null的字段。这对于一些字段由DB来生成值是比较合理的。像更新时间字段,要是由前端传入,可能被篡改,若由数据库触发生成,则更安全,此时插入的语句就不需要转换该字段。

在SuidRich接口中,分别有四个suid方法带有IncludeType参数。

其它相关的方法介绍.

对于Select相关的方法,有可以分页,排序,使用聚合方法, 还有可以直接返回Json数据的selectJson,所有字段统一返回字符串的selectString, 还有可以查询部分字段的,根据需要获取少量字段。

查询一个对象的:selectOne

根据id操作的:

selectById

deleteById

对于insert还有批处理方法,以便提高效率。

update可以分别指定where条件的字段,和需要更新的字段;没有指定的则作为另一部分字段,比如一个实体有50个字段,指定了10个字段是需要更新,则其余40个字段,作为过滤的条件转化成where条件(其中NULL和空字符串的字段是否需要转化也可用IncludeType参数控制)。

输入图片说明

更多相关样例,请访问:

https://github.com/automvc/bee-exam

或:

https://gitee.com/automvc/bee-exam