首页 > GitHub

在线自动生成32位id,GitHub

互联网 2021-03-07 00:25:40
在线文档https://github.com/sagframe/sqltoy-online-docWORD版详细文档(完整)请见:docs/睿智平台SqlToy4.18 使用手册.doc范例演示项目快速上手主要功能项目https://github.com/sagframe/sqltoy-quickstart阅读其readme.md学习POJO和DTO 严格分层演示项目https://github.com/sagframe/sqltoy-strictsharding分库分表演示https://github.com/sagframe/sqltoy-showcase/tree/master/trunk/sqltoy-shardingnosql演示(mongo和elasticsearch)https://github.com/sagframe/sqltoy-showcase/tree/master/trunk/sqltoy-nosqlsqltoy基于xml配置演示https://github.com/sagframe/sqltoy-showcase/tree/master/trunk/sqltoy-showcaseQQ 交流群:531812227码云地址: https://gitee.com/sagacity/sagacity-sqltoy最新版本号: 4.18.3 发版日期: 2021-02-26级联操作进行优化,精简级联配置,增加OneToOne类型的支持修复xml定义sql中number-format和date-format多个参数换行没有trim的缺陷优化cache-arg 反向通过名称匹配key,将之前字符串包含变为类似数据库like模式,可以实现:中国 苏州 带空格的模式匹配1. 前言1.1 sqltoy-orm是什么

sqltoy-orm是比hibernate+myBatis更加贴合项目的orm框架(依赖spring),具有jpa式的对象CRUD的同时具有比myBatis(plus)更直观简洁性能强大的查询功能。支持以下数据库:

oracle 11g+db2 9.5+,建议从10.5 开始mysql(mariadb/innosql) 支持5.6、5.7、8.0 版本postgresql(greenplum) 支持9.5 以及以上版本sqlserver 2012+sqliteDM达梦数据库elasticsearch 只支持查询,版本支持5.7+版本,建议使用7.3以上版本clickhouseoceanBaseguassdbtidbkingbasemongodb (只支持查询)sybase_iq 支持15.4以上版本,建议使用16版本1.2 sqltoy-orm 发展轨迹2007~2008年,做农行的一个管理类项目,因查询统计较多,且查询条件多而且经常要增加条件,就不停想如何快速适应这种变化,一个比较偶然的灵感发现了比mybatis强无数倍的动态sql写法,并作为hibernate jpa 查询方面的补充,收到了极为震撼的开发体验。可以看写于2009年的一篇博文: https://blog.csdn.net/iteye_2252/article/details/816839402008~2012年,因一直做金融类企业项目,所面对的数据规模基本上是千万级别的,因此sqltoy一直围绕jpa进行sql查询增强,期间已经集成了缓存翻译、快速分页、行列旋转等比其他框架更具特色的查询特性。2013~2014年,因为了避免让开发者在项目中同时使用两种技术,因此在sqltoy中实现了hibernate 基于对象的crud功能(并优化了其不足),形成了完整的sqltoy-orm框架。2014~2017年, 因需要面对拉卡拉十亿级别的数据规模,对sqltoy进行了大幅重构,实现了底层结构的合理化,并在拉卡拉CRM和日均千万级累计达几十亿级别的数据平台上得到了强化和检验。2018~至今,在ERP复杂场景下得到了充分锤炼,sqltoy已经非常完善可靠,开始开源跟大家一起分享和共建!2. 快速特点说明2.1 对象操作跟jpa类似并有针对性加强(包括级联) StaffInfoVO staffInfo = new StaffInfoVO(); //保存 sqlToyLazyDao.save(staffInfo); //删除 sqlToyLazyDao.delete(new StaffInfoVO("S2007")); //public Long update(Serializable entity, String... forceUpdateProps); // 这里对photo 属性进行强制修改,其他为null自动会跳过 sqlToyLazyDao.update(staffInfo, "photo"); //深度修改,不管是否null全部字段修改 sqlToyLazyDao.updateDeeply(staffInfo); List staffList = new ArrayList(); StaffInfoVO staffInfo = new StaffInfoVO(); StaffInfoVO staffInfo1 = new StaffInfoVO(); staffList.add(staffInfo); staffList.add(staffInfo1); //批量保存或修改 sqlToyLazyDao.saveOrUpdateAll(staffList); //批量保存 sqlToyLazyDao.saveAll(staffList); ............... sqlToyLazyDao.loadByIds(StaffInfoVO.class,"S2007") //唯一性验证 sqlToyLazyDao.isUnique(staffInfo, "staffCode");2.2 支持代码中对象查询sqltoy 中统一的规则是代码中可以直接传sql也可以是对应xml文件中的sqlId/** * @todo 通过对象传参数,简化paramName[],paramValue[] 模式传参 * @param * @param sqlOrNamedSql 可以是具体sql也可以是对应xml中的sqlId * @param entity通过对象传参数,并按对象类型返回结果 */ publicList findBySql(final String sqlOrNamedSql, final T entity);基于对象单表查询,并带缓存翻译public PaginationModel findStaff(PaginationModel pageModel, StaffInfoVO staffInfoVO) { // sql可以直接在代码中编写,复杂sql建议在xml中定义 // 单表entity查询场景下sql字段可以写成java类的属性名称 return findEntity(StaffInfoVO.class, pageModel, EntityQuery.create() .where("#[staffName like :staffName]#[and createTime>=:beginDate]#[and createTime
免责声明:非本网注明原创的信息,皆为程序自动获取自互联网,目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责;如此页面有侵犯到您的权益,请给站长发送邮件,并提供相关证明(版权证明、身份证正反面、侵权链接),站长将在收到邮件24小时内删除。

相关阅读