如何使用idea在基于maven创建ssm项目

如何使用idea在基于maven创建ssm项目

  1. 创建maven项目
    打开idea点击New Project
    在这里插入图片描述
    选择maven web 骨架
    在这里插入图片描述
    创建项目名及项目结构
    在这里插入图片描述

点击Finish后项目创建结束,然后项目结构如下,如果创建完成后src->main下没有java及resources需要手动添加
在这里插入图片描述
2. 创建项目包结构,例如我所创建的
在这里插入图片描述
3.添加项目所需jar
pol.xml:maven项目下用于导入库的文件

<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>com.iflytek</groupId>
  <artifactId>petmanagesystem</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>war</packaging>

  <name>petmanagesystem Maven Webapp</name>
  <url>http://maven.apache.org</url>

  <properties>
    <junit.version>5.7.0</junit.version>
    <servlet.version>4.0.1</servlet.version>
    <jsp.version>2.3.3</jsp.version>
    <spring.version>5.3.1</spring.version>
  </properties>

  <dependencies>
    <dependency>
      <groupId>org.junit.jupiter</groupId>
      <artifactId>junit-jupiter-api</artifactId>
      <version>${junit.version}</version>
      <scope>test</scope>
    </dependency>
    <!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api -->
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>javax.servlet-api</artifactId>
      <version>${servlet.version}</version>
      <scope>provided</scope>
    </dependency>
    <!-- https://mvnrepository.com/artifact/javax.servlet.jsp/jsp-api -->
    <dependency>
      <groupId>javax.servlet.jsp</groupId>
      <artifactId>javax.servlet.jsp-api</artifactId>
      <version>${jsp.version}</version>
      <scope>provided</scope>
    </dependency>
    <!-- https://mvnrepository.com/artifact/org.springframework/spring-context -->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-context</artifactId>
      <version>${spring.version}</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/org.springframework/spring-webmvc -->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-webmvc</artifactId>
      <version>${spring.version}</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/org.aspectj/aspectjweaver -->
    <dependency>
      <groupId>org.aspectj</groupId>
      <artifactId>aspectjweaver</artifactId>
      <version>1.9.6</version>
      <scope>runtime</scope>
    </dependency>
    <!-- https://mvnrepository.com/artifact/org.springframework/spring-tx -->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-tx</artifactId>
      <version>${spring.version}</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/org.springframework/spring-jdbc -->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-jdbc</artifactId>
      <version>${spring.version}</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
    <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>5.1.47</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/org.apache.taglibs/taglibs-standard-impl -->
    <dependency>
      <groupId>org.apache.taglibs</groupId>
      <artifactId>taglibs-standard-impl</artifactId>
      <version>1.2.5</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/org.apache.taglibs/taglibs-standard-spec -->
    <dependency>
      <groupId>org.apache.taglibs</groupId>
      <artifactId>taglibs-standard-spec</artifactId>
      <version>1.2.5</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/com.alibaba/druid -->
    <dependency>
      <groupId>com.alibaba</groupId>
      <artifactId>druid</artifactId>
      <version>1.1.10</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/org.mybatis/mybatis -->
    <dependency>
      <groupId>org.mybatis</groupId>
      <artifactId>mybatis</artifactId>
      <version>3.5.6</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/org.mybatis/mybatis-spring -->
    <dependency>
      <groupId>org.mybatis</groupId>
      <artifactId>mybatis-spring</artifactId>
      <version>1.3.2</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-core -->
    <dependency>
      <groupId>org.apache.logging.log4j</groupId>
      <artifactId>log4j-core</artifactId>
      <version>2.12.1</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/org.projectlombok/lombok -->
    <dependency>
      <groupId>org.projectlombok</groupId>
      <artifactId>lombok</artifactId>
      <version>1.16.20</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/com.alibaba/fastjson -->
    <dependency>
      <groupId>com.alibaba</groupId>
      <artifactId>fastjson</artifactId>
      <version>1.2.75</version>
    </dependency>

    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-annotations</artifactId>
      <version>2.10.3</version>
    </dependency>

    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-core</artifactId>
      <version>2.10.3</version>
    </dependency>

    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-databind</artifactId>
      <version>2.10.3</version>
    </dependency>

  </dependencies>

  <build>
    <finalName>petmanagesystem</finalName>

  </build>

</project>

4.在resuorces下创建
在这里插入图片描述

applicationContext.xml:用来开启扫描service和dao层的注解以及整合其他框架

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:context="http://www.springframework.org/schema/context"
	xmlns:aop="http://www.springframework.org/schema/aop"
	xmlns:tx="http://www.springframework.org/schema/tx"
	xsi:schemaLocation="http://www.springframework.org/schema/beans 
    http://www.springframework.org/schema/beans/spring-beans.xsd
    http://www.springframework.org/schema/context
    http://www.springframework.org/schema/context/spring-context.xsd
    http://www.springframework.org/schema/aop
    http://www.springframework.org/schema/aop/spring-aop.xsd
    http://www.springframework.org/schema/tx 
    http://www.springframework.org/schema/tx/spring-tx.xsd">

	<!-- 开启注解扫描,扫描service和dao层的注解,要忽略web层注解,因为web层让SpringMVC框架去 管理 -->
	<context:component-scan base-package="com.chao.*">
		<!-- 配置要忽略的注解 -->
		<context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller" />
	</context:component-scan>
	
	<!-- Spring整合MyBatis -->
	<!-- 1.数据源 -->
	<context:property-placeholder location="classpath:db.properties" /> <!-- 指定外部属性文件 -->
	<!-- 配置Driud数据源 -->
    <bean id="druidDS" class="com.alibaba.druid.pool.DruidDataSource">
        <property name="driverClassName" value="${jdbc.driver}"></property>
        <property name="url" value="${jdbc.url}"></property>
        <property name="username" value="${jdbc.username}"></property>
        <property name="password" value="${jdbc.password}"></property>
        
        <!-- 配置初始化大小、最小、最大 -->
        <property name="initialSize" value="1" />
        <property name="minIdle" value="1" />
        <property name="maxActive" value="10" />
        <!-- 配置获取连接等待超时的时间 -->
        <property name="maxWait" value="10000" />
        <!-- 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 -->
        <property name="timeBetweenEvictionRunsMillis" value="60000" />
        <!-- 配置一个连接在池中最小生存的时间,单位是毫秒 -->
        <property name="minEvictableIdleTimeMillis" value="300000" />
    </bean>
	<!-- 2.配置SqlSessionFacotory -->
	<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
	   <property name="dataSource" ref="druidDS"></property>
	   <property name="typeAliasesPackage" value="com.chao.pojo"></property>
	</bean>	
	<!-- 3.配置dao所在的包 -->
	<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
	   <property name="basePackage" value="com.chao.dao"></property>
	</bean>
</beans>

db.properties:数据库的相关配置(注意:这里的配置是自己数据库的相关信息)

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/bookmanagesystem?characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull
jdbc.username=root
jdbc.password=xxx

log4j2.xml:日志相关配置使得日志打印在控制台上面

<?xml version="1.0" encoding="UTF-8"?>
<!--Configuration后面的status用于设置log4j2自身内部的信息输出, 可以不设置,当设置成trace 时,可以看到log4j2内部各种详细输出 -->
<Configuration status="warn">
	<!-- 全局配置参数 -->
	<properties>
		<!-- 日志输出格式 -->
		<property name="logPattern">%d{HH:mm:ss.SSS} [%t] %-5level %15.15logger - %l %msg%n</property>
		
		<!-- 日志文件存放路径 -->
		<property name="logBaseDir">logs</property>
		
		<!-- 指定日志文件编码格式 -->
		<property name="logCharset">UTF-8</property>
	</properties>
	
	<!-- 先定义所有的Appenders -->
	<Appenders>
		<!-- 用于定义输出到控制台的Appender -->
		<Console name="Console" target="SYSTEM_OUT">
			<PatternLayout pattern="${logPattern}" />
		</Console>
		
		<!-- 用于定义输出到日志文件的Appender -->
		<!-- 这个会输出所有的info及以下级别的信息,每次大小超过size,则这size大小的日志会自 动存入按年份-月份建立的文件夹下面 如果后缀名是zip或gz会自动进行压缩,作为存档 -->
		<RollingFile name="RollingFileInfo" fileName="${logBaseDir}/appinfo.log"
			filePattern="${logBaseDir}/%d{yyyy-MM}/app-info-%d{dd HH:mm:ss}.%i.log.bak">
			<!-- 日志级别过滤 onMatch表示匹配设定的日志级别后是DENY还是ACCEPT,onMismatch表示不匹配设定的日 志级别是DENY还是ACCEPT还是NEUTRAL 
				match/misMatch指的是高于或等于设定的日志级别 -->
			<ThresholdFilter level="info" onMatch="ACCEPT" onMismatch="DENY" />
			<!-- 日志输出格式 -->
			<PatternLayout charset="${logCharset}" pattern="${logPattern}" />
			<!-- 指定滚动日志的策略,选其一就可以了 -->
			<Policies>
				<!-- 指定了基于时间的触发策略,interval根据日期模式中最具体的时间单位进行滚 动的频率。 -->
				<!-- <TimeBasedTriggeringPolicy modulate="true" interval="1" /> -->
				<!-- SizeBasedTriggeringPolicy指定了基于文件大小的触发策略。 -->
				<SizeBasedTriggeringPolicy size="20MB" />
			</Policies>
		</RollingFile>
		
		<RollingFile name="RollingFileError" fileName="${logBaseDir}/apperror.log"
			filePattern="${logBaseDir}/%d{yyyy-MM}/app-error-%d{dd HH:mm:ss}.%i.log.bak">
			<ThresholdFilter level="error" onMatch="ACCEPT" onMismatch="DENY" />
			<PatternLayout charset="${logCharset}" pattern="${logPattern}" />
			<Policies>
				<TimeBasedTriggeringPolicy modulate="true" interval="1" />
				<!-- <SizeBasedTriggeringPolicy size="20MB" /> -->
			</Policies>
		</RollingFile>
	</Appenders>
	
	<!--然后定义logger,只有定义了logger并引入appender,appender才会生效 -->
	<Loggers> <!-- 常见有Root、Logger两种子节点 -->
		<Root level="debug"> <!-- 指定项目的根日志,如果没有单独指定Logger,默认使用该 Root日志输出 -->
			<AppenderRef ref="Console" /> <!-- 指定该日志输出到哪个Appender -->
			<AppenderRef ref="RollingFileInfo" />
			<AppenderRef ref="RollingFileError" />
		</Root>
	</Loggers>
</Configuration>

springmvc.xml:开启只扫描Controller注解配置视图解析器

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:mvc="http://www.springframework.org/schema/mvc"
	xmlns:context="http://www.springframework.org/schema/context"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="
    http://www.springframework.org/schema/beans
    https://www.springframework.org/schema/beans/spring-beans.xsd
    http://www.springframework.org/schema/mvc
    https://www.springframework.org/schema/mvc/spring-mvc.xsd
    http://www.springframework.org/schema/context
    https://www.springframework.org/schema/context/spring-context.xsd">

	<!-- 开启注解扫描,只扫描Controller注解 -->
	<context:component-scan
		base-package="com.chao">
		<context:include-filter type="annotation"
			expression="org.springframework.stereotype.Controller" />
	</context:component-scan>

	<!-- 配置视图解析器 -->
	<bean id="viewResolver"
		class="org.springframework.web.servlet.view.InternalResourceViewResolver">
		<!-- JSP文件所在的目录 -->
		<property name="prefix" value="/WEB-INF/pages/" />
		<!-- 文件的后缀名 -->
		<property name="suffix" value=".jsp" />
	</bean>

	<!-- 过滤静态资源 -->
	<mvc:default-servlet-handler />

	<!-- 开启对SpringMVC注解的支持 -->
	<mvc:annotation-driven />
</beans>

5.配置web.xml(注意:无需添加,项目创建自动生成)
在这里插入图片描述
web.xml:用于配置前端控制器和一些过滤器以及配置一些配置文件

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
         id="WebApp_ID" version="4.0">
  <display-name>petmanagersystem</display-name>

  <!-- 配置前端控制器 -->
  <servlet>
    <servlet-name>dispatcherServlet</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
      <param-name>contextConfigLocation</param-name>
      <param-value>classpath:springmvc.xml</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>dispatcherServlet</servlet-name>
    <url-pattern>/</url-pattern>
  </servlet-mapping>

  <!-- 配置解决中文乱码的编码过滤器 -->
  <filter>
    <filter-name>characterEncodingFilter</filter-name>
    <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
    <!-- 设置过滤器编码属性 -->
    <init-param>
      <param-name>encoding</param-name>
      <param-value>UTF-8</param-value>
    </init-param>
  </filter>
  <filter-mapping>
    <filter-name>characterEncodingFilter</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>

  <!-- 配置Spring的监听器,默认加载WEB-INF目录下的applicationContext.xml -->
  <listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  </listener>
  <!-- 配置加载类路径中的Spring配置文件 -->
  <context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>classpath:applicationContext.xml</param-value>
  </context-param>

</web-app>

到这,项目的配置及项目结构大致搭建完成,接下来进入测试环节
6.创建实体类及三层架构
结构如下
在这里插入图片描述

BookController.java

package com.chao.controller;

import com.chao.pojo.Book;
import com.chao.service.BookService;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView;

import java.util.List;

@Controller
@Mapper
public class BookController {
    @Autowired
    BookService bookService;
    @RequestMapping("/booklist")
    public ModelAndView getBookList(){
        List<Book> bookList=bookService.queryAllBooks();
       return new ModelAndView("booklist","booklist",bookList);
    }
}


BookDao.java

package com.chao.dao;

import com.chao.pojo.Book;


import org.springframework.stereotype.Service;

import java.util.List;

@Service
public interface BookDao {
    List<Book> queryAllBooks();
}

Book.java

package com.chao.pojo;
import java.util.Date;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

@Data
public class Book {
    private int id;
    private String name; // 名称
    private float price; // 价格
    private String author; // 作者
    private String category; // 分类
    private String publisher; // 出版社
   /* @DateTimeFormat(pattern = "yyyy-MM-dd")*/
    private String publishdate; // 出版日期
    private int count; // 数量
    private String cover; // 封面
}

BookServiceImpl.java

package com.chao.service.impl;

import com.chao.dao.BookDao;
import com.chao.pojo.Book;
import com.chao.service.BookService;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;
@Service
public class BookServiceImpl implements BookService {
    @Autowired
    BookDao bookDao;
    public List<Book> queryAllBooks() {
        return bookDao. queryAllBooks();
    }
}

BookService.java

package com.chao.service;

import com.chao.pojo.Book;

import java.util.List;

public interface BookService {
    List<Book> queryAllBooks();
}

7.添加前端页面booklist.jsp用于展示数据库查询结构

在这里插入图片描述
booklist.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>图书列表</title>
	</head>
	<body>
		<table border="" cellspacing="" cellpadding="">
			<tr><th>图书编号</th><th>名字</th><th>价格</th><th>作者</th><th>分类</th><th>出版社</th><th>出版日期</th><th>数量</th></tr>
			<c:forEach items="${booklist}" var="book" varStatus="count">
			<tr><td>${count.index+1}</td><td>${book.name}</td><td>${book.price}</td><td>${book.author}</td><td>${book.category}</td><td>${book.publisher}</td><td>${book.publishdate}</td><td>${book.count}</td></tr>
			</c:forEach>
		</table>
	</body>
</html>

8.效果展示(注意:根目录设置为"/"访问路径才是http://localhost:8081/booklist)
在这里插入图片描述

9.如果有新手小伙伴可按照我的项目来这边提供sql语句
bookmanagesystem.sql

/*
SQLyog Ultimate v12.09 (64 bit)
MySQL - 5.5.15 : Database - bookmanagesystem
*********************************************************************
*/


/*!40101 SET NAMES utf8 */;

/*!40101 SET SQL_MODE=''*/;

/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
CREATE DATABASE /*!32312 IF NOT EXISTS*/`bookmanagesystem` /*!40100 DEFAULT CHARACTER SET utf8 */;

USE `bookmanagesystem`;

/*Table structure for table `t_book` */

DROP TABLE IF EXISTS `t_book`;

CREATE TABLE `t_book` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(200) DEFAULT NULL,
  `author` varchar(50) DEFAULT NULL,
  `price` float DEFAULT NULL,
  `category` varchar(20) DEFAULT NULL,
  `publisher` varchar(100) DEFAULT NULL,
  `publishdate` date DEFAULT NULL,
  `count` int(11) DEFAULT NULL,
  `cover` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=46 DEFAULT CHARSET=utf8;

/*Data for the table `t_book` */

insert  into `t_book`(`id`,`name`,`author`,`price`,`category`,`publisher`,`publishdate`,`count`,`cover`) values (1,'Java从入门到精通','明日科技',69.8,'计算机','清华大学出版社','0000-00-00',100,NULL),(2,'改变世界的科学家:爱因斯坦、霍金、爱迪生、牛顿等','拉飞客 ',200,'童书','人民文学出版社','2020-08-01',200,NULL),(3,'藏在地图里的国家地理·世界','北纬30',290,'童书','山东省地图出版社','2020-08-01',80,NULL),(4,'Java核心技术 卷I 基础知识','Cay S.Horstmann',149,'计算机','机械工业出版社','2019-12-01',50,NULL),(5,'JavaScript高级程序设计 第4版','Matt Frisbie',129,'计算机','人民邮电出版社','2020-09-01',50,NULL),(6,'Python编程 从入门到实践','Eric Matthes',89,'计算机','人民邮电出版社','2016-07-01',80,NULL),(7,'我来说Java','佚名',9.9,'计算机','宇宙出版社','2020-12-01',100,NULL),(8,'Python入门与实战组合套装','明日科技',207,'计算机','吉林大学出版社','2019-03-01',90,NULL),(9,'游中国','黄宇',79,'童书','明天出版社','2019-10-01',100,NULL),(10,'幼儿大科学绘本:大宇宙','马劲',59.9,'童书','北京联合出版公司','2020-03-01',50,NULL),(11,'三体','刘慈欣',93,'小说','重庆出版社','2008-01-01',300,NULL),(12,'八十天环游世界','凡尔纳',58,'小说','吉林美术出版社','2019-04-01',30,NULL),(13,'Java编程思想(第4版)','Bruce Eckel',108,'计算机','机械工业出版社','2007-06-01',50,NULL),(14,'数学之美 第三版','吴军',69,'计算机','人民邮电出版社','2020-05-01',40,NULL),(15,'Java精彩编程200例','明日科技',79.8,'计算机','吉林大学出版社','2017-09-01',50,NULL),(16,'深入理解Java虚拟机:JVM高级特性与最佳实践','周志明',129,'计算机','机械工业出版社','2019-12-01',50,NULL),(17,'Effective Java中文版','Joshua Bloch',119,'计算机','机械工业出版社','2019-01-01',80,NULL),(18,'Spring实战 第5版','Craig Walls',49.5,'计算机','人民邮电出版社','2020-02-01',100,NULL),(19,'五味子','懒兔子',49.8,'小说','北京联合出版公司','2020-07-01',0,NULL),(33,'sb','sb',100,'sb','sb','2021-03-13',120,NULL),(40,'MyBatis测试','ceshi',50.5,'计算机','机械工业出版社','2020-11-16',100,NULL),(41,'MyBatis测试','ceshi',50.5,'计算机','机械工业出版社','2020-11-16',100,NULL),(42,'JdbcTemplate修改操作','leitao',66.5,'编程开发','安信工出版社','2020-12-03',300,NULL),(44,'JdbcTemplate技术应用','leitao',88.8,'编程开发','安信工出版社','2020-12-02',0,NULL),(45,'Java EE企业级应用开发教程(Spring+Spring MVC+MyBatis)','xxx',49,'编程','人民邮电出版社','2017-08-01',100,'D:\\DEV\\Java\\MyWeb\\wtpwebapps\\图书管理系统\\coverimgs\\fe5900d3-4f75-4044-bc81-16df1faf9c36.jpg');

/*Table structure for table `t_borrow` */

DROP TABLE IF EXISTS `t_borrow`;

CREATE TABLE `t_borrow` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `rid` int(11) DEFAULT NULL COMMENT '读者id',
  `bid` int(11) DEFAULT NULL COMMENT '图书id',
  `borrowtm` datetime DEFAULT NULL COMMENT '借阅时间',
  `returntm` datetime DEFAULT NULL COMMENT '归还时间',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=15 DEFAULT CHARSET=utf8;

/*Data for the table `t_borrow` */

insert  into `t_borrow`(`id`,`rid`,`bid`,`borrowtm`,`returntm`) values (1,1,1,'2020-09-23 11:19:33','2020-10-01 10:28:02'),(2,1,2,'2020-09-23 11:19:55',NULL),(3,2,3,'2020-09-23 11:20:00',NULL),(4,2,1,'2020-09-23 11:20:06',NULL),(5,1,1,'2020-11-01 10:27:56',NULL),(6,1,19,'2020-12-04 16:41:06',NULL),(10,1,44,'2020-12-07 10:54:18',NULL),(11,1,44,'2020-12-07 10:54:40',NULL),(13,1,44,'2020-12-07 11:22:50',NULL),(14,1,44,'2020-12-07 11:23:02',NULL);

/*Table structure for table `t_manager` */

DROP TABLE IF EXISTS `t_manager`;

CREATE TABLE `t_manager` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `loginname` varchar(20) NOT NULL,
  `password` varchar(100) NOT NULL,
  `username` varchar(20) NOT NULL,
  `level` int(11) DEFAULT '2',
  `headimg` varchar(255) DEFAULT NULL COMMENT '头像文件的路径',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;

/*Data for the table `t_manager` */

insert  into `t_manager`(`id`,`loginname`,`password`,`username`,`level`,`headimg`) values (1,'admin','827ccb0eea8a706c4c34a16891f84e7b','超级管理员',1,NULL),(2,'zhangsan','490ab5bb10c20869bccb830e2f54a9db','张三',2,NULL);

/*Table structure for table `t_permission` */

DROP TABLE IF EXISTS `t_permission`;

CREATE TABLE `t_permission` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `pname` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT;

/*Data for the table `t_permission` */

insert  into `t_permission`(`id`,`pname`) values (1,'manager:*'),(2,'reader:*'),(3,'manager:query'),(4,'manager:update');

/*Table structure for table `t_reader` */

DROP TABLE IF EXISTS `t_reader`;

CREATE TABLE `t_reader` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `loginname` varchar(50) DEFAULT NULL,
  `password` varchar(50) DEFAULT NULL,
  `username` varchar(50) DEFAULT NULL,
  `gender` varchar(2) DEFAULT NULL,
  `birthday` date DEFAULT NULL,
  `registtime` date DEFAULT NULL,
  `status` int(11) DEFAULT '2',
  `headimg` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8;

/*Data for the table `t_reader` */

insert  into `t_reader`(`id`,`loginname`,`password`,`username`,`gender`,`birthday`,`registtime`,`status`,`headimg`) values (1,'r001','827ccb0eea8a706c4c34a16891f84e7b','Jerry','男','2000-01-01','2020-09-01',1,NULL),(2,'r002','01cfcd4f6b8770febfb40cb906715822','张三','女','2001-10-01','2020-09-01',1,NULL),(3,'r003','b59c67bf196a4758191e42f76670ceba','Lucy','女','2002-05-01','2020-09-23',0,NULL),(4,'r004','202cb962ac59075b964b07152d234b70','Tom','男','2001-01-25',NULL,1,NULL),(5,'r005','202cb962ac59075b964b07152d234b70',NULL,'男','2020-11-11',NULL,1,NULL),(6,'r006','123','sb','男','2021-03-10','2021-03-12',2,NULL);

/*Table structure for table `t_role` */

DROP TABLE IF EXISTS `t_role`;

CREATE TABLE `t_role` (
  `id` int(11) NOT NULL,
  `rname` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT;

/*Data for the table `t_role` */

insert  into `t_role`(`id`,`rname`) values (1,'manager'),(2,'reader'),(3,'teacher');

/*Table structure for table `t_role_permission` */

DROP TABLE IF EXISTS `t_role_permission`;

CREATE TABLE `t_role_permission` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `rid` int(11) DEFAULT NULL,
  `pid` int(11) DEFAULT NULL,
  PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT;

/*Data for the table `t_role_permission` */

insert  into `t_role_permission`(`id`,`rid`,`pid`) values (1,1,1),(2,2,2),(3,3,3),(4,3,4);

/*Table structure for table `t_user` */

DROP TABLE IF EXISTS `t_user`;

CREATE TABLE `t_user` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `loginname` varchar(100) DEFAULT NULL,
  `password` varchar(100) DEFAULT NULL,
  `username` varchar(100) DEFAULT NULL,
  `status` int(11) DEFAULT NULL,
  `salt` varchar(100) NOT NULL,
  PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=17 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT;

/*Data for the table `t_user` */

insert  into `t_user`(`id`,`loginname`,`password`,`username`,`status`,`salt`) values (1,'zhangsan','2ouWHg3ksbfGIp4JDue3D95WsDjTKlCSPmfQ5px8qGI=','张三',1,'ad0efb8e-d200-42a6-892a-f477667d473e'),(2,'lisi','2ouWHg3ksbfGIp4JDue3D95WsDjTKlCSPmfQ5px8qGI=','李四',1,'ad0efb8e-d200-42a6-892a-f477667d473e'),(3,'sb','123','娱乐',1,'11'),(4,'sb1','123','娱乐',1,'1111'),(12,'cheng','2ouWHg3ksbfGIp4JDue3D95WsDjTKlCSPmfQ5px8qGI=','cheng',1,'ad0efb8e-d200-42a6-892a-f477667d473e'),(13,'xsb','123','娱乐',1,'xsb'),(14,'dsb','123','fczd666',1,'dsb'),(15,'sb3','zU+qKZkQamKze77nkCCQGyeBdOkt+LcFJQn5Fx3BWgw=','fczd666',1,'sb3'),(16,'sb4','juxcM04HODFbGKcfQRtos1DFcLi9IZKM8OxNymaDinQ=','zhangsan',1,'f78baa5d-de69-46db-812a-a273202d6736');

/*Table structure for table `t_user_role` */

DROP TABLE IF EXISTS `t_user_role`;

CREATE TABLE `t_user_role` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `uid` int(11) DEFAULT NULL,
  `rid` int(11) DEFAULT NULL,
  PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT;

/*Data for the table `t_user_role` */

insert  into `t_user_role`(`id`,`uid`,`rid`) values (1,1,1),(2,2,2),(3,3,1),(4,4,2),(5,13,3);

/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;

10.到这就结束了,谢谢大家的阅读,要是有什么地方讲的不好的地方欢迎补充。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值