关于Java小项目——图书管理系统的总结

====================

网上看完视频写完这个小项目后,总结一下自己遇到的问题。。。

一、开发环境

eclipse + widowbuilder

二、涉及到的技术

  • Java MVC模式
  • Swing
  • MySQL
  • JDBC

Java MVC模式

M——Model(模型)。用于处理应用程序数据逻辑的部分。建立相关的类来连接数据库存储数据,例如用户类,图书类,图书类别类,把能够抽象化成一个一个的类写在这一部分
V——View(视图)。所有用户看到的界面,写在这一部分。这次用windowbuilder的这一插件来写视图
C——Contraller(控制器)。这部分主要是用来连接Model和View这两部分的,关于用户交互的操作的方法函数写在这一部分

首先,创建了几个包用来写不同模块的代码!这里写图片描述
com.luo.Model一个包用来写Model这一模块
com.luo.View一个包用来写View这一模块
com.luo.Dao一个包用来写Controller这一模块
另外,还创建com.luo.Util一个包用来封装相关的工具类,例如我们会重复需要连接数据库,这时候就先封装好一个连接数据库的那一部分的 工具类。后面连接起来就方便多了。
com.luo.Image这个包是用来存放项目中用到的图标和图片
http://www.easyicon.net/ —> 用来找图标的网站

MySQL部分

关联了bookTypeId和Id
也就是说BookType数据库的id 代表着 Book中类别的Id,例如类型1,类型7,其中1和7就是BookType中的id

这里写图片描述

在com.luo.Util中封装了连接数据库的一个DbUtil类
首先需要4个成员变量:

  • 数据库的名字,”jdbc:mysql://localhost:3306/(这里写数据库的名字)”
  • MySQL的用户名
  • MySQL的密码
  • JDBC驱动的名字 “com.mysql.jdbc.Driver”

接下来是连接数据库的方法函数

  • 通过Class调用forName()
  • 然后通过DriverManager调用getConnection()
  • 最后返回一个Connection类型值

还有关闭数据库的方法函数

  • 通过传入的Connection类型的值调用Close()
/**
 * 连接数据库工具
 * @author Administrator
 *
 */
public class DbUtil {
   

    private String dbUrl = "jdbc:mysql://localhost:3306/db_book";
    private String UserName = "root";
    private String Password = "123456";
    private String jdbcName = "com.mysql.jdbc.Driver";

    /**
     * 连接数据库
     * @return
     * @throws Exception
     */
    public Connection getCon() throws Exception {
        Class.forName(jdbcName);
        Connection conn = DriverManager.getConnection(dbUrl, UserName, Password);
        return conn;
    }

    /**
     * 关闭数据库
     * @param conn
     * @throws Exception
     */
    public void Closecon(Connection conn) throws Exception {
        if( conn != null){
            conn.close();
        }
    }

Model模块

这次的小项目分别建立了User类Book类BookType类。其中,后面需要用到这些类的构造方法传入参数,所以注意,要构造一个不带参数的构造函数,这样后面就可以new一个空的类了。

以下是其中一个用户类的代码,

public class User {
   

    private int id;
    private String userName;
    private String password;

    public User() {
        super();
    } //不带参数的构造函数

    public User(String userName, String password) {
        super();
        this.userName = userName;
        this.password = password;
    } //带两个参数的构造函数

    /********************************** 
    分别创建成员变量get()和set()方法
    ***********************************/
    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    public String getUserName() {
        return userName;
    }
    public void setUserName(String userName) {
        this.userName = userName;
    }
    public String 
  • 9
    点赞
  • 66
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值