SSM-SpringMVC+Spring+Mybatis

创建项目

SSM-SpringMVC+Spring+Mybatis_第1张图片

SSM-SpringMVC+Spring+Mybatis_第2张图片

创建好 项目后, 项目目录分析

SSM-SpringMVC+Spring+Mybatis_第3张图片

数据库设计

我们采用员工表 Employee 与 部门表 Department

部门表 表设计---

SSM-SpringMVC+Spring+Mybatis_第4张图片

员工表 --表设计

SSM-SpringMVC+Spring+Mybatis_第5张图片

因为有文件上传操作,因此 建立 info表

SSM-SpringMVC+Spring+Mybatis_第6张图片

(其中 员工只能隶属一个部门,因此 两张表之间 有外键关系)

java 代码 设计

数据库建立完毕后,需要为 每张表添加 3-4条数据

建立 entity 实体层

建立实体层: 注意事项

 # 实体层 注意事项
 ​
 类名    --- 与表名  相对应 , java 中规定 类名首字母必须为大写字母
 属性名   ----- 与 列名 相对应,且 属性类型 与列名对应类型一致,
               属性名 采用小驼峰命名发, 列名 不区分大小写
               例如    表中 列 为 stuno 则属性为 stuNo
               
 实体类中 必须包含无参数的构造方法

SSM-SpringMVC+Spring+Mybatis_第7张图片

SSM-SpringMVC+Spring+Mybatis_第8张图片

SSM-SpringMVC+Spring+Mybatis_第9张图片

建立mapper层 数据访问层

因为 我们使用的mybatis,因此 包名为mapper 当然也可以为dao

mybatis中 规定 接口与映射文件放在一起,并一一对应,

SSM-SpringMVC+Spring+Mybatis_第10张图片

不仅名称一致,还需要再 xxxMapper.xml 配置 namespace, 指向 对应的接口

 
  
 
 ​
 
建立service层 业务层

SSM-SpringMVC+Spring+Mybatis_第11张图片

添加Spring 依赖

编写 pom.xml

  
     
     
       org.aspectj
       aspectjweaver
       1.9.7
       runtime
     
  
     
       org.springframework
       spring-webmvc
       5.2.9.RELEASE
     
     
       org.springframework
       spring-jdbc
       5.2.9.RELEASE
     
     
       org.springframework
       spring-core
       5.2.9.RELEASE
     
 ​
     
       org.springframework
       spring-beans
       5.2.9.RELEASE
     
 ​

添加mybatis 依赖

编写 pom.xml

  
 
     
       com.github.pagehelper
       pagehelper
       5.2.0
     
 ​
 ​
     
     
     
       org.mybatis
       mybatis-spring
       2.0.6
     
     
     
       org.mybatis
       mybatis
       3.4.6
     
添加其他一些依赖

添加 mysql 数据库依赖 及 log4j

 
 
     
     
       mysql
       mysql-connector-java
       8.0.26
     
 ​
     
     
     
       log4j
       log4j
       1.2.17
     

添加数据源 依赖

 
 
     
       com.alibaba
       druid
       1.2.5
     

jsp 需要引入 jstl

  

     
     
       jstl
       jstl
       1.2
     
 ​

文件上传和下载

 
     
       commons-io
       commons-io
       2.6
     
     
     
       commons-fileupload
       commons-fileupload
       1.4
     
 ​
     
       javax.servlet
       servlet-api
       2.5
       provided
     
 ​
为pom.xml 增加 build
 
 
 
       
 ​
         
           
           src/main/java
           
           
             mapper/**.xml
           
         
         
           
           src/main/resources
           
           
             **.*
           
         
       
 
编写 数据库配置文件

如果 mysql版本 为 5.0 ,则 driver 应该为 com.mysql.jdbc.Driver

 文件名  db.properties
 # mysql 为8.0 配置
 uname=自己mysql的用户名
 password=mysql的密码
 driver=com.mysql.cj.jdbc.Driver
 url=jdbc:mysql://localhost:3306/数据库名称?serverTimezone=GMT

编写日志配置文件
  文件名  log4j.properties
 ​
 ### 设置###
 log4j.rootLogger = debug,stdout
 ### 输出信息到控制抬 ###
 log4j.appender.stdout = org.apache.log4j.ConsoleAppender
 log4j.appender.stdout.Target = System.out
 log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
 log4j.appender.stdout.layout.ConversionPattern = [%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n

编写spring 配置文件

spring.xml

 
 ​
 
       
        
        
        
            
            
            
            
         
       
        
            
            
            
            
             
            
            
            
            
            
                
                    
                        
                            
                            
                                helperDialect=mysql
                                reasonable=true
                            
                        
                    
                
            
        
     
        
            
            
            
            
        
        
        
 ​
 ​
     
        
            
            
            
            
        
 ​
 ​
     
      
          
          
      
 ​
     
     
         
             
             
             
             
             
             
             
             
             
             
             
         
     
 ​
     
     
         
     
 ​
 ​
 ​
 ​
 
编写 springmvc 配置文件

springmvc.xml

 
 ​
 
 ​
     
     
     
     
         
         
         
         
     
     
 

编写mybatis配置文件

如果 mybatis 里面什么也 没有,可以 不配置改文件

 
 
 
 ​
     
         
         
     
 ​
 

编写web.xml 文件
 
 ​
 
 ​
   Archetype Created Web Application
   
   
     contextConfigLocation
     classpath:spring.xml
   
   
   
     org.springframework.web.context.ContextLoaderListener
   
 ​
   
   
     encodingFilter
     org.springframework.web.filter.CharacterEncodingFilter
     
       encoding
       utf-8
     
   
   
     encodingFilter
     /*
   
 ​
 ​
 ​
   
   
     springmvc
     org.springframework.web.servlet.DispatcherServlet
     
     
       contextConfigLocation
       classpath:springmvc.xml
     
   
   
     springmvc
     /
   
 
 ​
编写需求功能(这里以部门为例)
分页查询
编写mapper 接口 DepartmentMapper.java
    ```java
    
        List findAll();
     
    ```
编写mapper的xml 文件DepartmentMapper.xml
 ​
     

编写 service及实现类

DepService.java

  List findAll();

DepServiceImpl.java

 @Service
 public class DepServiceImpl  implements DepService {
 ​
 ​
     @Autowired
     private DepartmentMapper departmentMapper;
 ​
 ​
     @Override
     public List findAll() {
         return departmentMapper.findAll();
     }
 ​
 }
 ​

编写 controller

 @Controller
 public class DepController {
 ​
     @Autowired
     private DepService depService;
 ​
     private  final int PAGESIZE=3; // 定义 每页显示的 条数
     
      /**
      * 分页查询
      * @return
      */
     @RequestMapping("/page")
     public String pageList(int current,Model model){
      //判断页码
      if(current==0){
          current =1; // 从第一页开始
      }
     // 分页处理
      PageHelper.startPage(current,PAGESIZE);
      // 获得全部数据
      List list = depService.searchInfo();
      // 创建 PageInfo 对象
      PageInfo pageInfo = new PageInfo<>(list);
      // 将 数据返回到 jsp
       model.addAttribute("pageInfo",pageInfo);
 ​
       return "listPage";
     }
 ​
 ​
 }

编写jsp页面

任意jsp页面

  点我 分页查询 部门信息

listPage.jsp

 ​

 <%@ page contentType="text/html;charset=UTF-8" language="java"  isELIgnored="false" %>
 <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
 
 
     部门列表----分页查询
 
 
   

部门名称               部门主管

   
     ​                                  
  •                   ${dep.depName} - ${dep.depEmpName}                
  •  ​            
     ​      
       
 ​    
 ​               <%--   上一页--%>                                     <%--  上一页--%>                      ​  ​                 <%--  下一页--%>                                       <%-- 下一页--%>                      ​         共${pageInfo.pages} 页 ,当前是 第${pageInfo.pageNum}页  ​    
   
 ​

你可能感兴趣的:(Spring,springmvc,mybatis,spring,mybatis,数据库)