mac版 idea 整合 maven+spring+springMVC+Mybatis
阿新 • • 發佈:2018-12-11
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.git8.參考文章
http://blog.csdn.net/zhshulin/article/details/37956105http://blog.csdn.net/liudongdong0909/article/details/51534735
http://blog.csdn.net/jiejie1993/article/details/51201549