找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 841|回复: 0
打印 上一主题 下一主题
收起左侧

不完整 基于Java的图书管理系统实现

[复制链接]
跳转到指定楼层
楼主
ID:1024008 发表于 2022-5-24 18:29 来自手机 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
用户登录界面
当用户进入系统时,图书管理员根据自己的身份信息,输入具有唯一标识的用户名和密码,进行登陆;若输入出现错误,可清空数据,重新进行输入。
登录界面
具体功能实现代码:
public class UserDao {
        public User login(Connection con,User user)throws Exception{  
                User resultUser=null;            
                String sql="select * from t_user where userName=? and password=?";
                PreparedStatement pstmt=con.prepareStatement(sql);   
                pstmt.setString(1, user.getUserName());  
                pstmt.setString(2, user.getPassword());
                ResultSet rs=pstmt.executeQuery();     
                if(rs.next()){                        
                        resultUser=new User();            
                        resultUser.setId(rs.getInt("id"));
                        resultUser.setUserName(rs.getString("userName"));
                        resultUser.setPassword(rs.getString("password"));
                }
                return resultUser;   
        }   


图书类别管理界面包括对图书类别的添加与维护功能,为了页面的简洁性与操作的便利性,将图书类别的查询、修改与删除操作统一放在了维护功能内。在图书类别添加界面,在添加完类别与类别的简单描述之后,数据库将通过insert语句,完成对图书类别的添加;在维护功能页面,数据库将通过select语句、update语句、delete语句分别对图书类别进行查询、修改、删除操作
图书类别维护界面
具体功能实现代码:
public class BookTypeDao {
        public int add(Connection con,BookType bookType)throws Exception{
                String sql="insert into t_bookType values(null,?,?)";
                PreparedStatement pstmt=con.prepareStatement(sql);
                pstmt.setString(1, bookType.getBookTypeName());
                pstmt.setString(2, bookType.getBookTypeDesc());
                return pstmt.executeUpdate();
        }
        public ResultSet list(Connection con,BookType bookType)throws Exception{
               StringBuffer sb=new StringBuffer("select * from t_bookType");
               if(StringUtil.isNotEmpty(bookType.getBookTypeName())){
                sb.append(" and bookTypeName like '%"+bookType.getBookTypeName()+"%'");
        }
               PreparedStatement pstmt=con.prepareStatement(sb.toString().replaceFirst("and", "where"));
               return pstmt.executeQuery();
        }
        public int delete(Connection con,String id)throws Exception{
                String sql="delete from t_bookType where id=?";
                PreparedStatement pstmt=con.prepareStatement(sql);
                pstmt.setString(1, id);
                return pstmt.executeUpdate();
        }
        public int update(Connection con,BookType bookType)throws Exception{
                String sql="update t_bookType set bookTypeName=?,bookTypeDesc=? where id=?";
                PreparedStatement pstmt=con.prepareStatement(sql);
                pstmt.setString(1, bookType.getBookTypeName());
                pstmt.setString(2, bookType.getBookTypeDesc());
                pstmt.setInt(3, bookType.getId());
                return pstmt.executeUpdate();
        }
}

图书信息管理界面
图书信息管理界面包括对图书信息的添加与维护功能,为了页面的简洁性与操作的便利性,将图书信息的查询、修改与删除操作统一放在了维护功能内。在图书信息添加界面,在添加完图书的名称、作者、价格等信息后,数据库将通过insert语句,完成对图书信息的添加;在维护功能页面,数据库将通过select语句、update语句、delete语句分别对图书信息进行查询、修改、删除操作。
具体功能实现代码:
public class BookDao {
        public int add(Connection con,Book book)throws Exception{
                String sql="insert into t_book values(null,?,?,?,?,?,?)";
                PreparedStatement pstmt=con.prepareStatement(sql);
                pstmt.setString(1, book.getBookName());
                pstmt.setString(2, book.getAuthor());
                pstmt.setString(3, book.getSex());
                pstmt.setFloat(4, book.getPrice());
                pstmt.setInt(5, book.getBookTypeId());
                pstmt.setString(6, book.getBookDesc());
                return pstmt.executeUpdate();
        }
        public ResultSet list(Connection con,Book book)throws Exception{
                StringBuffer sb=new StringBuffer("select * from t_book b,t_bookType bt where b.bookTypeId=bt.id");
                if(StringUtil.isNotEmpty(book.getBookName())){
                        sb.append(" and b.bookName like '%"+book.getBookName()+"%'");
                }
                if(StringUtil.isNotEmpty(book.getAuthor())){
                        sb.append(" and b.author like '%"+book.getAuthor()+"%'");
                }
                if(book.getBookTypeId()!=null && book.getBookTypeId()!=-1){
                        sb.append(" and b.bookTypeId="+book.getBookTypeId());
                }
                PreparedStatement pstmt=con.prepareStatement(sb.toString());
                return pstmt.executeQuery();
        }
        public int delete(Connection con,String id)throws Exception{
                String sql="delete from t_book where id=?";
                PreparedStatement pstmt=con.prepareStatement(sql);
                pstmt.setString(1, id);
                return pstmt.executeUpdate();
        }
        public int update(Connection con,Book book)throws Exception{
                String sql="update t_book set bookName=?,author=?,sex=?,price=?,bookDesc=?,bookTypeId=? where id=?";
                PreparedStatement pstmt=con.prepareStatement(sql);
                pstmt.setString(1, book.getBookName());
                pstmt.setString(2, book.getAuthor());
                pstmt.setString(3, book.getSex());
                pstmt.setFloat(4, book.getPrice());
                pstmt.setString(5, book.getBookDesc());
                pstmt.setInt(6, book.getBookTypeId());
                pstmt.setInt(7, book.getId());
                return pstmt.executeUpdate();
        }
}

功能界面实现原理
    系统整体使用swing框架,若要主界面添加菜单,则需要添加菜单空间menu和标签控件lable,然后在init方法内设置各项属性即可;若要在原窗体内添加对象,则需先在init方法里添加所需控件,然后实例化对象,最后用代码设置各项属性;若要添加一个弹出式窗体,则先需将菜单项做好,加入一个监听事件处理器,被弹出窗体要以新建源文件的形式编写(新建Java类),并添加一个事件处理方法,然后在构造方法里调用动态加载的init方法,,再在这个动态加载方法里添加要显示的内容即可。

数据库实现
系统与数据库的成功连接和搭建,是该系统能够顺利实现其各个模块功能的重要环节,这个环节中利用Sqlyog建立连接并新建用户表、图书类别管理表、图书信息管理表后,再通过使用JDBC等各项技术,实现了系统与数据库的连接,具体代码如下:
public class DbUtil {
        private String dbUrl="";
        private String dbUse
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表