个人知识管理系统Version1.0开发记录(04)
demo model
我们采用mvc软件架构模式,方便以后用Struts2框架技术优化、重构、封装。这次主要设计一些常用的方法工具,即数据访问逻辑。工具:eclipse、oracle、sqldeveloper。
思路如下:
1、 用sqldeveloper新建表oneds,写入一条name=”cookie”的数据。

细节:
参数越多,越要细致检查单词拼写。
2、 用java读取和写入对象属性,与数据库互动。

3、 用java进行数据访问,先完成五个方法,查询所有知识点,增加知识点,删除知识点,修改知识点,根据名称查询知识点。实现细节如下:
(1)创建DBUtil类,用于数据库的连接和关闭。

(2)创建OneDs实体类,属性和get/set方法。

细节:
叶子节点,离散数学概念,我们会多次用到节点思维。
(3)创建DAO接口OneDsDAO。

(4)创建DAO接口实现类OneDsDAOJdbcImpl。

(5)创建Factory工厂类。工厂设计模式:为调用者提供符合接口要求的对象,方便我们以后采用Hibernate框架技术进行底层数据访问。

细节1:
java.util.Date和java.sql.Date。Oracle数据库Date数据类型存在to_char和to_date方法。Java同样存在SimpleDateFormat.format(new Date())和SimpleDateFormat.parse(new String())。为了让他们互动,我们选取了他们都有的String类型作为沟通方式,所以数据库中的optime用的varchar2。
细节2:
java全局变量和局部变量。有返回值的方法需要设置全局变量。注意变量位置。可以参考看下java内存分配和回收机制。
细节3:
实际业务中,为了和数据库数据同步更新,可以在方法体内设置Connection.setAutoCommit(false);//不自动提交…Connection.commit();//提交
(6)测试。

我们下次用servlet完成demo controller。OK,我们下次见。
个人知识管理系统Version1.0开发记录(04)的更多相关文章
- 个人知识管理系统Version1.0开发记录(09)
MyBatis初试 MyBatis 是支持普通 SQL查询,存储过程和高级映射的优秀持久层框架.MyBatis 消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索. 运用Mybatis框 ...
- 个人知识管理系统Version1.0开发记录(01)
架 构 描 述 01.数据层,数据源,有形资源入库,无形资源整理,对外搜索引擎,对内平台搜索,数据类型(文字.图片.声音.视频.组合),数据时空优化,数据安全方案(数据进站关卡,数据出战关卡),数据并 ...
- 个人知识管理系统Version1.0开发记录(02)
第 一 步 做 什 么 我们该如何入手呢?先来看看目前常用的三个方法. 1.从事物产生的源头出发,层层推进,步步验证,最后开花结果.这种方法经常用于科研项目,或者三期以后的工程,国家政府项目用的较多. ...
- 个人知识管理系统Version1.0开发记录(12)
最近碰到个问题,在五个工作日内阅读一个百万行左右代码量的新项目集合,如何解决呢? 第一个工作日,环境观察.待在那个项目组,看项目成员们在做些什么事情,开发,测试,聊天,或多或少可以收集到一些项目相关的 ...
- 个人知识管理系统Version1.0开发记录(10)
物理分页 这次我们运用Mybatis拦截器来实现物理分页,后面会运用动态sql来实现,或者运用Map/CollectionUtils/StringUtils编写工具类来实现.oracle是运用的row ...
- 个人知识管理系统Version1.0开发记录(07)
模 块 复 用 原本还要测试一会的,突然出现一连串诡异的问题,比如,编译少加载个类啊,输入地址少个字母啊,改几行代码一改就是半小时啊.这是在提醒我们大脑疲倦了,所以果断小结,下次继续.这一次简单完成了 ...
- 个人知识管理系统Version1.0开发记录(11)
(1)匹配单个属性的关键字:(2)匹配单个对象的关键字:(3)匹配对象集合的关键字:(4)基于事件驱动的:(5)实时搜索,参考win7的搜索功能. 1.备份,java代码,数据库数据. 2.oracl ...
- 个人知识管理系统Version1.0开发记录(08)
切入点 前面,我们已经搭建好了web端的一种基本结构,需要进一步定位的主要问题有三点: 1.界面的选择和确定,用extjs做的初步样式,进一步改动为jqueryUI/html,再进一步改变为HTML5 ...
- 个人知识管理系统Version1.0开发记录(05)
demo controller我们从前面的实现过程可以得出三种普遍使用的信息处理方式:1.操作数据库,对数据进行增删改查,比如运用sqldevloper查看数据信息.2.运用计算机程序语言,对数据进行 ...
随机推荐
- SUBSTRING_INDEX()
http://dev.mysql.com/doc/refman/5.7/en/string-functions.html#function_substring-index ) DEFAULT 'fru ...
- Xvfb新建虚拟X窗口,通过x11vnc启动VNC Server并转发Xvfb启动的虚拟窗口
远程运行Linux窗口程序使用X Windows太重量级了,可以使用Xvfb新建虚拟X窗口,通过x11vnc启动VNC Server并转发Xvfb启动的虚拟窗口. 1 2 3 4 5 6 7 8 yu ...
- [SQL] 让特定的数据 排在最前
MYSQL目前常用的两种方法,如下: 让值为"张三" 的数据排在最前. -- 方法一 end asc -- 方法二 select * from tableName where co ...
- 符合语言习惯的 Python 优雅编程技巧
Python最大的优点之一就是语法简洁,好的代码就像伪代码一样,干净.整洁.一目了然.要写出 Pythonic(优雅的.地道的.整洁的)代码,需要多看多学大牛们写的代码,github 上有很多非常优秀 ...
- python 类 __module__ __class__
__module__ 和 __class__ __module__ 表示当前操作的对象在那个模块 __class__ 表示当前操作的对象的类是什么 创建一个目录lib 在day7 目录下创 ...
- 岭回归&Lasso回归
转自:https://blog.csdn.net/dang_boy/article/details/78504258 https://www.cnblogs.com/Belter/p/8536939. ...
- JavaScript的基础语法
对于Javascript的而言没有数据类型的全部都是通过var来定义创建的.比如: <!DOCTYPE html> <html> <head> <meta c ...
- oracle连接数据库报错:ORA-01034: ORACLE not available(Oracle 不存在),ORA-27101: shared memory realm does not exist
花一天半的时间解决客户端连接服务端的oracle数据库,无法连接问题.ORA-01034: ORACLE not available(Oracle 不存在),ORA-27101: shared mem ...
- #C++初学记录 (第一次测试)(A - 复习时间 )
练习题目一 (A-复习时间) 为了能过个好年,xhd开始复习了,于是每天晚上背着书往教室跑.xhd复习有个习惯,在复习完一门课后,他总是挑一门更简单的课进行复习,而他复习这门课的效率为两门课的难度差的 ...
- Restoring Numbers
D. Restoring Numbers ...