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,

book_id INT(11),

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>

更多学习资料请关注专题《管理系统开发》。

以上是 mybatis实现图书管理系统 的全部内容, 来源链接: utcz.com/z/341694.html

回到顶部