实现基于MySQL的图书增删改查Web应用

本文详细介绍了如何使用Servlet、面向接口编程和工厂模式实现基于MySQL的图书增删改查Web应用。通过Eclipse、SQLyog和Tomcat,设置环境,导入必要库,设计工程目录结构,并分层实现DAO、业务逻辑和控制器。目前实现了添加图书功能。
摘要由CSDN通过智能技术生成

1、目的:学习Servlet、面向接口编程、工厂模式

2、开发环境:Ecplise(Java SE)、SQLyog数据库管理工具、Tomcat服务器

3、Tomcat安装要注意环境变量的设置

4、Ecplise项目中导入jar包:Window->Preferences->Java->Build Path->User Libraries->new->命名,如MyWebLib->点击MyWebLib,点击Add External JARs->导入Tomcat的lib目录下的servlet-api.jar和jsp-api.jar,再导入MySQL驱动包

5、添加导航器:Window->Show View->Navigator

6、构建工程(项目)目录结构——包设计
根据系统分层体系结构,我们可以设置
1)ui/WebRoot包:对应表现层,在这节课的例子中暂时不用
2)controller包:对应控制层,负责协调、调度业务逻辑层的功能方法。业务逻辑层提供的方法也许只是相对独立的基本功能,如果某项操作需要按一定顺序调用好几个基本的业务功能,控制器就能起到协调、调度的作用。在 JavaWeb应用中,Servlet通常就是承担控制器的作用。
3)business/service包:对应业务逻辑层,提供完成各项业务功能的方法。
4)dao 包:对应数据访问层,提供访问数据资源(如数据库、文件等)的方法。
5)entity/vo/pojo包:对应 Model层,实体类/值对象(ValueObject)/简单 Java对象(Plain Ordinary Java Object),封装了需要处理的业务数据,采用 JavaBean-style 定义
6)common包:通常是较底层的公共的服务(工具)类,比如特殊字符处理,数据源连接等。

7、分层设计——从底向上

这里写图片描述

新建工程时,将bin目录改名为classes

(一)、定义 entity类(JavaBean-style)
1)每个属性的访问权限都是 private
2)为每个属性提供 public的 setter和 getter
3)必须有不带参数的构造方法

/**
 * entity包,对应Model层,简单Java对象
 */
package edu.gdut.imis.library.entity;

/**
 * Book的实体类,封装了我们要处理的数据,采用JavaBean style来定义
 * 
 * @author PC
 *
 */
public class BookModel {
   
    private String isbn; // 图书的分类编码
    private String name; // 图书名称
    private String author; // 图书作者
    private float price; // 图书价格

    public BookModel() {
    }

    public String getIsbn() {
        return isbn;
    }

    public void setIsbn(String isbn) {
        this.isbn = isbn;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getAuthor() {
        return author;
    }

    public void setAuthor(String author) {
        this.author = author;
    }

    public float getPrice() {
        return price;
    }

    public void setPrice(float price) {
        this.price = price;
    }

}

(二)、编写脚本在数据库中创建关系表

DROP DATABASE IF EXIST Library;
CREATE DATABASE Library;
USE Library;
CREATE TABLE Book_info(
isbn varchar(13) not null primary key,
name varchar(30) not null,
author varchar(20) not null,
publisher varchar(50) not null,
price float(6,2)
);
COMMIT;

(三)、在 common中定义连接数据库的公用类

/**
 * common包,通常是较底层的公共的服务(工具)类,比如特殊字符处理,数据源连接等
 */

package edu.gdut.imis.library.common;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

/**
 * 连接数据库和应用程序
 * @author PC
 *
 */
public class DBConnector {
   
    //返回数据库的连接对象
    public static Connection getConn() throws SQLException{
        /**
         * 通过DriverManager得到数据库的连接对象,要用URL描述要连接的数据库
         */
        //主协议jdbc:次要协议mysql://连接本地主机:默认的端口号3306/要连接的数据库名称
        String url="jdbc:mysql://localhost:3306/library";
        //用户名
        String username="root";
        //密码
        String password="123456";
        //加载驱动程序
        try {
            Class.forName("com.mysql.jdbc.Driver");
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
        //通过DriverManager得到数据库的连接对象
        Connection conn=DriverManager.getConnection(url,username,password);
        //返回数据库的连接对象
        return conn;
    }
}

(四)、定义 DataAccessObject
1)定义 dao 包中的子包
idao:dao 接口
factory:dao 工厂,用于返回 dao 接口的实现类
impl:dao 接口的实现类

2)定义 dao 接口

/**
 * dao包,对应数据访问层,提供访问数据资源(如数据库、文件等)的方法
 */
package edu.gdut.imis.library.dao.dai;

import java.util.List;

import edu.gdut.imis.library.entity.BookModel;

/**
 * dao接口
 * @author PC
 *
 */<
2.1 可行性分析 采用现代化统一的计算机信息网站系统,能够有效优化图书馆管理系统,使其高效的发挥最大作用,能够迅捷的为读者提供相应的服务。开发本系统的可行性研究如下: 2.1.1 技术可行性 技术上的可行性分析主要分析技术条件能否顺利完成开发工作,软、硬件能否满足需要。本系统采用JSP开发出友好美观的人机界面,便于用户理解、操作。数据库管理系统采用MySQL,它能够处理大量数据,同时保持数据的完整性、安全性。因此本系统的开发平台已成熟可行。硬件方面,在科技飞速发展的今天,硬件更新速度越来越快,容量越来越大,可靠性越来越高,价格越来越便宜,因此硬件平台也能够满足本系统所需。 2.1.2 经济可行性 鉴于计算机技术发展异常迅猛,在硬件软件配置以及开发技术均以可行的情况下开发这样一个管理系统成本不会很高,但其可以大大提高图书馆的工作效率,也是图书馆管理发展的必然趋势,其必将有比较宽阔的市场,因此改性统在经济可行性上时可行的。 2.2 图书借阅管理系统需求概述 2.2.1 系统目标 该系统主要建立一个基于B/S模式的图书馆借阅管理系统,面对当起很多小型图书管理仍是人工管理带来的检索速度慢,效率低,借阅归还图书量大,图书统计工作量大,藏书不能完成及时更新的问题,该系统可以对跟系统的三个用户类型的使用实现: (1)对于读者在本系统的应用下可实现按照各种方式(如:书名,编号,作者)查询图书馆的藏书请客,方便的借阅图书,续借图书,归还图书,能够查询自己的借阅图书情况。 (2)对于图书馆工作人员能够实现方便的对图书进行查询,方便的进行读者借阅情况查询,方便的进行借书还书处理等,便捷的对图书信息进行添加、修改、删除,分类管理等操作,对读者信息进行相关添加,修改,分类管理等操作。 (3)对于系统管理员可以对图书馆信息进行修改更新操作,对系统用户进行添加、修改、删除、权限设置等操作,对图书馆的办证参数进行修改维护等操作功能。 2.2.2 用户类和用户特性 图书借阅管理系统是一个基于B/S模式的对图书馆进行高效率管理的应用系统,它的用户主要是读者和图书管理员,图书管理员通过本系统实现图书及读者的高效管理,除此之外,还需要一个系统管理员对不同的用户进行权限的设置等操作。 三类用户的具体描述如表2.1所示。 表2.1用户具体描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值