Java---题库管理系统(小项目)(二)

简介: Java---题库管理系统(小项目)

Service

接口

//用户service接口
import studio.lyl.questionbankmanagementsystem.entity.User;
/**
 * @Author: Re
 * @Date: 2020/12/7 22:46
 */
public interface IUserService {
    /**
     *用户登录
     * @param id
     * @param password
     * @return boolean
     * @throws Exception
     */
    boolean loginUserService(Integer id,String password) ;
    /**
     * 管理员登录
     * @param id
     * @param password
     * @return
     */
    boolean loginAdministratorService(Integer id,String password);
    /**
     *
     * @param user
     * @return boolean
     * @throws Exception
     */
    boolean registService(User user) ;
    /**
     * 创建用户
     * @param user
     * @return boolean
     */
    boolean insertUser(User user) ;
    /**
     * 根据id删除用户
     * @param id
     * @return boolean
     */
    boolean deleteUserById(Integer id) ;
    /**
     * 根据用户id修改用户信息
     * @param id
     * @return boolean
     */
    boolean updateUser(Integer id,User user) ;
    /**
     * 根据id查看用户信息
     * @param id
     * @return User
     */
    User selectUserById(Integer id) ;
    /**
     * 查看所有用户信息
     * @return
     * @throws Exception
     */
    String selectUser() ;
}
//题库service接口
import studio.lyl.questionbankmanagementsystem.entity.Questions;
import java.util.List;
/**
 * @Author: Re
 * @Date: 2020/12/9 15:55
 */
public interface IQuestionServise {
    /**
     * 增加题目
     * @param questions
     * @return boolean
     */
    boolean insetQuestion(Questions questions) ;
    /**
     * 根据序号删除题目
     * @param sign
     * @param type
     * @return boolean
     */
    boolean deleteQuestion(int sign,String type) ;
    /**
     * 根据序号删除题目
     * @param sign
     * @param questions
     * @param type
     * @return
     */
    boolean updateQuestion(int sign ,String type ,Questions questions) ;
    /**
     * 根据序号查看题目
     * @param sign
     * @param type
     * @return String
     */
    Questions selectQuestion(int sign, String type) ;
    /**
     * 查看一个类型全部的题目
     * @param type
     * @return List
     */
    List<Questions> selectQuestions(String type) ;
    /**
     * 根据题目和序号查看改题目的答案
     * @param type
     * @return Questions
     */
    Questions selectAnswer(int sign,String type);
}
//笔记service接口
package studio.lyl.questionbankmanagementsystem.service;
import studio.lyl.questionbankmanagementsystem.entity.Note;
import java.util.List;
/**
 * @Author: Re
 * @Date: 2020/12/9 15:46
 */
public interface INoteService {
    /**
     * 增加笔记
     * @param note
     * @return boolean
     */
    boolean insetNote(Note note) ;
    /**
     * 根据用户id删除笔记
     * @param id
     * @param sign
     * @return boolean
     */
    boolean deleteNote(Integer id,Integer sign) ;
    /**
     * 根据用户id更改笔记
     * @param id
     * @param note
     * @param sign
     * @return
     */
    boolean updateNote(Integer id,Integer sign,Note note) ;
    /**
     * 根据用户id查看笔记
     * @param id
     * @return
     */
    List<Note> selectNoteById(Integer id) ;
    /**
     * 查看所有的笔记
     * @return
     */
    List<Note> selectNote() ;
}

实现接口

//用户Service接口实现
import studio.lyl.questionbankmanagementsystem.dao.IUserDao;
import studio.lyl.questionbankmanagementsystem.dao.impl.UserDaoImpl;
import studio.lyl.questionbankmanagementsystem.entity.User;
import studio.lyl.questionbankmanagementsystem.service.IUserService;
import java.util.List;
/**
 * @Author: Re
 * @Date: 2020/12/11 20:50
 */
public class UserServiceImpl implements IUserService {
    IUserDao iUserDao=new UserDaoImpl();
    @Override
    public boolean loginUserService(Integer id, String password) {
        List<User> userList=iUserDao.selectUserById(id);
        User user=userList.get(0);
        if(user==null||user.getLevel()==1){
            System.out.println("账号错误!");
            return false;
        }else {
            for (int i = 0; i < userList.size(); i++) {
                if(user.getPassword().equals(password)){
                    System.out.println("登录成功。");
                    return true;
                }
            }
        }
        System.out.println("密码错误!");
        return false;
    }
    @Override
    public boolean loginAdministratorService(Integer id, String password) {
        List<User> userList=iUserDao.selectUserById(id);
        if (userList.size()==0){
            System.out.println("账号错误");
            return false;
        }else {
            User user=userList.get(0);
            if (user == null || user.getLevel() == 0) {
                System.out.println("账号错误!");
                return false;
            } else {
                for (int i = 0; i < userList.size(); i++) {
                    if (user.getPassword().equals(password)) {
                        System.out.println("登录成功。");
                        return true;
                    }
                }
            }
        }
        System.out.println("密码错误!");
        return false;
    }
    @Override
    public boolean registService(User user) {
        List<User> userList=iUserDao.selectUserById(user.getId());
        if(userList.size()==0){
            iUserDao.insertUser(user);
            System.out.println("注册用户成功");
            return true;
        }
        System.out.println("用户已存在,注册失败");
        return false;
    }
    @Override
    public boolean insertUser(User user) {
        List<User> userList=iUserDao.selectUserById(user.getId());
        if(userList.size()==0){
            iUserDao.insertUser(user);
            System.out.println("增加用户成功");
            return true;
        }
        System.out.println("用户已存在,增加用户失败");
        return false;
    }
    @Override
    public boolean deleteUserById(Integer id) {
        List<User> userList=iUserDao.selectUserById(id);
        if(userList.size()==0){
            System.out.println("用户不存在");
            return false;
        }
        iUserDao.deleteUserById(id);
        System.out.println("用户删除成功");
        return true;
    }
    @Override
    public boolean updateUser(Integer id, User user)  {
        List<User> userList=iUserDao.selectUserById(id);
        if(userList.size()==0){
            System.out.println("用户不存在,更改用户信息失败");
            return false;
        }
        iUserDao.updateUser(id, user);
        System.out.println("更改用户信息成功");
        return true;
    }
    @Override
    public User selectUserById(Integer id)  {
        List<User> userList=iUserDao.selectUserById(id);
        if(userList.size()==0){
            return null;
        }else {
            User user=userList.get(0);
            System.out.println(user);
            return user;
        }
    }
    @Override
    public String selectUser() {
        List<User> userList= iUserDao.selectUser();
        for (int i = 0; i < userList.size(); i++) {
            User user=userList.get(i);
            System.out.println(user);
        }
        return userList.toString();
    }
}
//题库Service接口实现
import studio.lyl.questionbankmanagementsystem.dao.IQuestionDao;
import studio.lyl.questionbankmanagementsystem.dao.impl.QuestionDaoImpl;
import studio.lyl.questionbankmanagementsystem.entity.Questions;
import studio.lyl.questionbankmanagementsystem.service.IQuestionServise;
import java.util.List;
/**
 * @Author: Re
 * @Date: 2020/12/9 16:11
 */
public class QuestionServiceImpl implements IQuestionServise {
    IQuestionDao iQuestionDao=new QuestionDaoImpl();
    @Override
    public boolean insetQuestion(Questions questions) {
        try {
            iQuestionDao.insetQuestion(questions);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return true;
    }
    @Override
    public boolean deleteQuestion(int sign, String type) {
        List<Questions> questionsList=iQuestionDao.selectQuestion(sign,type);
        if(questionsList.size()==0){
            System.out.println("题目不存在!");
            return false;
        }else {
            try {
                iQuestionDao.deleteQuestion(sign, type);
            } catch (Exception e) {
                e.printStackTrace();
            }
            System.out.println("题目已删除");
            return true;
        }
    }
    @Override
    public boolean updateQuestion(int sign, String type, Questions questions) {
        List<Questions> questionsList=iQuestionDao.selectQuestion(sign, type);
        if(questionsList.size()==0){
            System.out.println("题目不存在!");
            return false;
        }else {
            try {
                iQuestionDao.deleteQuestion(sign, type);
                iQuestionDao.insetQuestion(questions);
            } catch (Exception e) {
                e.printStackTrace();
            }
            System.out.println("题目更改成功。");
            return true;
        }
    }
    @Override
    public Questions selectQuestion(int sign, String type) {
        List<Questions> questionsList=iQuestionDao.selectQuestion(sign, type);
        if(questionsList.size()==0){
            return null;
        }else {
            Questions questions=questionsList.get(0);
            return  questions;
        }
    }
    @Override
    public List<Questions> selectQuestions(String type) {
        List<Questions> questionsList=iQuestionDao.selectQuestions(type);
        if(questionsList.size()==0){
            System.out.println("该题库暂无题目");
            return null;
        }else {
            for (int i = 0; i < questionsList.size(); i++) {
                System.out.println(questionsList.get(i));
            }
            return questionsList;
        }
    }
    @Override
    public Questions selectAnswer( int sign,String type) {
        List<Questions> questionsList=iQuestionDao.selectQuestion(sign,type);
        if(questionsList.size()==0){
            System.out.println("该题库暂无题目");
            return null;
        }else {
            Questions questions=questionsList.get(0);
            System.out.println("本题答案为:   "+questions.getAnswer());
            return null;
        }
    }
}
//笔记Service接口实现
import studio.lyl.questionbankmanagementsystem.dao.INoteDao;
import studio.lyl.questionbankmanagementsystem.dao.impl.NoteDaoImpl;
import studio.lyl.questionbankmanagementsystem.entity.Note;
import studio.lyl.questionbankmanagementsystem.service.INoteService;
import java.util.ArrayList;
import java.util.List;
/**
 * @Author: Re
 * @Date: 2020/12/11 20:17
 */
public class NoteServiceImpl implements INoteService {
    INoteDao iNoteDao=new NoteDaoImpl();
    @Override
    public boolean insetNote(Note note) {
        iNoteDao.insetNote(note);
        System.out.println("添加笔记成功");
        return true;
    }
    @Override
    public boolean deleteNote(Integer id,Integer sign) {
        List<Note> noteList=iNoteDao.selectNoteById(id);
        if(noteList.size()==0){
            System.out.println("笔记不存在!");
            return false;
        }else {
            iNoteDao.deleteNote(id,sign);
            System.out.println("笔记已删除。");
            return true;
        }
    }
    @Override
    public boolean updateNote(Integer id,Integer sign, Note note) {
        List<Note> noteList = iNoteDao.selectNoteById(id);
        if (noteList.size() == 0) {
            System.out.println("笔记不存在!");
            return false;
        } else {
            List<Note> noteListBySign = new ArrayList<>();
            for (int i = 0; i < noteList.size(); i++) {
                Note noteBySign = noteList.get(i);
                if (noteBySign.getSign() == sign) {
                    noteListBySign.add(noteBySign);
                }
            }
            if (noteListBySign.size() == 0) {
                System.out.println("笔记不存在");
            } else {
                iNoteDao.updateNote(id, sign, note);
                System.out.println("笔记已更改。");
            }
        }
        return true;
    }
    @Override
    public List<Note> selectNoteById(Integer id) {
        List<Note> noteList=iNoteDao.selectNoteById(id);
        if(noteList.size()==0){
            return null;
        }else {
            return noteList;
        }
    }
    @Override
    public List<Note> selectNote() {
        List<Note> noteList=iNoteDao.selectNote();
        if(noteList.size()==0){
            System.out.println("现无笔记存在。");
            return null;
        }else {
            return noteList;
        }
    }
}

Controller

//用户Controller层
import studio.lyl.questionbankmanagementsystem.entity.User;
import studio.lyl.questionbankmanagementsystem.service.IUserService;
import studio.lyl.questionbankmanagementsystem.service.impl.UserServiceImpl;
/**
 * @Author: Re
 * @Date: 2020/12/11 22:05
 */
public class UserController {
    IUserService iUserService=new UserServiceImpl();
    /**
     *登录用户
     * @param id
     * @param password
     * @return boolean
     * @throws Exception
     */
    public boolean loginUser(Integer id,String password) {
        return iUserService.loginUserService(id, password);
    }
    public boolean loginAdministrator(Integer id,String password){
        return iUserService.loginAdministratorService(id,password);
    }
    /**
     *注册用户
     * @param user
     * @return boolean
     * @throws Exception
     */
    public boolean registUser(User user) {
        return iUserService.registService(user);
    }
    /**
     * 创建用户
     * @param user
     * @return boolean
     */
    public boolean insertUser(User user) {
        return iUserService.insertUser(user);
    }
    /**
     * 根据id删除用户
     * @param id
     * @return boolean
     */
    public boolean deleteUserById(Integer id) {
        return iUserService.deleteUserById(id);
    }
    /**
     * 根据用户id修改用户信息
     * @param id
     * @return boolean
     */
    public boolean updateUser(Integer id,User user) {
        return iUserService.updateUser(id, user);
    }
    /**
     * 根据id查看用户信息
     * @param id
     * @return String
     */
    public User selectUserById(Integer id) {
        return iUserService.selectUserById(id);
    }
    /**
     * 查看所有用户信息
     * @return
     * @throws Exception
     */
    public String selectUser() {
        return iUserService.selectUser();
    }
}
//题库controller层
import studio.lyl.questionbankmanagementsystem.entity.Questions;
import studio.lyl.questionbankmanagementsystem.service.IQuestionServise;
import studio.lyl.questionbankmanagementsystem.service.impl.QuestionServiceImpl;
import java.util.List;
/**
 * @Author: Re
 * @Date: 2020/12/11 22:02
 */
public class QuestionsController {
    IQuestionServise iQuestionServise=new QuestionServiceImpl();
    /**
     * 增加题目
     * @param questions
     * @return boolean
     */
    public boolean insetQuestion(Questions questions) {
        return iQuestionServise.insetQuestion(questions);
    }
    /**
     * 根据序号删除题目
     * @param sign
     * @param type
     * @return boolean
     */
    public boolean deleteQuestion(int sign,String type) {
        return iQuestionServise.deleteQuestion(sign, type);
    }
    /**
     * 根据序号更改题目
     * @param sign
     * @param questions
     * @param type
     * @return
     */
    public boolean updateQuestion(int sign ,String type ,Questions questions) {
        return iQuestionServise.updateQuestion(sign, type, questions);
    }
    /**
     * 根据序号查看题目
     * @param sign
     * @param type
     * @return question
     */
    public Questions selectQuestion(int sign, String type) {
        return iQuestionServise.selectQuestion(sign, type);
    }
    /**
     * 查看一个类型中所有的题目
     * @param type
     * @return
     * @throws Exception
     */
    public List<Questions> selectQuestions(String type) {
        return iQuestionServise.selectQuestions(type);
    }
    /**
     * 根据题目类型和序号查看题目答案
     * @param type
     * @return Question
     */
    public Questions selectAnswer(int sign,String type){
        return iQuestionServise.selectAnswer(sign , type);
    }
}
//笔记controller层
package studio.lyl.questionbankmanagementsystem.controller;
import studio.lyl.questionbankmanagementsystem.entity.Note;
import studio.lyl.questionbankmanagementsystem.service.INoteService;
import studio.lyl.questionbankmanagementsystem.service.impl.NoteServiceImpl;
import java.util.List;
/**
 * @Author: Re
 * @Date: 2020/12/11 21:58
 */
public class NoteController {
    INoteService iNoteService=new NoteServiceImpl();
    /**
     * 增加笔记
     * @param note
     * @return boolean
     */
    public boolean insetNote(Note note) {
        return iNoteService.insetNote(note);
    }
    /**
     * 根据用户id删除笔记
     * @param id
     * @return boolean
     */
    public boolean deleteNote(Integer id,Integer sign) {
        return iNoteService.deleteNote(id,sign);
    }
    /**
     * 根据用户id更改笔记
     * @param id
     * @param sign
     * @param note
     * @return
     */
    public boolean updateNote(Integer id,Integer sign,Note note) {
        return iNoteService.updateNote(id,sign ,note);
    }
    /**
     * 根据用户id查看笔记
     * @param id
     * @return
     */
    public List<Note> selectNoteById(Integer id) {
        return iNoteService.selectNoteById(id);
    }
    /**
     * 查看所有的笔记
     * @return
     */
    public List<Note> selectNote() {
        return iNoteService.selectNote();
    }
}
相关文章
|
25天前
|
监控 Java API
如何使用Java语言快速开发一套智慧工地系统
使用Java开发智慧工地系统,采用Spring Cloud微服务架构和前后端分离设计,结合MySQL、MongoDB数据库及RESTful API,集成人脸识别、视频监控、设备与环境监测等功能模块,运用Spark/Flink处理大数据,ECharts/AntV G2实现数据可视化,确保系统安全与性能,采用敏捷开发模式,提供详尽文档与用户培训,支持云部署与容器化管理,快速构建高效、灵活的智慧工地解决方案。
|
7天前
|
NoSQL Java 关系型数据库
Liunx部署java项目Tomcat、Redis、Mysql教程
本文详细介绍了如何在 Linux 服务器上安装和配置 Tomcat、MySQL 和 Redis,并部署 Java 项目。通过这些步骤,您可以搭建一个高效稳定的 Java 应用运行环境。希望本文能为您在实际操作中提供有价值的参考。
60 26
|
19天前
|
XML Java 测试技术
从零开始学 Maven:简化 Java 项目的构建与管理
Maven 是一个由 Apache 软件基金会开发的项目管理和构建自动化工具。它主要用在 Java 项目中,但也可以用于其他类型的项目。
31 1
从零开始学 Maven:简化 Java 项目的构建与管理
|
16天前
|
设计模式 消息中间件 搜索推荐
Java 设计模式——观察者模式:从优衣库不使用新疆棉事件看系统的动态响应
【11月更文挑战第17天】观察者模式是一种行为设计模式,定义了一对多的依赖关系,使多个观察者对象能直接监听并响应某一主题对象的状态变化。本文介绍了观察者模式的基本概念、商业系统中的应用实例,如优衣库事件中各相关方的动态响应,以及模式的优势和实际系统设计中的应用建议,包括事件驱动架构和消息队列的使用。
|
18天前
|
Java
Java项目中高精度数值计算:为何BigDecimal优于Double
在Java项目开发中,涉及金额计算、面积计算等高精度数值操作时,应选择 `BigDecimal` 而非 `Double`。`BigDecimal` 提供任意精度的小数运算、多种舍入模式和良好的可读性,确保计算结果的准确性和可靠性。例如,在金额计算中,`BigDecimal` 可以精确到小数点后两位,而 `Double` 可能因精度问题导致结果不准确。
|
28天前
|
Java Android开发
Eclipse 创建 Java 项目
Eclipse 创建 Java 项目
39 4
|
1月前
|
SQL Java 数据库连接
从理论到实践:Hibernate与JPA在Java项目中的实际应用
本文介绍了Java持久层框架Hibernate和JPA的基本概念及其在具体项目中的应用。通过一个在线书店系统的实例,展示了如何使用@Entity注解定义实体类、通过Spring Data JPA定义仓库接口、在服务层调用方法进行数据库操作,以及使用JPQL编写自定义查询和管理事务。这些技术不仅简化了数据库操作,还显著提升了开发效率。
42 3
|
1月前
|
运维 自然语言处理 供应链
Java云HIS医院管理系统源码 病案管理、医保业务、门诊、住院、电子病历编辑器
通过门诊的申请,或者直接住院登记,通过”护士工作站“分配患者,完成后,进入医生患者列表,医生对应开具”长期医嘱“和”临时医嘱“,并在电子病历中,记录病情。病人出院时,停止长期医嘱,开具出院医嘱。进入出院审核,审核医嘱与住院通过后,病人结清缴费,完成出院。
81 3
|
1月前
|
前端开发 Java 数据库
如何实现一个项目,小白做项目-java
本教程涵盖了从数据库到AJAX的多个知识点,并详细介绍了项目实现过程,包括静态页面分析、数据库创建、项目结构搭建、JSP转换及各层代码编写。最后,通过通用分页和优化Servlet来提升代码质量。
48 1
|
1月前
|
Java 数据库连接 数据库
深入探讨Java连接池技术如何通过复用数据库连接、减少连接建立和断开的开销,从而显著提升系统性能
在Java应用开发中,数据库操作常成为性能瓶颈。本文通过问题解答形式,深入探讨Java连接池技术如何通过复用数据库连接、减少连接建立和断开的开销,从而显著提升系统性能。文章介绍了连接池的优势、选择和使用方法,以及优化配置的技巧。
32 1