Maven整合ssm框架(Maven+Spring MVC+Spring+Mybatis Plus),Mybatis Plus自动生成代码(Generator) 文末附码云完整代码

1 目录结构

Maven整合ssm框架(Maven+Spring MVC+Spring+Mybatis Plus),Mybatis Plus自动生成代码(Generator) 文末附码云完整代码_第1张图片

 

2 配置文件

2.1 pom.xml文件




    4.0.0

    com.ssm
    ssm
    1.0-SNAPSHOT
    war

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

    
        
            dev
            
                dev
            
            
                true
            
        

        
            prod
            
                prod
            
        
    

    
        
        4.3.12.RELEASE
        
        3.3.1
        
        1.2.17
        1.7.7
        UTF-8
        1.7
        1.7
    

    

        
        
            junit
            junit
            4.11
            
            test
        

        
        
            org.springframework
            spring-core
            ${spring.version}
        

        
            org.springframework
            spring-beans
            ${spring.version}
        

        
            org.springframework
            spring-web
            ${spring.version}
        

        
            org.springframework
            spring-aspects
            ${spring.version}
        

        
            org.springframework
            spring-context
            ${spring.version}
        

        
            org.springframework
            spring-tx
            ${spring.version}
        

        
            org.springframework
            spring-jdbc
            ${spring.version}
        

        
        
            org.springframework
            spring-webmvc
            ${spring.version}
        

        
            org.springframework
            spring-aop
            ${spring.version}
        

        
            org.springframework
            spring-context-support
            ${spring.version}
        

        
            org.springframework
            spring-test
            ${spring.version}
        

        
        
            org.apache.velocity
            velocity-engine-core
            2.0
        
        
        
            com.baomidou
            mybatis-plus
            2.1.3
        
        
        
            com.github.pagehelper
            pagehelper
            4.0.0
        

        
        
        
            mysql
            mysql-connector-java
            5.1.38
        

        
        
            c3p0
            c3p0
            0.9.1.2
        

        
        
            log4j
            log4j
            ${log4j.version}
        
        
            org.slf4j
            slf4j-api
            ${slf4j.version}
        
        
            org.slf4j
            slf4j-log4j12
            ${slf4j.version}
        

        
        
        
            com.fasterxml.jackson.core
            jackson-annotations
            2.5.0
        

        
        
            com.fasterxml.jackson.core
            jackson-core
            2.5.0
        

        
        
            com.fasterxml.jackson.core
            jackson-databind
            2.5.0
        

        
            com.alibaba
            fastjson
            1.2.12
        

    

    
        ${project.artifactId}
        
            
                src/main/resources
                
                    dev/*
                    prod/*
                
            
            
                src/main/resources/${env}
            
        

        
            
                
                    org.apache.maven.plugins
                    maven-compiler-plugin
                    
                        1.8
                        1.8
                    
                
            
        
    


注意:

Maven整合ssm框架(Maven+Spring MVC+Spring+Mybatis Plus),Mybatis Plus自动生成代码(Generator) 文末附码云完整代码_第2张图片

Maven整合ssm框架(Maven+Spring MVC+Spring+Mybatis Plus),Mybatis Plus自动生成代码(Generator) 文末附码云完整代码_第3张图片

2.2 spring-mvc.xml文件




    
    

    
	

    
    

    
    
        
        
    

    
    
            
    

注意:包扫描器,视图解析器配置

2.3 spring.xml文件





    
    

    
    
        
        
        
        

        
        
        
        
        
        
        
        
    

    
    
        
        
        
        
        
        
            
                
                
                    
                
            
        
    

    
    
        
    

    
    

    
    
        
    

    
    
        
            
            
            
            
            
            
            
            
            
            
            
        
    

    
    
        
        
    

注意:c3p0数据源配置,mapper和xml文件扫描包路径

2.4 mybatis-config.xml文件




    

        
        
    

    
    
        
    

    
    
        
            
        
    

注意:别名包路径

2.5 web.xml



    Archetype Created Web Application

    
    
        characterEncodingFilter
        org.springframework.web.filter.CharacterEncodingFilter
        
            encoding
            UTF-8
        
    
    
        characterEncodingFilter
        /*
    

    
    
        org.springframework.web.util.Log4jConfigListener
    

    
        log4jConfigLocation
        classpath:log4j.properties
    

    
        webAppRootKey
        ssm.root
    
    
    
    
    
    

    
    
        org.springframework.web.context.ContextLoaderListener
    
    
        contextConfigLocation
        classpath:spring.xml
    


    
    
        dispatcherServlet
        org.springframework.web.servlet.DispatcherServlet
        
            contextConfigLocation
            classpath:spring-mvc.xml
        
        1
    
    
        dispatcherServlet
        *.action
    


2.6 数据库配置文件 config.properties

jdbc.driver = com.mysql.jdbc.Driver
jdbc.url = jdbc:mysql://localhost:3306/ssm?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&useSSL=false
jdbc.username =root
jdbc.password =123456

注意:数据库名称,用户名,密码

2.7 log4j.properties文件

log4j.rootLogger=ERROR,Console

#Console
log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.Target=System.out
log4j.appender.Console.layout=org.apache.log4j.PatternLayout
log4j.appender.Console.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%n

    至此,maven整合ssm框架的配置文件基本完成。如果项目结构一致,基本把各配置文件的ssm替换成项目名就可以了。

 

---------------------------------------------------------------------------------------------------

 

3 以下为测试内容

3.1 用MP的Generator生成代码

首先看下我数据库创建的测试表,代码生成器类

Maven整合ssm框架(Maven+Spring MVC+Spring+Mybatis Plus),Mybatis Plus自动生成代码(Generator) 文末附码云完整代码_第4张图片                                 Maven整合ssm框架(Maven+Spring MVC+Spring+Mybatis Plus),Mybatis Plus自动生成代码(Generator) 文末附码云完整代码_第5张图片

MpGenerator.java文件

package com.ssm.utils;

import com.baomidou.mybatisplus.generator.AutoGenerator;
import com.baomidou.mybatisplus.generator.config.DataSourceConfig;
import com.baomidou.mybatisplus.generator.config.GlobalConfig;
import com.baomidou.mybatisplus.generator.config.PackageConfig;
import com.baomidou.mybatisplus.generator.config.StrategyConfig;
import com.baomidou.mybatisplus.generator.config.converts.MySqlTypeConvert;
import com.baomidou.mybatisplus.generator.config.rules.DbColumnType;
import com.baomidou.mybatisplus.generator.config.rules.DbType;
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;

public class MpGenerator {
    /**
     * 

* MySQL 生成演示 *

*/ public static void main(String[] args) { AutoGenerator mpg = new AutoGenerator(); // 全局配置 GlobalConfig gc = new GlobalConfig(); gc.setOutputDir("D://"); gc.setFileOverride(true); gc.setActiveRecord(true); gc.setEnableCache(false); // XML 二级缓存 gc.setBaseResultMap(true); // XML ResultMap gc.setBaseColumnList(true); // XML columList gc.setAuthor("ellen"); // 自定义文件命名,注意 %s 会自动填充表实体属性! // gc.setMapperName("%sDao"); // gc.setXmlName("%sDao"); // gc.setServiceName("MP%sService"); // gc.setServiceImplName("%sServiceDiy"); // gc.setControllerName("%sAction"); mpg.setGlobalConfig(gc); // 数据源配置 DataSourceConfig dsc = new DataSourceConfig(); dsc.setDbType(DbType.MYSQL); dsc.setTypeConvert(new MySqlTypeConvert(){ // 自定义数据库表字段类型转换【可选】 @Override public DbColumnType processTypeConvert(String fieldType) { System.out.println("转换类型:" + fieldType); // 注意!!processTypeConvert 存在默认类型转换,如果不是你要的效果请自定义返回、非如下直接返回。 return super.processTypeConvert(fieldType); } }); dsc.setDriverName("com.mysql.jdbc.Driver"); dsc.setUsername("root"); dsc.setPassword("123456"); dsc.setUrl("jdbc:mysql://localhost:3306/ssm?characterEncoding=utf8"); mpg.setDataSource(dsc); // 策略配置 StrategyConfig strategy = new StrategyConfig(); // strategy.setCapitalMode(true);// 全局大写命名 ORACLE 注意 // strategy.setTablePrefix(new String[] { "tlog_", "tsys_" });// 此处可以修改为您的表前缀 strategy.setNaming(NamingStrategy.underline_to_camel);// 表名生成策略 strategy.setInclude(new String[] { "t_class"}); // 需要生成的表 // strategy.setExclude(new String[]{"test"}); // 排除生成的表 // 自定义实体父类 //strategy.setSuperEntityClass("com.kuyunEduShop.domain"); // 自定义实体,公共字段 // strategy.setSuperEntityColumns(new String[] { "test_id", "age" }); // 自定义 mapper 父类 // strategy.setSuperMapperClass("com.baomidou.demo.TestMapper"); // 自定义 service 父类 // strategy.setSuperServiceClass("com.baomidou.demo.TestService"); // 自定义 service 实现类父类 // strategy.setSuperServiceImplClass("com.baomidou.demo.TestServiceImpl"); // 自定义 controller 父类 // strategy.setSuperControllerClass("com.baomidou.demo.TestController"); // 【实体】是否生成字段常量(默认 false) // public static final String ID = "test_id"; // strategy.setEntityColumnConstant(true); // 【实体】是否为构建者模型(默认 false) // public User setName(String name) {this.name = name; return this;} // strategy.setEntityBuilderModel(true); mpg.setStrategy(strategy); // 包配置 PackageConfig pc = new PackageConfig(); pc.setParent("com"); pc.setModuleName("ssm"); mpg.setPackageInfo(pc); // 注入自定义配置,可以在 VM 中使用 cfg.abc 【可无】 /* InjectionConfig cfg = new InjectionConfig() { @Override public void initMap() { Map map = new HashMap(); map.put("abc", this.getConfig().getGlobalConfig().getAuthor() + "-mp"); this.setMap(map); } }; /* // 自定义 xxList.jsp 生成 List focList = new ArrayList(); focList.add(new FileOutConfig("/template/list.jsp.vm") { @Override public String outputFile(TableInfo tableInfo) { // 自定义输入文件名称 return "D://my_" + tableInfo.getEntityName() + ".jsp"; } }); cfg.setFileOutConfigList(focList); mpg.setCfg(cfg); // 调整 xml 生成目录演示 focList.add(new FileOutConfig("/templates/mapper.xml.vm") { @Override public String outputFile(TableInfo tableInfo) { return "/develop/code/xml/" + tableInfo.getEntityName() + ".xml"; } }); cfg.setFileOutConfigList(focList); mpg.setCfg(cfg); */ // 关闭默认 xml 生成,调整生成 至 根目录 /* TemplateConfig tc = new TemplateConfig(); tc.setXml(null); mpg.setTemplate(tc);*/ // 自定义模板配置,可以 copy 源码 mybatis-plus/src/main/resources/templates 下面内容修改, // 放置自己项目的 src/main/resources/templates 目录下, 默认名称一下可以不配置,也可以自定义模板名称 // TemplateConfig tc = new TemplateConfig(); // tc.setController("..."); // tc.setEntity("..."); // tc.setMapper("..."); // tc.setXml("..."); // tc.setService("..."); // tc.setServiceImpl("..."); // 如上任何一个模块如果设置 空 OR Null 将不生成该模块。 // mpg.setTemplate(tc); // 执行生成 mpg.execute(); // 打印注入设置【可无】 // System.err.println(mpg.getCfg().getMap().get("abc")); } }

注意:

Maven整合ssm框架(Maven+Spring MVC+Spring+Mybatis Plus),Mybatis Plus自动生成代码(Generator) 文末附码云完整代码_第6张图片

Maven整合ssm框架(Maven+Spring MVC+Spring+Mybatis Plus),Mybatis Plus自动生成代码(Generator) 文末附码云完整代码_第7张图片

Maven整合ssm框架(Maven+Spring MVC+Spring+Mybatis Plus),Mybatis Plus自动生成代码(Generator) 文末附码云完整代码_第8张图片

Maven整合ssm框架(Maven+Spring MVC+Spring+Mybatis Plus),Mybatis Plus自动生成代码(Generator) 文末附码云完整代码_第9张图片

Maven整合ssm框架(Maven+Spring MVC+Spring+Mybatis Plus),Mybatis Plus自动生成代码(Generator) 文末附码云完整代码_第10张图片   把代码复制到项目对应的包里

3.2 写一个Controller测试代码

HelloController.java文件

@Controller
public class HelloController {

    /**
     * 返回jsp视图
     * @return
     */
    @RequestMapping("/hello")
    public String hello(){
        Logger logger = Logger.getLogger(HelloController.class);
        logger.info("log4j测试");

        return "hello";
    }

    /**
     * 返回json数据
     * @return
     */
    @RequestMapping("/student")
    @ResponseBody
    public TStudent student(){
        TStudent student = new TStudent();
        student.setId((long) 1);
        student.setStudentName("张三");
        student.setClassId((long) 2);

        return student;
    }
}

注意:在WEB-INF下创建一个jsp文件夹,里面创建一个hello.jsp

Maven整合ssm框架(Maven+Spring MVC+Spring+Mybatis Plus),Mybatis Plus自动生成代码(Generator) 文末附码云完整代码_第11张图片

3.3 运行结果

启动项目没有报错后,分别访问hello.action(返回jsp视图)student.action(返回json格式数据)

Maven整合ssm框架(Maven+Spring MVC+Spring+Mybatis Plus),Mybatis Plus自动生成代码(Generator) 文末附码云完整代码_第12张图片

 

4 完整项目代码

4.1 码云项目链接:https://gitee.com/ljf16/ssm/tree/master

注意:项目使用的开发环境是IDEA,项目拉下来可以直接跑(注意数据库连接信息)

你可能感兴趣的:(Maven整合ssm框架(Maven+Spring MVC+Spring+Mybatis Plus),Mybatis Plus自动生成代码(Generator) 文末附码云完整代码)