-
Notifications
You must be signed in to change notification settings - Fork 60
2、SuidRich接口,单表操作都不需要写sql
互联网刷新了整个软件技术栈。微服务、大数据,软件需求变化快,编码量大。全新理念的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
或: