`
fanjava
  • 浏览: 235725 次
  • 来自: ...
文章分类
社区版块
存档分类
最新评论

第七篇:数据库程序员篇

阅读更多

开场白:看你还记得不记得我在“第五篇”中的把“execute这个方法名该为“myDog”可以吗?现在你还不可以,以后我会告诉你怎么可以的啦。

程序要求:程序开始,第一个页面要显示,以这样的信息,一个下拉框用来选择“用户的部门名称”,这个下拉框中的内容要从“部门信息表中取得”(当页面一生成的时候就要获得)。然后按下“提交”按钮,能显示所有该部门的员工。

分析:因为页面一生成的时候就要从“部门表”中获得数据,所以我要采用一种方式让页面生成的时候就能操作action获得数据。数据的显示不再是单一数据,所以在页面上设计到循环。显示出来的一项数据不再是一个数据。

建立数据表:还记得我们在上一篇中建立的数据库吗。

数据库名字叫“user”已经有一个表叫“userTable”,我们现在就在这个数据库中再建立一个

表“depatTable

部门号码 depatNo 文本

部门名称 depatName 文本

填入几个值:<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

001 生产部

002 工程部

003 人事部

程序开始

从现在开始,我们将按照真正项目开发的思想来做,模块的划分将细致起来

A模块:提供数据库连接

B模块:actionAndForm模块

C模块: 业务逻辑,提供数据的操作

D模块: 数据实体封装

这些模块实际上就是“包”的概念,在eclipse中建立“包”我就不想说了

A模块(2个类)——package dataConnectFactory

ConnectFactory

//数据连接工厂

package dataConnectFactory;

import java.sql.*;

public class ConnectFactory

{

//定义数据库的驱动程序(以下给出的是连接odbc数据库的)

private static String strDriver="sun.jdbc.odbc.JdbcOdbcDriver";

//定义数据库的URL(名称)

private static String strConnection="jdbc:odbc:user";

//数据访问的用户名

private static String strUsername="";

//数据库访问的密码

private static String strPassword="";

public static Connection getConnectionByDriver()

throws MyException

{

Connection conn = null;

try

{

Class.forName(strDriver);//注册驱动

conn = //获得连接

DriverManager.getConnection( strConnection,

strUsername,

strPassword);

}

catch(ClassNotFoundException ex1)

{

ex1.printStackTrace();

throw new MyException("Class Not Found!");

}

catch(SQLException ex2)

{

ex2.printStackTrace();

throw new MyException("SQL Error");

}

finally {}

return conn;

}

}

MyException

package dataConnectFactory;

//定义自己的异常类

public class MyException extends Exception

{

public MyException()

{

super();

}

public MyException(String message)

{

super(message);

}

}

B模块(3个类)——package action

UserAction

package action;

//当第一个查询页面一生成的时候就把部门的信息得到并交给页面

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import org.apache.struts.action.ActionError;

import org.apache.struts.action.ActionErrors;

import org.apache.struts.action.ActionForm;

import org.apache.struts.action.ActionForward;

import org.apache.struts.action.ActionMapping;

import org.apache.struts.actions.DispatchAction;

import biz.SearchBiz;

import entity.*;

public class UserAction extends DispatchAction

{

//转到查询界面

public ActionForward toSearch( ActionMapping mapping,

ActionForm form,

HttpServletRequest request,

HttpServletResponse response)

throws Exception

{

//定义错误信息封装

ActionErrors errors = null;

//获取页面表单信息

UserForm uf = (UserForm)form;

//定义部门实体数组

DepartmentEntity[] departs = null;

SearchBiz searchBizDept = null;

try

{

searchBizDept = new SearchBiz();

departs =

searchBizDept.selectDeptEntitys(

new DepartmentEntity());

uf.setDeparts(departs);

}

catch (Exception e)

{

errors = new ActionErrors();

e.printStackTrace();

errors.add(ActionErrors.GLOBAL_ERROR, new ActionError("system.exception"));

return mapping.findForward("error");

}

finally

{

if (errors != null)

{

saveErrors(request, errors);

}

}

return mapping.findForward("toSearch");

}

}

package action;

UserForm

//将所有的实体封装到form

import org.apache.struts.action.ActionForm;

import entity.*;

public class UserForm extends ActionForm

{

private UserEntity user = new UserEntity();

private UserEntity[] users = null;

private DepartmentEntity depart = new DepartmentEntity();

private DepartmentEntity[] departs = null;

public DepartmentEntity getDepart()

{

return depart;

}

public DepartmentEntity[] getDeparts()

{

return departs;

}

public UserEntity getUser() {

return user;

}

public UserEntity[] getUsers()

{

return users;

}

public void setDepart(DepartmentEntity depart)

{

this.depart = depart;

}

public void setDeparts(DepartmentEntity[] departs)

{

this.departs = departs;

}

public void setUser(UserEntity user)

{<sp

分享到:
评论

相关推荐

    Android高薪之路:Android程序员面试宝典 李宁

    第7章 网络与加密 7 1 客户端Socket 7 2 服务端Socket 7 3 非阻塞I O 7 4 WebView控件 7 5 HTTP和HTTPS 7 6 加密技术 第8章 蓝牙与Wi Fi 8 1 蓝牙 8 2 Wi Fi 第9章 电话 短信和联系人 9 1 来电和回电 9 2 短信 9 3 ...

    数据库系统工程师:数据库原理选择题总结

    7. **DB、DBMS和DBS的关系**:数据库系统(DBS)包括数据库(DB)和数据库管理系统(DBMS),是整个系统的总称。 8. **第三级存储器**:在DBS中,"第三级存储器"通常指的是辅助存储器,如磁带、光盘等慢速但容量大的存储...

    浅谈数据库设计技巧-程序员应该读的

    七、数据库扩展性 1. 分布式数据库:通过分布式技术提高数据库的横向扩展能力。 2. 数据库集群:使用主从复制、读写分离等方式提高可用性和读取性能。 八、性能监控与调优 1. 性能监控:定期检查数据库性能指标,如...

    疯狂Java:突破程序员基本功16课pdf+源代码

    《疯狂Java:突破程序员基本功16课》是一本针对Java程序员进阶的教程,旨在提升读者在编程领域的技能和专业素养。这本书结合了理论与实践,通过16个关键课程,深入讲解了Java编程的核心概念和技术。源代码的提供使得...

    数据库程序员面试笔试真题库样章.zip

    数据库程序员是IT行业中一个至关重要的角色,他们负责设计、实施、优化和维护各种数据库系统,以确保数据的安全性、高效性和可用性。本压缩包文件"数据库程序员面试笔试真题库样章.zip"包含了可能在数据库程序员面试...

    数据库系统工程师:数据库原理选择题总结.doc

    - 在数据库术语中,"第三级存储器"可能指的是辅助存储设备,如磁带、光盘等,这些通常用于长期存储和备份数据。 7. **数据管理软件**: - DBMS是位于用户和操作系统之间的一层数据管理软件,负责数据的存储、检索...

    亚马逊五星好书:PHP程序员的LAMP指南

    本书于2006年由Wiley Publishing出版,ISBN编号为978-0-7645-9723-7。 #### 二、LAMP技术栈概览 LAMP是一种开源软件堆栈,用于运行动态网页或网络应用程序。它通常包含以下四个主要组件: 1. **Linux**:作为...

    SQL语言知识+数据库知识+编程知识+系列课程

    第七章:数据库性能优化 第八章:数据库安全与管理 第九章:NoSQL与大数据 第十章:SQL在实际项目中的应用 本系列课程适合希望提升数据库技能的中级程序员,尤其是那些希望在数据分析、后端开发或数据库管理领域...

    数据库原理选择题总结

    应用程序员:编写应用程序的程序员。 - c. 数据库管理员:负责数据库日常管理的人员。 - d. 用户:数据库系统的最终用户。 #### 16. 文件系统的一个缺点 - **文件系统**:传统的数据存储方式。 - **选项分析**:...

    Windows 2000活动目录开发人员参考库 第1卷:程序员指南07

    《Windows 2000活动目录开发人员参考库 第1卷:程序员指南》是一本针对Windows 2000系统中活动目录(Active Directory)进行开发的权威指南。该书详细阐述了如何利用Windows 2000平台的API、SDK以及编程工具来设计和...

    数据库基础知识.(java程序员)

    19. **数据库范式**:第一范式(每个字段不可再分)、第二范式(非主属性完全依赖于主键)、第三范式(非主属性非传递依赖于主键),消除数据冗余和更新异常。 20. **TRUNCATE、DELETE与DROP命令**:TRUNCATE快速...

    程序员的八个级别

    ### 第七级:全能程序员 全能程序员是指那些在多个技术领域都具有深厚造诣的专家。他们不仅精通编程,还了解网络、数据库、操作系统等多个方面。这类程序员能够全面地考虑系统的各个方面,确保系统的稳定运行。他们...

    《MySQL数据库原理、设计与应用》课后习题及答案黑马程序员编著

    《MySQL数据库原理、设计与应用》课后习题及答案 黑马程序员编著 答案都是正确的,因为是老师给的资源。 如果不想下载,也可以去我的博客看,一模一样的。 ...

    软件设计师考试历年试题分类精解

    第 1 章:数据结构与算法、第 2 章:程序语言、第 3 章:操作系统、第 4 章:软件工程、第 5 章:面向对象方法、第 6 章:数据库系统、第 7 章:多媒体技术及其应用、第 8 章:计算机组成与体系结构、第 9 章:安全...

    数据库系统概念知识点总结.pdf

    数据库系统概念知识点总结 数据库系统概念是指数据库管理系统的基本概念和技术,涉及数据库的设计、实现、管理和应用等方面。本节将对数据库系统概念进行总结和概括。 一、数据库基本概念 * 数据(Data):数据库...

    Windows 2000活动目录开发人员参考库 第1卷:程序员指南PDF第02

    《Windows 2000活动目录开发人员参考库 第1卷:程序员指南》是一部深入探讨Windows 2000操作系统中活动目录(Active Directory)开发技术的重要文献。本指南主要面向软件开发人员,旨在帮助他们理解和利用活动目录的...

    达梦数据库V7_程序员手册.pdf

    《达梦数据库V7_程序员手册》是一本详细介绍达梦数据库V7版本特性和编程指南的重要参考资料。达梦数据库作为一款先进的国产数据库管理系统,其V7版本在功能特性上进行了全面升级,旨在提供更高效、安全、可靠的...

    Windows 2000活动目录开发人员参考库 第1卷:程序员指南第03

    《Windows 2000活动目录开发人员参考库 第1卷:程序员指南》是一本针对Windows 2000操作系统中的活动目录(Active Directory)进行深入开发和编程的专业书籍。活动目录是Microsoft Windows Server系统的核心组件,...

    Windows 2000活动目录开发人员参考库 第1卷:程序员指南05

    《Windows 2000活动目录开发人员参考库 第1卷:程序员指南》是一本针对Windows 2000系统中活动目录(Active Directory)进行深度开发的技术书籍,旨在帮助开发者充分利用这一强大的身份管理和资源组织工具。...

    程序员06第7期 免分

    【标题】:“程序员06第7期 免分”与【描述】:“程序员06第8期 免分” 提供的信息表明,这可能是一份关于程序员知识分享的电子资源,可能包含第7期和第8期的内容。由于“免分”一词,可以推测这些资源是免费提供的...

Global site tag (gtag.js) - Google Analytics