介绍
Obatis开源项目是基于springboot、springcloud、mybatis等开源技术,旨在快速集成、统一开发模式和技术标准、真正实现Java面向对象的思想致力于为中小企业提供Java快速开发服务。项目于2019年4月开源至GitHub,其中包括工具包(Obatis-tools)、 HTTP网络通信(Obatis-net)、Office文件操作(Obatis-office,目前仅支持Excel的读和写操作)、文件处理(Obatis-file,目前包含基于FTP连接池文件上传)、web应用开发(Obatis-web)、数据库编程(Obatis-orm)等子项目,代码托管地址:https://github.com/obatis。
项目立项的原则是面向中小企业(团队)提供Java开发服务,减少项目繁琐配置,规范数据的输入和输出格式。丰富的API接口,基于Spring项目、源于ORM思想,真正体现Java面向对象的编程思维,为开发者或团队提供开箱即用的开源项目。项目理念为风格一致、减少重复工作、提高团队协作效率。
更新日志
Obatis开源项目于2021年05月18日发布的全家桶最新版本为 1.0-release,更新内容包括:
1、优化获取HTTP请求信息;
2、增加des加密功能模块;
3、增加rsa加密功能模块;
4、NormalCommonConstant 更名为 NormalConstant;
5、Base64DecoderTool 更名为 Base64Decrypter;
6、Base64EncoderTool 更名为 Base64Encrypter;
7、DateCommonConvert 更名为 DateConvert;
8、JsonCommonConvert 更名为 JsonConvert;
9、PinYinCommonConvert 更名为 PinYinConvert;
10、优化文件上传的命名规则;
11、增加 IsVehicleLicense(验证车牌号)的注解;
12、将 ResultInfoOutput 更名为 ResultInfo;
13、增加IsContactNumber(验证联系电话)的注解;
14、长度校验标签最小值默认0;
15、增加对HttpRequestMethodNotSupportedException、HttpMediaTypeNotSupportedException 异常的拦截捕获;
16、修复request.getHeader("User-Agent”)获取到的值可能为null的bug;
17、增加座机号码的判断;
18、增加@ReturnTypeValue 注解,返回原生态的值,不对返回结果进行统一结构化处理;
19、obatis-upload更名为obatis-file,upload仅作为一个子模块;
20、BeanCommonConvert 更名为 BeanConvert;
21、ResponseDefaultErrorCode 更名为 ResponseErrorCode;
22、ResponseDefaultErrorStatus 更名为 ResponseErrorStatus;
23、优化网络请求工具类;
24、obatis-core更名为obatis-orm并成为独立的数据库编程模块,调整内部结构及数据库操作代理句柄API实现方式;
25、增加 obatis 全家桶入口依赖 obatis-starter;
26、遵循只做增强,不做修改的原则。启动类注解回归到 springboot 原生的 @SpringBootApplication 方式;
使用说明
Obatis开源项目采用 maven 结构,引入Obatis模块只需在pom.xml中引入maven配置即可。
Obatis全家桶依赖引用:
<dependency>
<groupId>com.obatis</groupId>
<artifactId>obatis-starter</artifactId>
<version>1.0-release</version>
</dependency>
Obatis web 依赖引用:
<dependency>
<groupId>com.obatis</groupId>
<artifactId>obatis-web</artifactId>
<version>3.0.1-release</version>
</dependency>
Obatis orm 依赖引用:
<dependency>
<groupId>com.obatis</groupId>
<artifactId>obatis-orm</artifactId>
<version>1.0-release</version>
</dependency>
项目启动类参考如下:
@SpringBootApplication
@EnableEurekaClient
@EnableFeignClients
@EnableCircuitBreaker
@EnableScheduling
public class ApplicationStartup {
public static void main(String[] args) {
SpringApplication.run(ApplicationStartup.class, args);
}
}
重新定义
此次更新,可以理解为 obatis 开源项目的技术革命,主要体现为 obatis-web 和 obatis-orm 两个子项目,增加 obatis-starter 子项目。目标为前两者均实现了在项目开发中可以单独使用,后者为全家桶引用。独立 obatis-orm 旨在为开发者在其他基于 springboot 的开发环境中使用 orm 数据库编程开发,让 obatis-orm 的使用更加灵活,不在拘泥于 obatis 技术体系,这也是后期规划中的一个目标。
Obatis 开源项目的技术框架和发展目标,本次更新已提现锥形,建议之前的历史版本升级。其中项目结构发生了调整,包含部分 API 方法,也包含类名以及方法名的优化。
Obatis 全家桶为包含了所有 Obatis 的子项目,一个依赖,包含全部功能。对于 obatis-web 和 obatis-orm 的调整,如果您有更好的意见,欢迎将宝贵意见发送至 Obatis 技术团队邮箱:account_dev@obatis.com。