SSM整合、配置文件、日志配置

目录

ssm+maven项目结构

配置web.xml

resources相关配置

db.properties配置

log4j.properties配置

spring.xml配置

springmvc.xml配置

mybatis映射文件

mapper示例

 测试类示例


介绍

ssm项目即spring+springmvc+mybatis三大框架整合项目。

以ssm作为技术框架,建立一个人事管理系统的项目,通过项目来检验对ssm框架的掌握程度。在进行项目前需要做好开始准备,先配置好需要的配置文件等。本篇文章就是用来说明配置文件信息的。

一、新建一个Maven项目,给项目分好目录。方便后续写代码时整理。在Java目录下新建5个基本包:bean(bean包作为放置数据库表对应的Java类文件)、controller(controller包放置项目中控制器,逻辑跳转的Java文件)、dao(dao包放置抽象出的与数据库做连接的接口)、service(service放置项目业务逻辑的接口)、serviceimpl(serviceimpl对应业务逻辑接口的实现类)。

ssm+maven项目结构

 SSM整合、配置文件、日志配置_第1张图片

 

配置web.xml



  4.0.0

  com.tingyu
  tingyu_project
  1.0-SNAPSHOT

  
  war

  tingyu_project Maven Webapp
  
  http://www.example.com

  
    UTF-8
    1.8
    1.8
  

  
    
    
      org.mybatis
      mybatis
      3.5.9
    
    
    
      mysql
      mysql-connector-java
      8.0.28
    
    
    
      org.slf4j
      slf4j-log4j12
      1.7.36
    
    
    
      log4j
      log4j
      1.2.17
    
    
    
      com.fasterxml.jackson.core
      jackson-databind
      2.9.10.8
    
    
    
      javax.servlet
      javax.servlet-api
      4.0.1
      provided
    
    
    
      javax.servlet.jsp
      javax.servlet.jsp-api
      2.3.3
      provided
    
    
    
      org.springframework
      spring-webmvc
      5.3.16
    
    
    
      org.mybatis
      mybatis-spring
      2.0.7
    
    
    
      org.springframework
      spring-jdbc
      5.3.16
    
    
    
      org.springframework
      spring-tx
      5.3.16
    
    
    
      javax.servlet
      jstl
      1.2
    
    
    
      org.springframework
      spring-aspects
      5.3.16
    
    
      aopalliance
      aopalliance
      1.0
    
    
      org.aspectj
      aspectjweaver
      1.9.8
    
    
    
      commons-fileupload
      commons-fileupload
      1.4
    

    
    
      org.springframework
      spring-test
      5.3.16
    
    
      junit
      junit
      4.12
      test
    
    
    
      org.projectlombok
      lombok
      1.18.12
      provided
    
  


  
    tingyu_project
    
      
        
          maven-clean-plugin
          3.1.0
        
        
        
          maven-resources-plugin
          3.0.2
        
        
          maven-compiler-plugin
          3.8.0
        
        
          maven-surefire-plugin
          2.22.1
        
        
          maven-war-plugin
          3.2.2
        
        
          maven-install-plugin
          2.5.2
        
        
          maven-deploy-plugin
          2.8.2
        
      
    

  
    
    
    
      
        
        src/main/java
        
        
          
          
          
          **/*.xml
          
          
        
        
        true
      
      
      
      
        src/main/resources
        true
      
    
  

resources相关配置

db.properties配置

db.driver=com.mysql.cj.jdbc.Driver
db.url=jdbc:mysql://localhost:3306/tingyu?useSSL=false&useUnicode=true&characterEncoding=UTF-8&serverTimezone=GMT%2B8
db.username=root
db.password=root

log4j.properties配置


# 全局日志 级别 ERROR   一般在测试日志建议调成debug,若项目完成可以设置全局日志ERROR
log4j.rootLogger=ERROR, stdout
# 局部日志 级别:需要设置局部日志的包名
log4j.logger.com.tingyu=TRACE

log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n

spring.xml配置



    
    
    

    
    
    
    
        
        
        
        
    

    
    
        
        
        
        
        
        
    

    
    
        
        
        
        
    

    
    
        
    

    
    

springmvc.xml配置



    
    
    

    
    

    
    
    

    
    

    

mybatis映射文件

mapper映射文件与接口文件名一致

代码示例companyMapper

package com.tingyu.mapper;
import com.tingyu.pojo.Company;
import com.tingyu.pojo.Planner;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;
import java.util.List;
/**
 * 婚庆公司信息 接口:数据库交互
 * 接口绑定,与mapper.xml文件映射,在spring中配置
 */
public interface CompanyMapper {
    /**
     * 查询公司信息
     * @param name      公司名
     * @param status    账户状态
     * @param order     订单数排序
     * @param index     起始索引
     * @param pageSize  查询多少条数据
     * @return
     */
    List findCompanyByCondition(@Param("name") String name, @Param("status") String status, @Param("order") String order, @Param("index") int index, @Param("pageSize") int pageSize);

    /**
     * 查询公司信息总数量
     * @param name
     * @param status
     * @return
     */
    int findCompanyCount(@Param("name") String name, @Param("status") String status);
    /**
     * 添加公司信息
     * @param company
     * @return
     */
    int add(Company company);
    /**
     * 通过id查询公司信息
     * @param id
     * @return
     */
    @Select("select cid id, cpwd pwd, cname name, ceo, cphone phone, cmail mail, starttime startTime, status, cnum num from t_company where cid = #{id}")
    Company findCompanyById(int id);

    /**
     * 修改公司信息
     * @param company
     * @return
     */
    int update(Company company);

    /**
     * 通过公司id,查询对应公司的策划人信息
     * @param id
     * @param index
     * @param pageSize
     * @return
     */
    @Select("select nid id,nname name,nphone phone,addtime addTime,status,cid,pnum num from t_planner where cid = #{id} limit #{index},#{pageSize}")
    List findPlanById(@Param("id") int id,@Param("index") int index,@Param("pageSize") int pageSize);
    /**
     * 通过公司id,查询对应公司策划人数量
     * @param id
     * @return
     */
    @Select("select count(1) from t_planner where cid = #{id}")
    int findPlanByIdCount(int id);
    /**
     * 修改公司状态
     * @param id
     * @param status
     * @return
     */
    @Update("update t_company set status=#{status} where cid = #{id}")
    int updateStatus(@Param("id") int id,@Param("status") String status);
}

mapper示例





    
    

    

    
        insert into t_company
        values (default, #{pwd}, #{name}, #{ceo}, #{phone}, #{mail}, #{startTime}, #{status}, #{num});
    

    
        update t_company
        set cpwd = #{pwd},
            cname=#{name},
            ceo=#{ceo},
            cphone=#{phone},
            cmail=#{mail}
        where cid = #{id}
    

 测试类示例

import com.tingyu.mapper.*;
import com.tingyu.po.FindHostPO;
import com.tingyu.pojo.Role;
import com.tingyu.service.RoleService;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

import java.util.ArrayList;
import java.util.Date;

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("classpath:spring.xml")
public class Test01 {
    @Autowired
    AdminMapper adminMapper;

    @Autowired
    MenuMapper menuMapper;

    @Autowired
    MarriedMapper marriedMapper;
    /**
     * 通过名字查询管理员信息
     */
    @Test
    public void test01(){
        System.out.println(adminMapper.findAdminByName("zs"));
    }

    /**
     * 查询管理员角色对应的菜单
     */
    @Test
    public void test02(){
        System.out.println(menuMapper.findMenus(1,0));
//        System.out.println(menuMapper.findAllMenus(0));
    }

    /**
     * 查询所有新人信息
     */
    @Test
    public void test03(){
        System.out.println(marriedMapper.findMarriedByCondition(null,"1234",0,2));
        System.out.println(marriedMapper.findMarriedCount(null, "1234"));
    }

    /**
     * 查询公司信息
     */
    @Test
    public void test04(){
        System.out.println(companyMapper.findCompanyByCondition("%公司%","正常","asc",0,2));
        System.out.println(companyMapper.findCompanyCount("%公司%","正常"));
    }

    /**
     * 查询公司对应策划人信息
     */
    @Test
    public void test05(){
        System.out.println(companyMapper.findPlanById(1,0,5));
        System.out.println(companyMapper.findPlanByIdCount(1));
    }

    /**
     * 查询主持人相关信息
     */
    @Test
    public void test06(){
//        FindHostPO po = new FindHostPO("%%",null,null,null,null,0,0,2);
//        System.out.println(hostMapper.findHostByCondition(po));;
        System.out.println(roleMapper.findRoleAndMenuById(1));
    }

    /**
     * 测试json转为List集合
     */
    @Test
    public void test07(){
//        roleService.updateRoleAndMenu(new Role(1,"","",null,"[1,5,6,7,2,8]"));
        ArrayList objects = new ArrayList<>();
    }
}

你可能感兴趣的:(javaee,spring,mvc,mybatis,log4j)