IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> BeeV1.11 企业版使用说明 -> 正文阅读

[大数据]BeeV1.11 企业版使用说明

??

BeeV1.11 企业版:

为了给大家提供更多更强大的功能,Bee团队与企业合作,推出企业版本.

新增特性

我们希望提供更多简单易用的Bee功能!进一步提高开发效率!?

  • 1.降低金融计算型项目开发难度,简化金融数字计算等
  • 2.@AutoSetString注解易用性改进,轻松处理像CreateBy,UpdateBy等自动填充功能
  • 自动插入租户的值
  • 3.@Desensitize,敏感信息模糊处理
  • 4.@Dict具体字段字典数值转化
  • 5.@DictI18n多语言国际化字典转化,全局统一设置,无需逐个设置,省时省力
  • 6.@MultiTenancy多租户
  • 7.@Column实现Javabean属性与表列名不一致时,定义映射关系(新系统不建议使用,主要是为了兼容旧系统)
  • 8.@Json实体属性是Javabean与DB表Json类型字段在参数设置与查询结果时自动转换
  • 9.支持EDI XML电子报文自动生成

1.简化金融数字计算

		System.out.println(BeeFinancialCalculator.calculate("(4+5)*(3-2)")); //9
		System.out.println(BeeFinancialCalculator.calculate("(4+5)*(3/2)")); //13.50

不再需要重复使用BigDecimal手工编码实现.

2.@AutoSetString注解,自动填充值

易用性改进,轻松处理像CreateBy,UpdateBy等自动填充功能

以下以自动填充创建人为例:

实体字段:

handler=CreateByHandler.class 用于指定处理逻辑的类

	@AutoSetString(handler=CreateByHandler.class,suidType=SuidType.INSERT)
	private String createBy;

处理器:

public class CreateByHandler implements AnnotationHandler{

	@Override
	public String process() {
		return "Admin";  //自动填充创建人. 如,可根据自己项目,获取当前用户作为创建人.
	}

//	可以检测输入的值,然后决定是否要覆盖.
	@Override
	//不作任何处理
	public String process(String s) {
		return s;
	}

	@Override
	@SuppressWarnings("rawtypes")
	public String process(Map para) {
		return null;
	}

}

3.@Desensitize,敏感信息模糊处理

@Desensitize(start=5, size=2, mask="*")
private String sequence;
sequence in the database is: 0123456789
after process:
sequence=01234**789

start=5, size=2, mask="*"? ?指定从第5位开始, 用*替换2位字符.

4.@Dict具体字段字典数值转化

比如 0 转化为 女, 1 转化为 男,? null转为未知

//	@Dict(map = "0=女,1=男")
	@Dict(map = "0=女,1=男",nullToValue="未知")
	private String sex;

5.@DictI18n多语言国际化字典转化,全局统一设置,无需逐个设置,省时省力

	@DictI18n
	private String majorid;

在实体javabean中只需加@DictI18n, 不用写映射关系.??

映射关系可在数据中配置,并加载到系统.

具体使用,可加群咨询.?Bee的技术QQ群:992650213

6.@MultiTenancy多租户

根据id的值为租户寻找所在的数据库和表.? id为null时,默认选择默认的库和表

//	@MultiTenancy(dsRule = "id%2",dsName = "bee",tabRule = "id%2",tabName = "student_")  //student_1
//	@MultiTenancy(dsRule = "id%2",dsName = "bee",tabRule = "id%3",tabName = "student")  //student2
	@MultiTenancy(dsRule = "id%2",dsName = "bee",tabRule = "id%3")  //student2
    private Long id;

dsRule是配置数据源名称规则,默认是后缀;?tabRule是表名规则,默认是表后缀

7.@Column

@Column实现Javabean属性与表列名不一致时,定义映射关系(新系统不建议使用,主要是为了兼容旧系统)

	@Column("place")
	private String place2;

8.@Json实体属性是Javabean与DB表Json类型字段在参数设置与查询结果时自动转换

	@Json
	private JsonValue jsonValue;
public class Dept implements Serializable {

	private static final long serialVersionUID = 1599384498761L;

	private Integer id;
	private String deptName;
	@Json
	private JsonValue jsonValue;

    //...
}

直接查询Json数据,由Bee负责转化

//		直接查询Json数据,由Bee负责转化.
		List<Dept> list=suid.select(new Dept());
		Logger.info(list.get(0).getJsonValue().getDeptId());
		Logger.info(list.get(0).getJsonValue().getDeptName());
		Printer.printList(list);

插入操作:

        JsonValue jsonValue=new JsonValue();
		jsonValue.setDeptName("test Json");
		jsonValue.setDeptLeaderId("test Json");
		
		Dept d=new Dept();
		d.setJsonValue(jsonValue);
		d.setId(11118);
		suid.insert(d);
[INFO] [Bee] select SQL: select id,dept_name,json_value from dept   [values]: 
[INFO] [Bee] select SQL:  ( ExecutableSql )
select id,dept_name,json_value from dept


[INFO] [Bee] insert SQL: insert into dept(id,json_value) values (?,?)   [values]: 11118,{"deptId":null,"deptName":"test Json","deptLeaderId":"test Json"}
[INFO] [Bee] insert SQL:  ( ExecutableSql )
insert into dept(id,json_value) values (11118,'{"deptId":null,"deptName":"test Json","deptLeaderId":"test Json"}')

插入时,自动将javabean结构转成Json字段串;

查询时,自动将Json字段串转成属性对应的javabean实体结构.

@Json
?private List<JsonValue> list;

List结构的, 具体使用,可加群咨询.?Bee的技术QQ群:992650213

9.支持EDI XML电子报文自动生成

将实体结构数据,自动转成xml报文

		Clazz1 clazz1=new Clazz1();
		clazz1.setId(1);
		
		Student1 student=new Student1();
		student.setAge(11);
		clazz1.setStudent(student);

		XmlConfig config=new XmlConfig();
		config.setNullAndEmpty(NullAndEmpty.NullToEmpty);
		System.err.println(XmlUtil.toXML(clazz1,config));

生成的xml报文:

<?xml version="1.0" encoding="UTF-8"?>
<Clazz1>
	<id>1</id>
	<classname></classname>
	<place></place>
	<teachername></teachername>
	<remark></remark>
	<Student1>
		<id></id>
		<sid></sid>
		<name></name>
		<age>11</age>
		<sex></sex>
		<majorid></majorid>
		<flag></flag>
		<classno></classno>
		<StudentHobby>
			<id></id>
			<stuId></stuId>
			<hobby></hobby>
			<remark></remark>
		</StudentHobby>
	</Student1>
</Clazz1>
  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-05-09 12:46:25  更:2022-05-09 12:47:17 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 22:51:06-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码