第一篇:马士兵视频列表及Java学习教学大纲
教学视频资源列表
q、jshtmlcss 这是基础
l、尚学堂科技_马士兵_轻松愉快linux视频教程 n、oracle.马士兵 r、mysql_avi.马士兵
这些单独的数据库和系统模块可以在任何时候都可以,建议在学j2ee之前学
j、尚学堂马士兵视频教程_scm_cvs_svn cvs是存档工具,建议在学j2ee当中学习
p、junit4 这个是测试工具,建议在学j2ee中学习
s、设计模式.马士兵 j2ee中会提到这块的
f、马士兵jsp_servlet视频 这个是j2ee的基础
a、ejb3.0李腾飞
ejb现在用的真的不多了
d、struts马士兵
b、hibernate马士兵 c、spring马士兵
struts是学习j2ee的第一个框架,简单易上手,也可以考虑struts2,这个跟struts没啥关系,是webwork的升级版
hibernate对于懒人来说很好用,但是不适合面对大客户量的访问,那样机器会死的很惨 spring还不错,就是要适应繁琐的配置文件
g、尚学堂科技_马士兵_java_网上商城项目视频讲解 h、尚学堂09年drp项目
i、尚学堂科技_马士兵_jdbc_mysql_bbs项目课堂实录视频教程 k、尚学堂科技_马士兵_java_系列视频教程_bbs_2007 o、尚学堂马士兵视频教程_xml_ajax_dom4j_javadb_metadata 学完三大框架之后就可以做上面的项目了,然后ajax的学习也用不了太久,可以边学边学着做
e、oa项目
最好是在有以上项目经验的基础上,加上学完了ajax再做oa项目,因为oa项目涉及到的技术太多
m、网络课堂.尚学堂马士兵_flex_0100_actionscript 这个跟上面的不是一个体系,建议当做扩展来学习
第一部分:j2se学习视频内容包括:
尚学堂科技_马士兵_java视频教程_jdk5.0_下载-安装-配置
尚学堂科技_马士兵_java视频教程_j2se_5.0_第01章_java简介_源代码_及重要说明
尚学堂科技_马士兵_java视频教程_j2se_5.0_第02章_递归补充
尚学堂科技_马士兵_java视频教程_j2se_5.0_第02章_基础语法
尚学堂科技_马士兵_java视频教程_j2se_5.0_第03章_面向对象
尚学堂科技_马士兵_java视频教程_j2se_5.0_第04章_异常处理
尚学堂科技_马士兵_java视频教程_j2se_5.0_第05章_数组
尚学堂科技_马士兵_java视频教程_j2se_5.0_第06章_常用类
尚学堂科技_马士兵_java视频教程_j2se_5.0_第07章_容器
尚学堂科技_马士兵_java视频教程_j2se_5.0_第08章_io
尚学堂科技_马士兵_java视频教程_j2se_5.0_第09章_线程
尚学堂科技_马士兵_java视频教程_j2se_5.0_第10章_网络
尚学堂科技_马士兵_java视频教程_j2se_5.0_第11章_gui
尚学堂科技_马士兵_java视频教程_j2se_5.0_专题_日期处理
尚学堂科技_马士兵_java视频教程_j2se_专题_正则
反射avi
第二部分:j2se练习项目视频内容包括:
尚学堂科技_马士兵_在线聊天系统雏形视频教程_java_eclipse
尚学堂科技_马士兵_坦克大战视频教程_java_eclipse
尚学堂科技_马士兵_坦克大战图片版
尚学堂科技_马士兵_java_坦克大战网络版视频教程
尚学堂科技_马士兵_snake_贪吃蛇内部视频
第三部分数据库视频
oracle视频内容包括:01——53讲avi格式
第四部分:jdbc和mysql视频,内容包括:
1_lomboz_eclipse_jdbc
2_mysql_avi
3_连接池的设计思路.avi
第五部分:html & css & js 视频:
html & css 视频内容简介:
01_html简单介绍和meta标签.avi
02_a_路径问题等等.avi
03_学习方法_其他常用标签.avi
04_1_note.avi
04_表格和表单_1.avi
05_表格和表单_2.avi
06_frame.avi
07_dreamweaver.avi
08_css_1.avi
09_css_2_选择方式.avi
10_css_3.avi
11_css_4.avi
js 视频简介:
01_js初步及调试.avi
02_js基本语法.avi
03_函数_事件处理_1.avi
04_事件处理_2.avi
05_内置对象_dom_bom.avi
06_趣味.avi
07_实用.avi
08_表单验证.avi
09_表单验证_new.avi
10_后台框架.avi
11_后台框架_2.avi
12_tree.avi
第六部分:servlet & jsp视频——内容包括: tomcat的安装使用,配置 servlet & jsp 视频 1——30节
jsp的练习项目内容包括: 简单bbs项目 2007美化bbs项目 网上商城项目视频 网上商城项目视频讲解视频
第七部分:j2ee学习视频包括:
drp项目
框架视频学习: struts视频
hibernate视频
spring视频 提高部分:
uml统一建模语言视频
ssh项目视频:
oa办公自动化系统视频
crm项目视频
银行系统视频
ejb3.0视频
j2me_3g简介资料
面试材料:
面试题大汇总+笔记+技巧
路线图明细
下面给出第二节《java自学路线图》中知识点的明细: 一:j2se 面向对象-封装、继承、多态 内存的分析
递归
集合类、泛型、自动打包与解包、annotation io
多线程、线程同步
tcp/udp
awt、事件模型、匿名类 正则
反射机制
2:数据库(oracle或者mysql)sql语句
多表连接,内外连接,子查询等 管理表、视图、索引、序列、约束等 树状结构存储
存储过程、触发器
数据库设计三范式、3:jdbc jdbc基础 连接池
树状结构存储与展现 datasource & rowset jdbc连接oracle及mysql 4:html_css_js html、css、js基础语法 js form判断
dom编程基础(事件处理等)js常用效果如treeview、下拉联动等 js学习方法
js调试方法
dreamweaver初步(建立html、table、form、css)等
5:servlet & jsp tomcat基础
servlet基础
web.xml配置基础
web application的结构
servlet生命周期
request response等常用方法
servletcontext类
http协议基础(get post)cookie session application
jsp的几种语法(包括jstl等)注意在项目中练习,不要拘泥于语法细节而裹步不前。
6:struts 多层架构理论
model 1 and model 2 struts基本概念
mvc action与业务逻辑类的关系
在struts与jsp之间传递数据 struts处理流程(控制流)
struts taglib(了解常用的)
jstl actionform 字段收集 上传文件
类型转换
dto
动态action form
验证框架
actionforward 转发与重定向
动态生成actionforward
全局与局部的actionforward action forward scope unknownactionmapping action的线程安全
i18n
怎样切换语言环境
struts异常处理机制 程序处理 自动处理 自定义异常处理器 struts的多模块配置
7:xml(xml/xsl、xslt/dtd、schema等基础的概念、关于java的编程可以暂时扔在一边)
8:hibernate or mapping原理
hibernate基础开发步骤
hibernate基本接口(重点session)普通属性映射
关联关系映射
native sql
inverse lazy cascade
继承关系映射
hql
性能优化 一级缓存 二级缓存 查询缓存 事务与并发 悲观锁、乐观锁
opensessioninview currentsession
(至于jta、联合主键、自然主键、动态主键、any类型 creteria queries intercepter and event 自定义类型等,可以暂时扔在一边)
9:spring ioc/di spring配置 spring架构
aop及spring aop
声明式事务(aop)
spring + hibernate spring支持web scope
(其他的spring模块对于自学来说可以暂时扔在一边)
10:ejb3.0 j2ee架构基础(jta jms等)
ejb基础(地位及基本理论、分类等)annotation
ant编译与部署ejb session bean
ejb的依赖注入
persistence api
(可以用jboss学习ejb3.0)
11:至于soa,对于自学的同学来说,暂时不用特别关注。
尚学堂教学安排
第一部分学习总周期26天:
1.--j2se(chat + tank + snake)-----------------------13 days 2.--oracle--4 days 3.--jsp+jdbc+mysql 1 days 4.--html+css+js---------------------------3 days 5.--html+css+js---------------------------3 days 6.--bbs----2 days
第二部分学习总周期27天
7.--drp----12 days 8.--struts--6 days 9.--hibernate-6 days 10.--spring--3 days 第三部分学习总周期26天
11.--uml----2 days 12.--oa----15 days 13.--crm----5 days 14.--ejb 3.0--3 days 15.--bankproject(简介)---------------------------1 days 16.--面试技巧+3g+j2me(简介)-------------------------1 days
第四部分linux学习总周期4天
第二篇:马士兵 Java视频教学顺序
第一部分:J2se学习视频内容包括:
尚学堂科技_马士兵_JAVA视频教程_JDK5.0_下载-安装-配置
尚学堂科技_马士兵_JAVA视频教程_J2SE_5.0_第01章_JAVA简介_源代码_及重要说明
尚学堂科技_马士兵_JAVA视频教程_J2SE_5.0_第02章_递归补充
尚学堂科技_马士兵_JAVA视频教程_J2SE_5.0_第02章_基础语法
尚学堂科技_马士兵_JAVA视频教程_J2SE_5.0_第03章_面向对象
尚学堂科技_马士兵_JAVA视频教程_J2SE_5.0_第04章_异常处理
尚学堂科技_马士兵_JAVA视频教程_J2SE_5.0_第05章_数组
尚学堂科技_马士兵_JAVA视频教程_J2SE_5.0_第06章_常用类
尚学堂科技_马士兵_JAVA视频教程_J2SE_5.0_第07章_容器
尚学堂科技_马士兵_JAVA视频教程_J2SE_5.0_第08章_IO
尚学堂科技_马士兵_JAVA视频教程_J2SE_5.0_第09章_线程
尚学堂科技_马士兵_JAVA视频教程_J2SE_5.0_第10章_网络
尚学堂科技_马士兵_JAVA视频教程_J2SE_5.0_第11章_GUI
尚学堂科技_马士兵_JAVA视频教程_J2SE_5.0_专题_日期处理
尚学堂科技_马士兵_JAVA视频教程_J2SE_专题_正则表达式
反射avi
◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
最好的Java只有尚学堂最好的Java只有尚学堂最好的Java只有尚学堂最好的Java只有尚学堂最好的Java只有尚学堂
◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
第二部分:j2se练习项目视频内容包括: 尚学堂科技_马士兵_在线聊天系统雏形视频教程_java_eclipse
尚学堂科技_马士兵_坦克大战视频教程_java_eclipse
尚学堂科技_马士兵_坦克大战图片版
尚学堂科技_马士兵_JAVA_坦克大战网络版视频教程
尚学堂科技_马士兵_snake_贪吃蛇内部视频
◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
最好的Java只有尚学堂最好的Java只有尚学堂最好的Java只有尚学堂最好的Java只有尚学堂最好的Java只有尚学堂
◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
第三部分数据库视频
Oracle视频内容包括:01——53讲avi格式
◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
最好的Java只有尚学堂最好的Java只有尚学堂最好的Java只有尚学堂最好的Java只有尚学堂最好的Java只有尚学堂
◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
第四部分:JDBC和MySQL视频,内容包括:
1_lomboz_eclipse_jdbc
2_mysql_avi
3_连接池的设计思路.avi
◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆ 最好的Java只有尚学堂最好的Java只有尚学堂最好的Java只有尚学堂最好的Java只有尚学堂最好的Java只有尚学堂
◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
第五部分:HTML & CSS & JAVASCRIPT 视频:
Html & CSS 视频内容简介:
01_html简单介绍和meta标签.avi
02_a_路径问题等等.avi
03_学习方法_其他常用标签.avi
04_1_note.avi
04_表格和表单_1.avi
05_表格和表单_2.avi
06_Frame.avi
07_Dreamweaver.avi
08_CSS_1.avi
09_CSS_2_选择方式.avi
10_CSS_3.avi
11_CSS_4.avi
JavaScript 视频简介:
01_JS初步及调试.avi
02_JS基本语法.avi
03_函数_事件处理_1.avi
04_事件处理_2.avi
05_内置对象_DOM_BOM.avi
06_趣味.avi
07_实用.avi
08_表单验证.avi
09_表单验证_new.avi
10_后台框架.avi
11_后台框架_2.avi
12_TREE.avi
◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
最好的Java只有尚学堂最好的Java只有尚学堂最好的Java只有尚学堂最好的Java只有尚学堂最好的Java只有尚学堂
◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
第六部分:Servlet & JSP视频——内容包括: tomcat的安装使用,配置 servlet & jsp 视频 1——30节
jsp的练习项目内容包括: 简单bbs项目 2007美化BBS项目 网上商城项目视频 网上商城项目视频讲解视频
◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
最好的Java只有尚学堂最好的Java只有尚学堂最好的Java只有尚学堂最好的Java只有尚学堂最好的Java只有尚学堂
◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
第七部分:J2EE学习视频包括:
DRP项目
框架视频学习: Struts视频
Hibernate视频
Spring视频 提高部分:
uml统一建模语言视频
SSH项目视频:
oa办公自动化系统视频
crm项目视频
银行系统视频
ejb3.0视频
J2ME_3G简介资料
面试材料:
面试题大汇总+笔记+技巧
学习方法
|_浪曦视频在线_风中叶_学习程序设计方法 |_浪曦视频在线_风中叶_学习岂有无痛之理 |_浪曦视频在线_胡屹_如何获取学习资源
J2SE 基础
|_尚学堂科技_马士兵_JAVA视频教程_J2SE |_尚学堂科技_马士兵_JAVA视频教程_J2SE_专题(可以根据实际情况调整此部分学习)
|_浪曦视频在线_风中叶_JDK5.0新特性 |_浪曦视频在线_风中叶_Java Annotation详解 |_浪曦视频在线_胡屹_SCJP试题解析
|_尚学堂科技_马士兵_项目实战手把手JAVA视频教程-贪吃蛇 |_尚学堂科技_马士兵_项目实战手把手JAVA视频教程-Chat |_尚学堂科技_马士兵_项目实战手把手JAVA视频教程-坦克大战(多个版本,可以全学,也可以有选择)|_浪曦视频在线_J2SE相关内容专题视频
J2EE 基础
|_尚学堂科技_张志宇_SERVLET_JSP_视频教程_第一版 |_尚学堂科技_马士兵_JAVA_系列视频教程_BBS_2007 |_尚学堂科技_马士兵_JAVA_网上商城项目视频讲解 |_浪曦视频在线_不落的太阳_MVC新闻发布系统
J2EE 深入
|_尚学堂科技_王勇_JAVA视频教程_STRUTS |_浪曦视频在线_STRUTS相关内容专题视频(不落的太阳、ZK001、JUSTCODE、TIE等)
|_尚学堂科技_王勇_JAVA视频教程_HIBERNATE(ZK001)|_浪曦视频在线_HIBERNATE相关内容专题视频(ZK001、TIE等)|_尚学堂科技_王勇_JAVA视频教程_SPRING |_浪曦视频在线_ZK001_SPRING技术专题 |_浪曦视频在线_SPRING相关内容专题视频
|_浪曦视频在线_风中叶_Struts2 应用开发详解系列视频 |_浪曦视频在线_J2EE相关内容专题视频
J2EE 项目
|_尚学堂科技_项目实战手把手JAVA视频教程-OA(视频不是很清晰,是否采用自己决定)|_浪曦视频在线_不落的太阳_电脑维修项目视频 |_浪曦视频在线_不落的太阳_车辆管理系统 |_浪曦视频在线_不落的太阳_用户管理之框架搭建 |_浪曦视频在线_SSH整合相关内容专题视频
面试笔试相关(去找工作之前好好看吧)|_浪曦视频在线_风中叶_Java常见笔试、面试系列
其他相关(此部分视频可根据自己的需要插入到各个学习环节)|_尚学堂科技_马士兵_javascript视频 |_尚学堂科技_马士兵_SERVLET_JSP_视频教程 |_尚学堂科技_马士兵_oracle视频
|_尚学堂科技_马士兵_轻松愉快LINUX视频教程 |_尚学堂科技_王勇_XML视频
第三篇:马云视频学习之旅
经济与管理学院“风云人物”视频学习之旅
经济与管理学院“风云人物”视频学习之旅
--“不到淘宝非好汉”策划书
“今天很残酷,明天更残酷,后天很美好,但绝大部分人死在明天晚上,看不到后天的太阳。”
相信大家都很熟悉这句话。它出自一个很传奇的人物口中—马云。马云,浙江绍兴人,阿里巴巴集团主要创始人之一。现任阿里巴巴集团主席和首席执行官,他是《福布斯》杂志创办50多年来成为封面人物的首位大陆企业家,曾获选为未来全球领袖。除此之外,马云还担任中国雅虎董事局主席、杭州师范大学阿里巴巴商学院院长、华谊兄弟传媒集团董事等职务,是一名非常著名的企业家。为优化大学生心理品质,增强大学生认识自我、发展自我和完善自我的能力,促进大学生身心和谐,健康成长,从成功人士人生生涯中找到触动自己内心最深处的人生哲理,启明工作室特此提供契机为大家展现马云的传奇人生。
一、活动名称
“风云人物”视频学习之旅--“不到淘宝非好汉”学习活动
二、活动目的
活跃校园风气,增强同学们的自信心,自豪感,繁荣校园文化。以端正心态、自信进取、爱己爱人、磨练自我、励志成功、青春励志为最终目的。
三、活动对象
包头师范学院全体学生
经济与管理学院启明工作室 2012/11/18
第四篇:学习网站及视频资料
1.英语辅导频道直播,家里有数字电视的话,电视可以收看,这个是网络直播的,跟电视的同步。
内容:里面的内容有分从幼儿阶段,小学分年级的节目,但是似乎从中都有我们可以学习的不少东西,极力推荐。
另外,大家可以用百度搜索“英语辅导频道”,有很多相关的往期节目。
2.英语学习网站推荐:普特听力,大耳朵(听力的网站)
沪江英语网(本人比较喜欢的一个网站,哈,因为里面太多很有水平的人,值得大家共同学习,给的资料都比较权威实用,四六级材料,BEC考试材料等都可以在里面挖到很多,还有日语法语韩语其他小语种的相关节目,大家要注册个帐号,可以赚沪元下资料,里面有很多非常好的节目)
3.商务英语视频系列BBC步入商界初级):
4.老外教的地道口语,大家可以看相关系列的。推荐理由:实用,地道,有趣,Jamie的表情很impressive
tigaoyingyu.com
先介绍这几个比较实用的吧 后期急需补充。。
好好利用资源哦
Word hard and get better tomorrow.(GOOD STUDY, DAY DAY UP的正确译本)
第五篇:13_2 第十三天 魔乐java基础视频学习笔记
1、课程名称:DAO设计模式
2、知识点:
2.1、上次课程的主要知识点
1、面向对象;
2、Java类集;
3、JDBC使用PreparedStatement进行数据的CRUD。
2.2、本次预计讲解的知识点
1、熟悉程序分层的概念,以及业务层和数据层的划分;
2、使用DAO设计模式实现单表映射以及泛型应用;
3、使用DAO设计模式实现数据表的关系映射(一对多)。
3、具体内容
之前的所有内容都在本处进行总结,而且对于之前的一些概念不清楚的东西(代码会写)那么都可以不用去看了,把本次程序弄会了,一切就都会了,后面也就都会了。
3.1、程序分层(理解)
在一个完整的项目之中,对程序进行合理的分层,可以让开发变得更加的方便,也更加的具备层次感,每一层有每一层的开发人员,例如:可以简单的理解为美工 + 程序相分离。
如果按照含金量来讲,首先把握住业务层是整个程序的实现关键,但是对于前台显示更加的重要。今在项目之中后台的简历直接有着重要的地位,但是不同层之间最为重要的连接组成部分就是接口,所天的主要任务是观察业务层和数据层的开发,而到了Java WEB 之后,才开始实现显示层和控制层的开发。以整个代码开发之中,对于后台代码就一定要有两个组成接口(业务层接口,给以后的控制层使用、数据层接口,给以后的业务层使用)。·数据层(数据访问层,Data Access Object):指的是执行数据的具体操作,而现在的开发之中,大多数都是针对于数据库的开发,所以在数据层之中的主要任务是负责完成数据的CRUD,而在java之中,如果要想进行数据的CRUD实现,肯定使用java.sql.PreparedStatement接口;
·业务层(业务对象,Business Object,BO,又或者将其称为Service,服务器),服务器的主要目的是清楚了基本概念之后,那么新的问题就该出现了,如何去区分业务层或者是数据层?下面以玉市先生根据业务需求进行数据层的操作。一个业务层要包含多个数据层的操作。吃饭为例,说明一下。
如果说现在某一个项目业务非常复杂,可能分为若干个子业务,那么久还需要一个总的业务层操作。3.2、实例分析(重点)
下面以emp数据表(empno、ename、job、hiredate、sal、comm,都是基本字段)为例分析一个操·【业务层】增加一个新雇员信息;
|-[数据层] :要根据增加的雇员编号查看此雇员是否存在; |-[数据层]:如果雇员不存在则执行插入操作,如果存在则不插入; |-[数据层]:直接传入新的数据即可,如果没有修改返回的更新行数是0; |-[数据层]:直接传入要删除的雇员编号即可,如果没有此雇员信息返回的是0; |-[数据层]:返回一个雇员的完整信息; 作,客户要求可以实现如下的几个功能:
·【业务层】修改一个雇员的信息; ·【业务层】删除一个雇员的信息;
·【业务层】根据编号查询一个雇员的信息;
·【业务层】取得全部雇员的信息,要求可以实现模糊查询和分页显示,查询结果除了返回数据之外,|-[数据层]:模糊或查询全部满足条件的雇员数据,多个数据; |-[数据层]:使用COUNT()进行满足条件的数据统计。还要求知道模糊或全部查询或全部查询是所返回的全部数据量。
3.3、准备阶段(重点)
3.3.1、VO类:负责数据的传输与包装
但是现在有一个最为严重的问题出现了,不同层之间(这些层除了数据层要操作SQL之外,那么其它层操作的数据都应该是对象),所以应该有一个负责传输的数据对象,这个对象可以称为Value Object(VO、POJO、TO、PO)。
但是,现在对于简单Java类的开发原则也发生了一些变化:
·类名称要和表名称保持一致;
·为了日后类的操作方便,所有的简单Java类必须实现java.io.Serializable接口; ·类中不运行出现任何的基本数据类型,只能使用包装类; ·类之中的所有属性都必须封装,必须都编写setter、getter; ·类之中一定要提供无参构造方法。
在DAO的开发之中,所有的名称都有严格规定,假设现在的项目的总包名称为:cn.mldn.oracle,那么现在这个VO类的保存包名称就应该是cn.mldn.oracle.vo。范例:定义cn.mldn.oracle.vo.Emp类
3.3.2、DatabaseConnection类:负责数据库连接
既然现在要完成数据层的开发,那么久一定需要数据库的连接与关闭操作,可是如果将数据库的连接和关闭都写在每一个数据层之中,这样代码过于重复,而且也不方便维护,那么为了方便起见,现在定义一个DatabaseConnection的类,这个类专门负责取得和关闭数据库连接。而这个类定义在cn.mldn.oracle.dbc包之中。范例:定义cn.mldn.oracle.dbc.DatabaseConnection
如果再实际的工作之中,按照DAO最早提出的标准,对于数据层的实现类还需要实现数据库的移植操作。即:对于数据库连接类应该变为一个专门负责连接的接口,就好像以下的形式一样:
而后如果一个项目可能在Oracle或DB2下运行,那么针对于这两种数据库分别定义一个接口实现类,以对应两个不同的数据库连接,但是这种开发已经和现在的模式有些出入了,而且特别的麻烦,所以在本次为了和日后的开发可以更好的联系在一起,只是定义了一个类而已。
3.4、开发数据层(重点)
3.4.1、定义IEmpDAO接口:数据层开发标准
不同层之间的操作依靠的是接口,所以数据层的开发首先要定义出来的就是标准,那么既然是标准就需要定义的是一个接口,现在很明显针对的是emp表,所以这个接口的名称就应该为“表名称DAO”,即:EmpDAO,但是这里有一个问题了,接口和类的命名要求是一致的,所以为了从名称上区分出接口或者是类,则建议在接口名称前增加一个字母“I”,表示Interface的含义,即emp这张实体表的操作标准的接口名称为IEmpDAO,而且这个接口应该保存在cn.mldn.oracle.dao包之中。
那么对于这个接口的开发主要是针对于数据的两种操作(更新、查询),所以从开发标准上对于命名
·更新操作:以“doXxx()”的方式命名,例如:doCreate()、doUpdate()、doRemove(); ·查询操作,因为查询操作分为两类:
|-数据查询:以“findXxx()”或“findByXxx()”为主,例如:findAll()、findByld()、findByJob(); |-统计查询:以“getXxx()”或“getByXxx()”为主,例如:getAllCount()、getByJobCount()。也有着严格的要求,而且必须遵守。基本标准如下:
范例:编写IEmpDAO接口的操作标准
现在开发的标准只是满足于程序需求的提出需要。
3.4.2、定义IEmpDAO接口的实现类
既然在接口中已经定义了数据层的操作标准,那么对于实现类只需要遵循数据层的CRUD操作即可,但是对于DAO接口的实现类需要有明确的定义,要求将其定义在:cn.mldn.oracle.dao.impl包之中; 范例:定义EmpDAOImpl子类 ·现在有如下一种的子类实现接口方式:
如果真的按照这种方式实现的程序,有两个重要问题:
·对于数据层之中给出的若干方法,由服务层调用,一个服务层要执行N个数据层,那么每次·按照异常的处理机制,如果现在执行的过程之中出现了错误,那么顺着throws就结束调用了,执行的时候开一次关闭一次数据库? 数据库就再也无法关闭了。
按照之前的分析,一个业务要进行多个数据层操作,所以数据库连接与关闭交给业务层做最合适,而数据层只需要有一个Connection对象就可以操作了,它不需要关系这个对象是从哪里来的,怎么来的,只关心能不能使用。
3.4.3、定义DAO工厂类
由于不同层之间只能依靠接口取得对象,所以就一定需要定义工厂操作类,工厂类定义在cn.mldn.oracle.factory包之中,名称为DAOFactory。范例:定义工厂类
3.5、开发业务层(重点)3.5.1、开发业务层标准
业务层以后也是需要留给其它层进行调用的,所以业务层定义的时候也需要首先定义出操作标准,而这个标准也依然使用接口完成,对于业务层,接口命名要求:表名称 + Service,例如:IEmpService,表示操作Emp表的业务。
范例:在cn.mldn.oracle.service包中定义IEmpService
3.5.2、定义业务层标准的实现类
如果现在要想实现业务层的标准,必须有一个原则先把握住:一个业务层的方法操作要调用多个数据层,同时每个业务要处理数据库的打开和关闭。
范例:定义标准实现类——cn.mldn.oracle.service.impl.EmpServiceImpl
3.5.3、定义Service工厂类
如果要取得IEmpService接口对象,一定也需要使用工厂类,避免耦合问题。范例:定义cn.mldn.oracle.factory.ServiceFactory类
3.6、定义测试类
一切的程序完成之后,下面就需要编写测试程序,对于测试程序现在有两种方法完成:
·方式一:可以直接编写主方法,自己根据他的返回值结果进行判断是否成功; ·方式二:利用JUNIT完成,这样的做法标准,而且也方便日后调试。
如果要使用JUINT则就需要建立一个个的TestCase(测试用例),而且现在再进行测试的时候,应该首先选择的是服务层接口,因为选择不是针对于接口测试,而是针对于方法测试,方法就可以不用自己去编写了。
范例:编写测试程序
3.7、完成dept操作
完成了Emp操作之后,下面继续完成dept表的操作,那么对dept的操作现在有如下额要求:
·【业务层】增加一个新部门;
|-【数据层】判断增加的部门编号是否存在 |-【数据层】增加部门数据; |-【数据层】调用修改操作; |-【数据层】调用删除操作;
|-【数据层】调用根据id查询的操作; |-【数据层】查询全部 ·【业务层】修改一个部门信息; ·【业务层】删除一个部门信息;
·【业务层】根据部门编号取得一个部门的信息; ·【业务层】查询全部的部门信息;
1、开发DatabaseConnection.java类,已经开发完成;
2、开发Dept的vo类:
3、开发IDeptDAO接口
这个时候所编写的接口,第一反应发现除了参数不一样之外,和IEmpDAO一样,而且就算现在有几百张表,对于一些基本操作:插入数据、更新全部、删除数据、根据ID查询数据、查询全部数据、带分页查询、统计分页的数据量。没有必要重复编写,各个表不同的只有两块:VO类、ID类型。所以现在对于接口就必须重新设计了。
范例:定义一个公共的IDAO接口
成。
而每一张数据表,除了以上的基本功能之外,还会包括一些自己的独特功能,所以可以在子接口中完范例:定义IDeptDAO接口
4、开发DAO接口的实现类:
5、在DAOFactory类之中,增加新的方法,取得IDeptDAO接口实现类对象;
6、开发服务层接口
7、开发服务层接口实现类
8、在ServiceFactory接口之中增加新的方法,可以取得IDeptService接口对象;
3.8、使用mgr字段操作
在emp表中的mgr字段,表示的是每一个雇员的领导,如果现在要想加上这种关系,需要做如下的几步。
1、在Emp类之中表示出领导的关系,增加一个mgr属性;
2、修改DAO实现类,因为现在操作数据的时候要考虑mgr字段了。
3.9、使用deptno字段操作
Emp表中的deptno字段是一个每一个雇员所属的部门编号,所以在这之中就会发生如下的两类关系:
·关系一:一个雇员属于一个部门; ·关系二:一个部门有多个雇员。
范例:首先在Emp类之中增加一个Dept的操作。
2、修改EmpDAOImplements的实现子类上。
4、总结
1、程序的分层操作一定要掌握;
2、基本操作,要求对于单表的CRUD灵活编写,半小时写完一个;
3、对于表之间的关系,必须会。