1. 程式人生 > >mac版 idea 整合 maven+spring+springMVC+Mybatis

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

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.71.2.17tjudcjjunitjunit4.0test
     org.springframeworkspring-core${spring.version}org.springframeworkspring-web${spring.version}org.springframeworkspring-oxm${spring.version}org.springframeworkspring-tx${spring.version}org.springframeworkspring-jdbc${spring.version}org.springframeworkspring-webmvc${spring.version}org.springframeworkspring-aop${spring.version}org.springframeworkspring-context-support${spring.version}org.springframeworkspring-test${spring.version}
     org.mybatismybatis${mybatis.version}
     
org.mybatismybatis-spring1.2.2 javaxjavaee-api7.0 mysqlmysql-connector-java5.1.30 commons-dbcpcommons-dbcp1.4 jstljstl1.2 log4jlog4j${log4j.version} com.alibabafastjson1.1.41org.slf4jslf4j-api${slf4j.version}org.slf4jslf4j-log4j12${slf4j.version} org.codehaus.jacksonjackson-mapper-asl1.9.13 commons-fileuploadcommons-fileupload1.3.1commons-iocommons-io2.4commons-codeccommons-codec1.9junitjunitRELEASE

配置資料庫檔案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檔案,如下

<?xml version="1.0" encoding="UTF-8"?>

      
      
      
      
      
      
      
      
      
      
      

至此,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.generatormybatis-generator-maven-plugin1.3.2
      src/main/resources/generatorConfig.xmltruetrueGenerate MyBatis Artifactsgenerateorg.mybatis.generatormybatis-generator-core1.3.2
注意,此時pom.xml檔案中會因為存在兩個<build>欄位產生問題,這時需要將兩個build合併一下

然後進行配置如下generatorConfig.xml

<?xml version="1.0" encoding="UTF-8"?>



       
       
       
       
       
       
       
       
       
       
       
       

在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 ApplicationcontextConfigLocationclasspath:spring-mybatis.xml
      encodingFilterorg.springframework.web.filter.CharacterEncodingFilterencodingUTF-8forceEncodingtrueencodingFilter/*
      org.springframework.web.context.ContextLoaderListener
      org.springframework.web.util.IntrospectorCleanupListener
      SpringMVCorg.springframework.web.servlet.DispatcherServletcontextConfigLocationclasspath:spring-mvc.xml1SpringMVC//index.jsp

然後加入spring-mvc.xml檔案

<?xml version="1.0" encoding="UTF-8"?>

       
       
       
       
       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.參考文章

http://blog.csdn.net/zhshulin/article/details/37956105

http://blog.csdn.net/liudongdong0909/article/details/51534735

http://blog.csdn.net/jiejie1993/article/details/51201549