第七篇:数据库程序员篇

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

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

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

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

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

表“depatTable

部门号码             depatNo            文本

部门名称             depatName          文本

填入几个值:<!----><o:p></o:p>

001         生产部

002         工程部

003         人事部

程序开始<o:p></o:p>

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

A模块:提供数据库连接

B模块:actionAndForm模块

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

D模块: 数据实体封装

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

A模块(2个类)——package dataConnectFactory<o:p></o:p>

ConnectFactory<o:p></o:p>

//数据连接工厂<o:p></o:p>

package dataConnectFactory;<o:p></o:p>

import java.sql.*;<o:p></o:p>

public class ConnectFactory<o:p></o:p>

{<o:p></o:p>

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

   private static String strDriver="sun.jdbc.odbc.JdbcOdbcDriver";<o:p></o:p>

   //定义数据库的URL(名称) <o:p></o:p>

   private static String  strConnection="jdbc:odbc:user";<o:p></o:p>

  //数据访问的用户名 <o:p></o:p>

   private static String  strUsername="";<o:p></o:p>

  //数据库访问的密码 <o:p></o:p>

   private static String  strPassword="";<o:p></o:p>

    <o:p></o:p>

    public static Connection getConnectionByDriver() <o:p></o:p>

             throws MyException<o:p></o:p>

    {<o:p></o:p>

       Connection conn = null;<o:p></o:p>

       try <o:p></o:p>

       {<o:p></o:p>

           Class.forName(strDriver);//注册驱动<o:p></o:p>

           conn = //获得连接<o:p></o:p>

              DriverManager.getConnection(  strConnection,<o:p></o:p>

                                         strUsername,<o:p></o:p>

                                         strPassword);<o:p></o:p>

       }<o:p></o:p>

       catch(ClassNotFoundException ex1)<o:p></o:p>

       {<o:p></o:p>

           ex1.printStackTrace();<o:p></o:p>

           throw new MyException("Class Not Found!");<o:p></o:p>

       }<o:p></o:p>

       catch(SQLException ex2)<o:p></o:p>

       {<o:p></o:p>

           ex2.printStackTrace();<o:p></o:p>

           throw new MyException("SQL Error");<o:p></o:p>

       }<o:p></o:p>

       finally {}<o:p></o:p>

       return conn;<o:p></o:p>

    }<o:p></o:p>

}<o:p></o:p>

                              MyException<o:p></o:p>

package dataConnectFactory;<o:p></o:p>

//定义自己的异常类<o:p></o:p>

public class MyException extends Exception<o:p></o:p>

{<o:p></o:p>

    public MyException()<o:p></o:p>

    {<o:p></o:p>

       super();<o:p></o:p>

    }<o:p></o:p>

    <o:p></o:p>

    public MyException(String message)<o:p></o:p>

    {<o:p></o:p>

       super(message);<o:p></o:p>

    }<o:p></o:p>

}<o:p></o:p>

B模块(3个类)——package  action<o:p></o:p>

UserAction<o:p></o:p>

package action;<o:p></o:p>

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

import javax.servlet.http.HttpServletRequest;<o:p></o:p>

import javax.servlet.http.HttpServletResponse;<o:p></o:p>

<o:p> </o:p>

import org.apache.struts.action.ActionError;<o:p></o:p>

import org.apache.struts.action.ActionErrors;<o:p></o:p>

import org.apache.struts.action.ActionForm;<o:p></o:p>

import org.apache.struts.action.ActionForward;<o:p></o:p>

import org.apache.struts.action.ActionMapping;<o:p></o:p>

import org.apache.struts.actions.DispatchAction;<o:p></o:p>

import biz.SearchBiz;<o:p></o:p>

import entity.*;<o:p></o:p>

public class UserAction extends DispatchAction<o:p></o:p>

{<o:p></o:p>

    //转到查询界面<o:p></o:p>

    public ActionForward toSearch(  ActionMapping mapping,<o:p></o:p>

                                    ActionForm form,<o:p></o:p>

                                    HttpServletRequest request,<o:p></o:p>

                                    HttpServletResponse response)<o:p></o:p>

       throws Exception<o:p></o:p>

    {<o:p></o:p>

        <o:p></o:p>

       //定义错误信息封装<o:p></o:p>

你可能感兴趣的:(apache,eclipse,sql,struts,jdbc)