一个小型的DBHelper的诞生(1)
一直想做一个自己的简单的 DBHelper 。没有其他原因,只是其他的轮子用起来感觉太重了。
设计的大体思路如下:
大体方向:
生成一个简单版本的DB层,需要支持数据库 MySql,Oracle,SqlServer的操作。
有一个简单的配置工具,支持代码生成器。
可以脱离数据库的主外键关系,而自动设置关系进去。
可生成数据库的描述Excel, 以及数据库的关系图(该图形中可以只包含主外键),方便新程序员读懂读好数据库结构
1:简单版本的DB层
1期
支持批量的增删改查操作。需要进行性能测试
支持事务。
支持常规的数据库字段校验。
支持分页查询,速度需要优化。
支持逻辑删除,和删除两种操作
对逻辑删除来说,关系表的操作需要做特殊处理(先查询,如果有,则还原。没有则新增)
对逻辑删除的时候,支持可还原步骤的方法。
防止SQL注入处理
对一对多,多对一,一对一的查询方法返回各自的Id。(注不可太过,只能为一级关系的就行)
2期
考虑缓存数据,及缓存同步问题
考虑交叉数据库的事务
如果各位网友认为还有比较常用的功能点,可以考虑集成进来。如有有意见,或者有想法一起完整这个工具。请联系QQ 591137223
一个小型的DBHelper的诞生(1)的更多相关文章
- 我是怎么开发一个小型java在线学习网站的
2016/1/27 11:55:14 我是怎么开发一个小型java在线学习网站的 一直想做一个自己的网站(非博客),但是又不知道做什么内容的好,又一次看到了w3schools,就萌发了开发一个在线ja ...
- 30分钟搭建一个小型网站框架(python django)
最近因为要做一个小型的网站,需求很简单有点像公司内部的管理网站,和室友一起倒腾,发现了一些坑.我自己之前没有接触过python 但是发现真的非常好上手. 我们没人会前端,所以最怕修改网页,一开始选择了 ...
- sChart.js:一个小型简单的图表库
介绍 sChart.js 作为一个小型简单的图表库,没有过多的图表类型,只包含了柱状图.折线图.饼状图和环形图四种基本的图表.麻雀虽小,五脏俱全.sChart.js 基本可以满足这四种图表的需求.而它 ...
- 开源 PetaPoco 扩展~一个小型轻巧的ORM~
PetaPoco http://www.toptensoftware.com/petapoco/ |PetaPoco is a tiny, fast, single-file micro-ORM fo ...
- ZYThumbnailTableView---堪比一个小型阅读App
Demo github地址: https://github.com/liuzhiyi1992/ZYThumbnailTableView 原文地址:http://zyden.vicp.cc/zythum ...
- 怎样自己构建一个小型的Zoomeye----从技术细节探讨到实现
转载请注明出处:viewmode=list">http://blog.csdn.net/u011721501?viewmode=list 0.概述 Zoomeye是个网络空间的搜 ...
- MSYS是一个小型的GNU环境,包括基本的bash,make等等,与Cygwin大致相当(双击“D:\MinGW\msys\1.0\msys.bat”,启动MinGW终端)
1 简介 MinGW,是Minimalist GNUfor Windows的缩写.它是一个可自由使用和自由发布的Windows特定头文件和使用GNU工具集导入库的集合,允许你在GNU/Linux和 ...
- kube框架结构-一个小型响应式CSS框架
当你开始初建一个新的项目时,你可能需要一个不太复杂的基础框架,Kube框架应该是你最好的选择.一个独立的CSS文件,帮助你更简单的创建响应式的的布局设计. Kube Framework包括网格.按钮. ...
- linux系统编程综合练习-实现一个小型的shell程序(四)
上节中已经对后台作业进行了简单处理,基本上要实现的功能已经完了,下面回过头来,对代码进行一个调整,把写得不好的地方梳理一下,给代码加入适当的注释,这种习惯其实是比较好了,由于在开发的时候时间都比较紧, ...
随机推荐
- 根据获取Enum名获取对应的值通用方法(仅限值为int的)
/// <summary> /// 获取枚举对应的值 /// </summary> /// <typeparam name="T">枚举类型&l ...
- Android编译错误——undefined reference to
[错误描述] 未定义引用 提示如下:bootable/recovery/minzip/Zip.c:1122: error: undefined reference to 'selabel_lookup ...
- 移动端影像解决方案Adobe Creative SDK for ios
移动端影像解决方案Adobe Creative SDK for ios 2015-12-20 分类:整理 阅读(390) 评论(0) 老牌影像界泰斗不甘落寞,正式推出了Adobe Creative ...
- 多线程并发编程之显示锁ReentrantLock和读写锁
在Java5.0之前,只有synchronized(内置锁)和volatile. Java5.0后引入了显示锁ReentrantLock. ReentrantLock概况 ReentrantLock是 ...
- eclipse 和myEclipse 项目导入
经常在eclipse/myeclipse中导入web项目时,出现转不了项目类型的问题,导入后就是一个java项目. 有两种情况: 一.eclipse无法识别其他eclipse的web项目 解决步骤: ...
- Python中关于try...finally的一些疑问
最近看Vamei的Python文章,其中一篇讲异常处理的,原本看完没啥疑惑,或许是自己想的简单了. 看到评论,一个园友的问题引起我的兴趣. 他的问题是 def func(x): try: return ...
- php-mysql 问题笔记一——在命令行中可以执行的sql语句,无法从php页面页面执行!
我的情况: 1.由于外键较多,插入数据时,提前关闭外键(SET FOREIGN_KEY_CHECKS=0). 2.所使用的sql语句中,有外键绑定到其他表中,所以无法从php页面插入. 原因分析: S ...
- struts2笔记10-值栈
1.问题 提交页面: <h4>注册产品</h4> <form action="save.do" method="post"> ...
- 通宵疯狂积累VB.NET基础知识
VB.NET中Module的概念 为什么VB.NET中会有一个Module的东西,而在C#等语言中是没有的 首先,这是一个历史原因.早先的VB语言都有模块和类模块的概念.所谓模块一般就是存放公用的一些 ...
- 打造完美的go开发环境
这篇原来是给公司里使用go开发的交流用的,主要是工具的安装,用markdown写的,发布了内部gitlab上,仓促发布到blog上面,也没改啥格式,现在整理一下,然后增加一点说明 基础开发工具 sub ...