1. 程式人生 > 程式設計 >mybatis實現圖書管理系統

mybatis實現圖書管理系統

本文例項為大家分享了mybatis實現圖書管理系統的具體程式碼,供大家參考,具體內容如下

在專案開始前先將資料庫中的關係表建立,先分析需要幾個模組表,使用者,圖書,類別,租借,購買,簡單的分成這五個。

使用者表

CREATE TABLE IF NOT EXISTS `user`(
user_id INT(11) PRIMARY KEY AUTO_INCREMENT,user_name VARCHAR(20),`password` VARCHAR(20),grade INT(11),phone VARCHAR(20),user_type INT(11)
);

圖書表

CREATE TABLE IF NOT EXISTS books (
book_id INT(11) PRIMARY KEY AUTO_INCREMENT,book_name VARCHAR(50),price DOUBLE(10,2),store INT(11),des VARCHAR(50),book_type INT(11)
);

類別

CREATE TABLE IF NOT EXISTS `booktype`(
type_id INT(11) PRIMARY KEY AUTO_INCREMENT,type_name VARCHAR(20),default_date INT(11),delay_money_per_day DOUBLE(10,2)
);

租借

CREATE TABLE IF NOT EXISTS borrow(
borrow_id INT(11) PRIMARY KEY AUTO_INCREMENT,book_id INT(11),borrow_date DATE,back_date DATE,delay_money DOUBLE(10,2)
);

購買

CREATE TABLE IF NOT EXISTS shop(
buy_id INT(11) PRIMARY KEY AUTO_INCREMENT,record_id INT(11),buy_date DATE,buy_num INT(11),total_price DOUBLE(10,2)
);

在表中簡單插入資料

建立工程

1、配置環境匯入jar包

mybatis實現圖書管理系統

建立resources檔案

mybatis實現圖書管理系統

2、建立實體類、實現介面和xml檔案

mybatis實現圖書管理系統

xml檔案的格式

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!-- namespace指定關聯的介面-->
<mapper namespace="cn.kgc.kb07.dao.BookDao">
<!--查詢語句-->
</mapper>

實現登入功能

1、Sqlsession配置檔案使用單例模式

public class MapperConfig {
 private static SqlSessionFactory factory;
 static{
 SqlSessionFactoryBuilder builder=new SqlSessionFactoryBuilder();
 try {
 InputStream is= Resources.getResourceAsStream("mybatis-cfg.xml");
 factory=builder.build(is);
 } catch (IOException e) {
 e.printStackTrace();
 }
 }
 public static SqlSession getSession(){
 return factory.openSession(true);
 }
 public static void closeSession(SqlSession session){
 if(session!=null){
 session.close();
 }
 }
 private MapperConfig(){

 }
}

2、建立登陸jsp檔案

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
 <head>
 <title>登入頁面</title>
 </head>
 <body>
 <%
 Object msg=session.getAttribute("msg");
 Object o=session.getAttribute("user");
 if(msg!=null&& msg.equals("登入成功")&&o!=null){
 User u=(User)o;
 %>
 <h1>恭喜登入:${user.user_name}
 ${user.user_type==99?"超級管理員":""}</h1>
 <%
 if(u.getUser_type()==99){
 %>
 <p><a href="userList.do" rel="external nofollow" >點選展示所有使用者</a></p>
 <%
 }else{
 %>
 <p><a href="bookList.jsp" rel="external nofollow" >客戶入口</a> </p>
 <%
 }
 } else{
 %>
 <form action="login.do" method="get">
 <p>使用者名稱</p>
 <P><input type="text" name="username" required></P>
 <p>密碼</p>
 <p><input type="text" name="password" required></p>
 <p><input type="submit"></p>
 </form>
 <%
 session.removeAttribute("msg");
 }
 %>
 </body>
</html>

3、建立UserService,UserServlet檔案

UserService實體檔案

public class UserServiceImpl implements UserService{
 private SqlSession session;
 public UserServiceImpl(){
 session= MapperConfig.getSession();
 }
 @Override
 public User queryUser(String user_name,String password) {
 User user=session.getMapper(UserDao.class).queryUserByNameAndPwd(user_name,password);
 MapperConfig.closeSession(session);
 return user;
 }
}

UserServlet實體檔案

public class UserServlet extends HttpServlet {
 @Override
 protected void doGet(HttpServletRequest req,HttpServletResponse resp) throws ServletException,IOException {
 String user_name=req.getParameter("username");
 String password=req.getParameter("password");
 UserService service=new UserServiceImpl();
 User user=service.queryUser(user_name,password);
 System.out.println(user);
 if(user!=null){
 req.getSession().setAttribute("msg","登入成功");
 req.getSession().setAttribute("user",user);
 resp.sendRedirect("index.jsp");
 }else{
 System.out.println(2);
 req.getSession().setAttribute("msg","登入失敗");
 resp.sendRedirect("index.jsp");
 }
 }
}

3、配置web.xml檔案

<servlet>
 <servlet-name>userServlet</servlet-name>
 <servlet-class>cn.kgc.kb07.servlet.UserServlet</servlet-class>
 </servlet>
 <servlet-mapping>
 <servlet-name>userServlet</servlet-name>
 <url-pattern>/login.do</url-pattern>
</servlet-mapping>

更多學習資料請關注專題《管理系統開發》。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。