mybatis實現圖書管理系統
阿新 • • 發佈:2020-06-18
本文例項為大家分享了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包
建立resources檔案
2、建立實體類、實現介面和xml檔案
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>
更多學習資料請關注專題《管理系統開發》。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。