# data-sdk **Repository Path**: FreeCode/data-sdk ## Basic Information - **Project Name**: data-sdk - **Description**: 拒绝sql Nosql 封装jdbc底层 简化CRUD操作 支持各种数据库 MySQL/sqlite/Oracle/SQL Server/DB2 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2018-07-18 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # data-sdk #### 项目介绍 该jar包 是在作者 为了快速开发 的情况下产生的。 不希望使用mybatis 那种配置xml的方式 不想使用一个数据库操作一条sql 的这种繁琐的方式。 查询理念是参考elasticsearch 的查询方式 将 开发者 需要的查询条件 转译成 sql 方便执行。 未来的愿望是干掉mybatis。尽量支持超级复杂的查询。 开发者只需要关注 业务操作 尽量少写sql 最终完成 无需再写 sql。 目前实现了 1通过主键id获取单条数据(默认主键必须是id) 2根据查询条件获取 首条数据 (该方式只支持完全匹配 即例子中出现的这个方式) 3根据查询条件获取多条数据 支持:完全匹配/模糊匹配/区间范围 4新增(单条/批量)数据 5修改(单条/批量)数据 6删除(单条/批量)数据 #### 使用说明 使用jdbc底层对 操作数据库 进行封装 支持绝大多数数据库 关键点说明 建表的时候 id 必须为主键 还有一个 create_time 字段必须有 range 范围查询 模式分2种 rangeOne num1->num2 示例 2017-08-09->2019-09-17 rangeTwo 示例 {"gt","28"} 大于28的意思 "gt","大于" "lt","小于" "gte","大于等于" "lte","小于等于" "ne","不等于" 等于 可以使用 term 模式 不纳入range范围中 #### 目前支持数据库 sqlite/mysql 因为采用的是标准SQL语言 理论上 支持 绝大多数数据库 未试验oracle/DB2等其他数据库 兄弟们可以自行测试,如果未支持,后续会更新上来 #### 示例 数据源配置 ![输入图片说明](https://gitee.com/uploads/images/2018/0702/111725_60b0b529_1630010.png "屏幕截图.png") 简单示例 比如你想要查询用户表中某一个用户编号的用户 代码片段 @Autowired private JdbcRunner run; Map user_info =run.queryFirstByRName("user_info",ImmutableMap.of("usercode",usercode)); 是不是很简单 很舒服。