mac版 idea 整合 maven+spring+springMVC+Mybatis

本文详细介绍了如何在IDEA环境中创建Maven项目,并整合Spring、MyBatis和SpringMVC,实现基本的CRUD操作及前端展示。从环境搭建到自动化代码生成,再到单元测试与部署,提供了一套完整的开发流程。

1.创建idea maven工程

File->New->Project


选择如下图所示


2.整合spring和mybatis


然后填写之后的信息,完成项目创建,等待maven配置完毕,会生成一个空的pom.xml文件

接下来,进行文件的配置,在文件中加入如下依赖关系,maven会自动帮忙下载其中的jar包

配置pom.xml文件

  
   
    
    
    
     
      
     4.0.3.RELEASE
    
     
    
    
     
    
    
     
      
     3.2.6
    
     
    
    
     
    
    
     
      
     1.7.7
    
     
    
    
     
      
     1.2.17
    
     
  
   
    
  
  
   
    
    
    
     
      
     tjudcj
    
     
  
   
    

  
   
    
    
    
     
      
     
      
       
      junit
     
      
      
     
      
       
      junit
     
      
      
     
      
       
      4.0
     
      
      
     
      
       
      test
     
      
    
    
     


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

    
    
     
      
     
      
       
      org.springframework
     
      
      
     
      
       
      spring-web
     
      
      
     
      
       
      ${spring.version}
     
      
    
    
     
    
    
     
      
     
      
       
      org.springframework
     
      
      
     
      
       
      spring-oxm
     
      
      
     
      
       
      ${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.mybatis
     
      
      
     
      
       
      mybatis
     
      
      
     
      
       
      ${mybatis.version}
     
      
    
    
     
    
    
     
    
    
     
      
     
      
       
      org.mybatis
     
      
      
     
      
       
      mybatis-spring
     
      
      
     
      
       
      1.2.2
     
      
    
    
     
    
    
     
    
    
     
      
     
      
       
      javax
     
      
      
     
      
       
      javaee-api
     
      
      
     
      
       
      7.0
     
      
    
    
     
    
    
     
    
    
     
      
     
      
       
      mysql
     
      
      
     
      
       
      mysql-connector-java
     
      
      
     
      
       
      5.1.30
     
      
    
    
     
    
    
     
    
    
     
      
     
      
       
      commons-dbcp
     
      
      
     
      
       
      commons-dbcp
     
      
      
     
      
       
      1.4
     
      
    
    
     
    
    
     
    
    
     
      
     
      
       
      jstl
     
      
      
     
      
       
      jstl
     
      
      
     
      
       
      1.2
     
      
    
    
     
    
    
     
    
    
     
    
    
     
      
     
      
       
      log4j
     
      
      
     
      
       
      log4j
     
      
      
     
      
       
      ${log4j.version}
     
      
    
    
     


    
    
     
    
    
     
      
     
      
       
      com.alibaba
     
      
      
     
      
       
      fastjson
     
      
      
     
      
       
      1.1.41
     
      
    
    
     


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

    
    
     
      
     
      
       
      org.slf4j
     
      
      
     
      
       
      slf4j-log4j12
     
      
      
     
      
       
      ${slf4j.version}
     
      
    
    
     
    
    
     
    
    
     
    
    
     
      
     
      
       
      org.codehaus.jackson
     
      
      
     
      
       
      jackson-mapper-asl
     
      
      
     
      
       
      1.9.13
     
      
    
    
     
    
    
     
    
    
     
      
     
      
       
      commons-fileupload
     
      
      
     
      
       
      commons-fileupload
     
      
      
     
      
       
      1.3.1
     
      
    
    
     
    
    
     
      
     
      
       
      commons-io
     
      
      
     
      
       
      commons-io
     
      
      
     
      
       
      2.4
     
      
    
    
     
    
    
     
      
     
      
       
      commons-codec
     
      
      
     
      
       
      commons-codec
     
      
      
     
      
       
      1.9
     
      
    
    
     
    
    
     
      
     
      
       
      junit
     
      
      
     
      
       
      junit
     
      
      
     
      
       
      RELEASE
     
      
    
    
     

  
   
    

配置数据库文件jdbc.properties

driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/test
username=root
password=******
#定义初始连接数
initialSize=0
#定义最大连接数
maxActive=20
#定义最大空闲
maxIdle=20
#定义最小空闲
minIdle=1
#定义最长等待时间
maxWait=60000

配置log4j.properties

#定义LOG输出级别
log4j.rootLogger=INFO,Console,File
#定义日志输出目的地为控制台
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=[%c] - %m%n

#文件大小到达指定尺寸的时候产生一个新的文件
log4j.appender.File = org.apache.log4j.RollingFileAppender
#指定输出目录
log4j.appender.File.File = logs/ssm.log
#定义文件最大大小
log4j.appender.File.MaxFileSize = 10MB
# 输出所以日志,如果换成DEBUG表示输出DEBUG以上级别日志
log4j.appender.File.Threshold = ALL
log4j.appender.File.layout = org.apache.log4j.PatternLayout
log4j.appender.File.layout.ConversionPattern =[%p] [%d{yyyy-MM-dd HH\:mm\:ss}][%c]%m%n

然后配置spring-mybatis.xml文件,如下


    
     

    
     
    
     
      
    
     
      
    
     
      
    
     
      
        
      
       
    
     
      

    
     
      
        
      
       
        
      
       
        
      
       
        
      
       
        
      
       
        
      
       
        
      
       
        
      
       
        
      
       
        
      
       
        
      
       
        
      
       
        
      
       
        
      
       
    
     
      

    
     
      
    
     
      
        
      
       
        
      
       
        
      
       
    
     
      

    
     
      
    
     
      
        
      
       
        
      
       
    
     
      

    
     
      
    
     
      
        
      
       
    
     
      


    
     

至此,spring和mybatis整合完成,

3.mybatis自动生成mapper文件


数据库创建如下:

DROP TABLE IF EXISTS `user_t`;  
  
CREATE TABLE `user_t` (  
  `id` int(11) NOT NULL AUTO_INCREMENT,  
  `user_name` varchar(40) NOT NULL,  
  `password` varchar(255) NOT NULL,  
  `age` int(4) NOT NULL,  
  PRIMARY KEY (`id`)  
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;  
  
/*Data for the table `user_t` */  
  
insert  into `user_t`(`id`,`user_name`,`password`,`age`) values (1,'小明','123456',25);


首先在pom.xml文件中加入如下代码


    
     
    
     
      
      
      
       
        
       
        
         
        org.mybatis.generator
       
        
        
       
        
         
        mybatis-generator-maven-plugin
       
        
        
       
        
         
        1.3.2
       
        
        
       
        
          
        
         
          
        
         
           src/main/resources/generatorConfig.xml 
         
          
        
         
           true 
         
          
        
         
           true 
         
        
       
        
        
       
        
          
        
          
          
            Generate MyBatis Artifacts 
           
           
           
             generate 
            
           
         
        
       
        
        
       
        
          
        
          
          
            org.mybatis.generator 
           
          
            mybatis-generator-core 
           
          
            1.3.2 
           
         
        
       
        
      
      
       
    
     
      
  
    
     
注意,此时pom.xml文件中会因为存在两个<build>字段产生问题,这时需要将两个build合并一下

然后进行配置如下generatorConfig.xml


     
      



     
      
    
      
       
    
      
       
    
      
       
        
       
        
            
        
         
            
        
         
        
       
        
        
       
        
        
       
        
        
       
        
        
       
        
        
       
        
            
        
         
        
       
        

        
       
        
        
       
        
            
        
         
            
        
         
            
        
         
            
        
         
        
       
        
        
       
        
        
       
        
            
        
         
            
        
         
        
       
        
        
       
        
        
       
        
            
        
         
            
        
         
        
       
        
        
       
        
        
       
        

在idea中进行如下操作




然后RUN->mybatis就会自动生成代码


4.接下来进行测试:

编写test类如下
import com.alibaba.fastjson.*;
import com.dcj.spring.pojo.*;
import com.dcj.spring.service.*;
import org.apache.log4j.*;
import org.junit.*;
import org.junit.runner.*;
import org.springframework.test.context.*;
import org.springframework.test.context.junit4.*;

import javax.annotation.*;

/**
 * Created by dcj on 2016/10/22.
 */

@RunWith(SpringJUnit4ClassRunner.class) // 表示继承了SpringJUnit4ClassRunner类
@ContextConfiguration(locations = { "classpath:spring-mybatis.xml" })
public class Test_dcj {
    private static Logger logger = Logger.getLogger(Test_dcj.class);
    @Resource
    private IUserService userService;


    @Test
    public void test() {
        User user = userService.getUserById(2);
        logger.info(JSON.toJSONString(user));
    }
}

运行test


上面的结果表示整合成功。

5.加入springMVC

首先配置web.xml文件如下:




    
     
  
     
      
       
      Archetype Created Web Application
     
      

  
     
      
    
      
       
        
       contextConfigLocation
      
       
    
      
       
        
       classpath:spring-mybatis.xml
      
       
  
     
      
  
     
      
  
     
      
    
      
       
        
       encodingFilter
      
       
    
      
       
        
       org.springframework.web.filter.CharacterEncodingFilter
      
       
    
      
       
      
       
        
         
        encoding
       
        
      
       
        
         
        UTF-8
       
        
    
      
       
    
      
       
      
       
        
         
        forceEncoding
       
        
      
       
        
         
        true
       
        
    
      
       
  
     
      
  
     
      
    
      
       
        
       encodingFilter
      
       
    
      
       
        
       /*
      
       
  
     
      
  
     
      
  
     
      
    
      
       
        
       org.springframework.web.context.ContextLoaderListener
      
       
  
     
      
  
     
      
  
     
      
    
      
       
        
       org.springframework.web.util.IntrospectorCleanupListener
      
       
  
     
      

  
     
      
  
     
      
    
      
       
        
       SpringMVC
      
       
    
      
       
        
       org.springframework.web.servlet.DispatcherServlet
      
       
    
      
       
      
       
        
         
        contextConfigLocation
       
        
      
       
        
         
        classpath:spring-mvc.xml
       
        
    
      
       
    
      
       
        
       1
      
       
  
     
      
  
     
      
    
      
       
        
       SpringMVC
      
       
    
      
       
        
       /
      
       
  
     
      
  
     
      
    
      
       
        
       /index.jsp
      
       
  
     
      


    
     

然后加入spring-mvc.xml文件


     
      

     
      

    
      
       
    
      
       

    
      
       
    
      
       
    
      
       
    
      
       

    
      
       
    
      
       

    
      
       
    
      
       
        
       
        
            
        
         
                
         
          
            text/html;charset=UTF-8 
          
            
        
         
        
       
        
    
      
       
    
      
       
    
      
       
        
       
        
            
        
         
                
         
           
         
          
            
        
         
        
       
        
    
      
       
    
      
       
    
      
       
        
       
        
        
       
        
        
       
        
    
      
       

    
      
       
    
      
       
        
       
        
        
       
        
        
       
        
        
       
        
        
       
        
        
       
        
    
      
       


     
      
去掉spring-mybatis中的
<context:component-scan base-package="com.dcj.spring" />
否则会扫描两次

编写Controller文件

package com.dcj.spring.controller;

import com.dcj.spring.pojo.*;
import com.dcj.spring.service.*;
import org.springframework.stereotype.*;
import org.springframework.ui.*;
import org.springframework.web.bind.annotation.*;

import javax.annotation.*;

/**
 * Created by dcj on 2016/10/22.
 */
@Controller
@RequestMapping("/user")
public class UserController {
    @Resource
    private IUserService userService;

    @RequestMapping("/showUser/{id}")
    @ResponseBody
    public User toIndex(@PathVariable int id){
        User user = userService.getUserById(id);
        return user;
    }

    @RequestMapping("/gotoShow")
    public String gotoShow(){
        return "showUser";
    }
}

文件结构如下:


6.然后运行tomcat进行测试

浏览器地址栏输入http://localhost:8080/ssm/user/showUser/1
显示{"id":1,"userName":"小明","password":"123456","age":25}
测试成功
测试静态资源访问,输入http://localhost:8080/ssm/images/images.jpeg
显示图片,测试成功

7.源码地址

https://github.com/dongchunjiang/ssm.git

8.参考文章




SSM是指Spring+SpringMVC+MyBatis的集成开发环境。MySQL是一个关系型数据库管理系统,用于存储和管理数据。Maven是一个项目管理和构建工具,可以自动下载所需的类库和插件,并管理项目的依赖关系。Idea是一个Java集成开发环境(IDE),提供了开发、调试和部署Java代码的工具。 在SSM MySQL Maven Idea MyBatis Spring SpringMVC的集成开发环境下,我们可以通过Maven构建项目,引入相应的依赖库。Idea提供了可视化的界面,方便我们进行开发和调试工作。 首先,我们可以使用Maven来管理项目的依赖。在pom.xml文件中添加相应的依赖,Maven会自动下载并引入到项目中。 其次,我们可以使用Idea创建Spring项目,并配置相关的配置文件。在Idea的配置界面中,我们可以设置项目的数据库连接信息和配置MyBatis的相关内容。 然后,我们可以使用MyBatis来操作MySQL数据库。在MyBatis的mapper文件中编写SQL语句,并在Spring中配置相应的bean,使其可以与数据库进行交互。 此外,我们还可以使用SpringMVC来开发Web应用。在SpringMVC中,我们可以通过配置相应的请求映射和控制器来处理请求,并返回相应的结果。 最后,通过整合SpringSpringMVCMyBatis,我们可以实现业务逻辑与数据库的交互,并通过Maven进行项目构建和管理。这样,我们就可以在SSM MySQL Maven Idea MyBatis Spring SpringMVC的集成开发环境中进行基于这些框架和工具的开发工作了。 总之,掌握SSM MySQL Maven Idea MyBatis Spring SpringMVC的集成开发环境,意味着我们可以利用这些强大工具和框架来进行Java开发,并能够高效地开发出优质的Web应用程序。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值