myeclipse下使用maven搭建SSM(spring、springmvc、mybatis)框架

转自:http://blog.csdn.net/u012767369/article/details/70209400

MyEclipse配置Maven

1、在本地创建一个文件夹MavenRepository,并在MavenRepository文件夹下创建文件夹repo
2、进入Maven解压后的文件夹,进入conf文件夹,将settings.xml文件复制到上一步创建的MavenRepository文件夹下

3、打开MavenRepository文件夹下的settings.xml文件,找到localRepository标签,此时是被注释掉的,我们解除注释,然后配置步骤1中的repo路径,如E:\MavenRepository\repo

4、在MyEclipse中的Perferences进行如下配置,添加自己的Maven

5、User Settings设置为之前修改过的setting.xml

6、File->New->others,搜索maven,如果看到有Maven Project则代表配置成功

MyEclipse使用maven创建web项目

1、创建一个maven项目



2、按照上面教程,即可创建出一个Maven项目,项目结构如下图

3、将JRE版本设置为1.7,可使用默认的或者自己导入

4、此时index.jsp会报以下错误

在pom.xml文件的dependencies节点下添加如下代码即可,添加完后,会下载对应的jar包

5、右键项目,选择Properties,进行如下配置

搭建Spring+SpringMVC+Mybatis框架

1、Maven引入项目用到的jar包,修改pom.xml后保存会自动下载,存放在之前配置的本地仓库中,即:
E:\MavenRepository\repo文件夹
pom.xml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
	<modelVersion>4.0.0modelVersion>
	<groupId>com.chillaxgroupId>
	<artifactId>Maven_ProjectartifactId>
	<packaging>warpackaging>
	<version>0.0.1-SNAPSHOTversion>
	<name>Maven_Project Maven Webappname>
	<url>http://maven.apache.orgurl>
  
  	
  	<properties>
		<srping.version>4.0.2.RELEASEsrping.version>
		<mybatis.version>3.2.8mybatis.version>
		<slf4j.version>1.7.12slf4j.version>
		<log4j.version>1.2.17log4j.version>
	properties>
	
	<dependencies>
		
		<dependency>
			<groupId>junitgroupId>
			<artifactId>junitartifactId>
			<version>4.11version>
			  
			<scope>testscope>
		dependency>
		
		<dependency>
			<groupId>javaxgroupId>
			<artifactId>javaee-apiartifactId>
			<version>7.0version>
		dependency>
		
		<dependency>
			<groupId>org.springframeworkgroupId>
			<artifactId>spring-testartifactId>
			<version>${srping.version}version>
		dependency>
		<dependency>
			<groupId>org.springframeworkgroupId>
			<artifactId>spring-coreartifactId>
			<version>${srping.version}version>
		dependency>
		<dependency>
			<groupId>org.springframeworkgroupId>
			<artifactId>spring-oxmartifactId>
			<version>${srping.version}version>
		dependency>
		<dependency>
			<groupId>org.springframeworkgroupId>
			<artifactId>spring-txartifactId>
			<version>${srping.version}version>
		dependency>
		<dependency>
			<groupId>org.springframeworkgroupId>
			<artifactId>spring-jdbcartifactId>
			<version>${srping.version}version>
		dependency>
		<dependency>
			<groupId>org.springframeworkgroupId>
			<artifactId>spring-aopartifactId>
			<version>${srping.version}version>
		dependency>
		<dependency>
			<groupId>org.springframeworkgroupId>
			<artifactId>spring-contextartifactId>
			<version>${srping.version}version>
		dependency>
		<dependency>
			<groupId>org.springframeworkgroupId>
			<artifactId>spring-context-supportartifactId>
			<version>${srping.version}version>
		dependency>
		<dependency>
			<groupId>org.springframeworkgroupId>
			<artifactId>spring-expressionartifactId>
			<version>${srping.version}version>
		dependency>
		<dependency>
			<groupId>org.springframeworkgroupId>
			<artifactId>spring-ormartifactId>
			<version>${srping.version}version>
		dependency>
		<dependency>
			<groupId>org.springframeworkgroupId>
			<artifactId>spring-webartifactId>
			<version>${srping.version}version>
		dependency>
		<dependency>
			<groupId>org.springframeworkgroupId>
			<artifactId>spring-webmvcartifactId>
			<version>${srping.version}version>
		dependency>
		
		
		<dependency>
			<groupId>org.mybatisgroupId>
			<artifactId>mybatisartifactId>
			<version>${mybatis.version}version>
		dependency>
		<dependency>
			<groupId>org.mybatisgroupId>
			<artifactId>mybatis-springartifactId>
			<version>1.2.2version>
		dependency>
		
		
		<dependency>
			<groupId>mysqlgroupId>
			<artifactId>mysql-connector-javaartifactId>
			<version>5.1.35version>
		dependency>
		
		<dependency>
			<groupId>commons-dbcpgroupId>
			<artifactId>commons-dbcpartifactId>
			<version>1.4version>
		dependency>
		
		<dependency>
			<groupId>jstlgroupId>
			<artifactId>jstlartifactId>
			<version>1.2version>
		dependency>
		
		<dependency>
			<groupId>log4jgroupId>
			<artifactId>log4jartifactId>
			<version>${log4j.version}version>
		dependency>
		<dependency>
			<groupId>org.slf4jgroupId>
			<artifactId>slf4j-apiartifactId>
			<version>${slf4j.version}version>
		dependency>
		<dependency>
			<groupId>org.slf4jgroupId>
			<artifactId>slf4j-log4j12artifactId>
			<version>${slf4j.version}version>
		dependency>
		
		
		
		<dependency>
			<groupId>com.alibabagroupId>
			<artifactId>fastjsonartifactId>
			<version>1.2.6version>
		dependency>
		<dependency>
			<groupId>org.codehaus.jacksongroupId>
			<artifactId>jackson-mapper-aslartifactId>
			<version>1.9.13version>
		dependency>
		
		<dependency>
			<groupId>commons-fileuploadgroupId>
			<artifactId>commons-fileuploadartifactId>
			<version>1.3.1version>
		dependency>
		<dependency>
			<groupId>commons-iogroupId>
			<artifactId>commons-ioartifactId>
			<version>2.4version>
		dependency>
		<dependency>
			<groupId>commons-codecgroupId>
			<artifactId>commons-codecartifactId>
			<version>1.10version>
		dependency>
		
	dependencies>
  
	<build>
	  <finalName>Maven_ProjectfinalName>
	build>
project>

2、在src/main/resources下添加如下配置文件
applicationContext.xml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24

<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
	xmlns:context="http://www.springframework.org/schema/context"
	xmlns:mvc="http://www.springframework.org/schema/mvc"
	xsi:schemaLocation="http://www.springframework.org/schema/beans  
                        http://www.springframework.org/schema/beans/spring-beans-3.1.xsd  
                        http://www.springframework.org/schema/context  
                        http://www.springframework.org/schema/context/spring-context-3.1.xsd  
                        http://www.springframework.org/schema/mvc  
                        http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd">
                        
	
	<context:annotation-config />
	
	<context:component-scan base-package="com.chillax" />
	
	<import resource="spring-dao.xml"/>
	
	<import resource="spring-db.xml"/>
	
	<import resource="spring-tx.xml"/>
	
beans>

jdbc.properties

1
2
3
4
5
6
7
8
9
10
11
12
13
14
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://127.0.0.1:3306/maventest
username=root
password=root
#定义初始连接数
initialSize=0
#定义最大连接数
maxActive=20
#定义最大空闲
maxIdle=20
#定义最小空闲
minIdle=1
#定义最长等待时间
maxWait=60000

log4j.properties

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#定义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-dao.xml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22

<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
	xmlns:context="http://www.springframework.org/schema/context"
	xmlns:mvc="http://www.springframework.org/schema/mvc"
	xsi:schemaLocation="http://www.springframework.org/schema/beans  
                        http://www.springframework.org/schema/beans/spring-beans-3.1.xsd  
                        http://www.springframework.org/schema/context  
                        http://www.springframework.org/schema/context/spring-context-3.1.xsd  
                        http://www.springframework.org/schema/mvc  
                        http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd">
                        
                        
	
	<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
	 	
		<property name="basePackage" value="com.chillax.dao" />
		<property name="sqlSessionFactoryBeanName" value="sqlSessionFactory">property>
	bean>                       
                        
beans>

spring-db.xml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42

<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
	xmlns:context="http://www.springframework.org/schema/context"
	xmlns:mvc="http://www.springframework.org/schema/mvc"
	xsi:schemaLocation="http://www.springframework.org/schema/beans  
                        http://www.springframework.org/schema/beans/spring-beans-3.1.xsd  
                        http://www.springframework.org/schema/context  
                        http://www.springframework.org/schema/context/spring-context-3.1.xsd  
                        http://www.springframework.org/schema/mvc  
                        http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd">

	
	<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
		<property name="location" value="classpath:jdbc.properties" />
	bean>
	
	<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
		<property name="driverClassName" value="${driver}" />
		<property name="url" value="${url}" />
		<property name="username" value="${username}" />
		<property name="password" value="${password}" />
		
		<property name="initialSize" value="${initialSize}">property>
		
		<property name="maxActive" value="${maxActive}">property>
		
		<property name="maxIdle" value="${maxIdle}">property>
		
		<property name="minIdle" value="${minIdle}">property>
		
		<property name="maxWait" value="${maxWait}">property>
	bean>

	
	<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
		<property name="dataSource" ref="dataSource" />
		
		<property name="mapperLocations" value="classpath:com/chillax/mapper/*.xml">property>
	bean>
	
beans>

spring-tx.xml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19

<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
	xmlns:context="http://www.springframework.org/schema/context"
	xmlns:mvc="http://www.springframework.org/schema/mvc"
	xsi:schemaLocation="http://www.springframework.org/schema/beans  
                        http://www.springframework.org/schema/beans/spring-beans-3.1.xsd  
                        http://www.springframework.org/schema/context  
                        http://www.springframework.org/schema/context/spring-context-3.1.xsd  
                        http://www.springframework.org/schema/mvc  
                        http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd">

	
	<bean id="transactionManager"
		class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
		<property name="dataSource" ref="dataSource" />
	bean>
	
beans>

3、在WEB-INF文件夹下添加/修改以下配置文件
spring-mvc.xml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56

<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
	xmlns:context="http://www.springframework.org/schema/context"
	xmlns:mvc="http://www.springframework.org/schema/mvc"
	xsi:schemaLocation="http://www.springframework.org/schema/beans  
                        http://www.springframework.org/schema/beans/spring-beans-3.1.xsd  
                        http://www.springframework.org/schema/context  
                        http://www.springframework.org/schema/context/spring-context-3.1.xsd  
                        http://www.springframework.org/schema/mvc  
                        http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd">
                        
	
	<bean id="mappingJacksonHttpMessageConverter"
		class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter">
		<property name="supportedMediaTypes">
			<list>
				<value>text/html;charset=UTF-8value>
			list>
		property>
	bean>
	
	   
    <mvc:annotation-driven />
    <mvc:default-servlet-handler/>
    
    
	<context:component-scan base-package="com.chillax.controller" />
	
	
	<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
		<property name="messageConverters">
			<list>
				<ref bean="mappingJacksonHttpMessageConverter" />	
			list>
		property>
	bean>
	
	
	<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
		
		<property name="prefix" value="/WEB-INF/jsp/" />
		<property name="suffix" value=".jsp" />
	bean>
	
	
	<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">  
        
        <property name="defaultEncoding" value="utf-8" />  
        
        <property name="maxUploadSize" value="10485760000" />  
        
        <property name="maxInMemorySize" value="40960" />  
    bean> 

beans>

web.xml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52

<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns="http://java.sun.com/xml/ns/javaee"
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
	version="3.0">
	<display-name>Archetype Created Web Applicationdisplay-name>
	
	<welcome-file-list>
		<welcome-file>/index.jspwelcome-file>
	welcome-file-list>
	
	
    <context-param>
         <param-name>contextConfigLocationparam-name>
        <param-value>classpath:applicationContext.xmlparam-value>
    context-param>
    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListenerlistener-class>
    listener>
    
	
	<filter>
		<filter-name>encodingFilterfilter-name>
		<filter-class>org.springframework.web.filter.CharacterEncodingFilterfilter-class>
		<async-supported>trueasync-supported>
		<init-param>
			<param-name>encodingparam-name>
			<param-value>UTF-8param-value>
		init-param>
	filter>
	<filter-mapping>
		<filter-name>encodingFilterfilter-name>
		<url-pattern>/*url-pattern>
	filter-mapping>
	
	
	<servlet>
		<servlet-name>SpringMVCservlet-name>
		<servlet-class>org.springframework.web.servlet.DispatcherServletservlet-class>
		<init-param>
			<param-name>contextConfigLocationparam-name>
			<param-value>/WEB-INF/spring-mvc.xmlparam-value>
		init-param>
		<load-on-startup>1load-on-startup>
		<async-supported>trueasync-supported>
	servlet>
	<servlet-mapping>
		<servlet-name>SpringMVCservlet-name>
		<url-pattern>/url-pattern>
	servlet-mapping>
	
web-app>

4、在src/main/java下添加如下包和类
UserController.java

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
package com.chillax.controller;

import java.util.List;

import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;

import com.chillax.dto.User;
import com.chillax.service.IUserService;

@Controller
@RequestMapping("/user")
public class UserController {
	@Resource
	private IUserService userService;
	
	@RequestMapping("/userList")
	public String userList(HttpServletRequest request,Model model){
		List uList = userService.getAllUser();
		model.addAttribute("uList", uList);
		return "userList";
	}
	
	@RequestMapping("/showUser")
	public String showUser(HttpServletRequest request,Model model){
		int userId = Integer.parseInt(request.getParameter("id"));
		User user = userService.getUserById(userId);
		model.addAttribute("user", user);
		return "showUser";
	}
	
	@RequestMapping("/addUserUI")
	public String addUserUI(){
		return "addUser";
	}
	
	@RequestMapping("/addUser")
	public String addUser(HttpServletRequest request,Model model){
		User user = new User();
		user.setName(String.valueOf(request.getParameter("name")));
		user.setPassword(String.valueOf(request.getParameter("password")));
		user.setAge(Integer.parseInt(String.valueOf(request.getParameter("age"))));
		userService.addUser(user);
		return "redirect:/user/userList";
	}
}

IUserDao.java

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
package com.chillax.dao;

import java.util.List;
import java.util.Map;

import com.chillax.dto.User;

public interface IUserDao {
	
	public User queryByPrimaryKey(Integer id);
	
	public List queryUserByBatch(Map params);
	
	public void insertUser(User user);
	
	public void insertUserByBatch(List list);
	
	public void deleteByPrimaryKey(Integer id);
	
	public void delteUserByBatch(Map params);
	
	public void updateByPrimaryKey(Integer id);

	public List getAllUser();
	
}

User.java

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
package com.chillax.dto;

public class User {
    private Integer id;

    private String name;

    private String password;

    private Integer age;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password == null ? null : password.trim();
    }

    public Integer getAge() {
        return age;
    }

    public void setAge(Integer age) {
        this.age = age;
    }
}

UserMapper.xml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128


<mapper namespace="com.chillax.dao.IUserDao" >  
    <resultMap id="BaseResultMap" type="com.chillax.dto.User">
		<result column="id" property="id" jdbcType="INTEGER" />
		<result column="name" property="name" jdbcType="VARCHAR" />
		<result column="password" property="password" jdbcType="VARCHAR" />
		<result column="age" property="age" jdbcType="INTEGER" />
	resultMap>

	<sql id="Base_Column_List">
		id, name, password, age
	sql>

	
	<select id="queryByPrimaryKey" resultMap="BaseResultMap"
		parameterType="java.lang.Integer">
		select
		<include refid="Base_Column_List" />
		from user
		where id = #{id,jdbcType=INTEGER}
	select>
	
	
	<select id="getAllUser" resultMap="BaseResultMap">
		select
		<include refid="Base_Column_List" />
		from user
	select>
	
	
	<select id="queryUserByBatch" resultMap="BaseResultMap"
		parameterType="java.util.Map">
		select
		<include refid="Base_Column_List" />
		from user
		where id in
		<foreach collection="idList" item="userId" index="index" open="(" separator="," close=")">
	         #{userId,jdbcType=DECIMAL}
	    foreach>
	select>
	
	
	<insert id="insertUser" parameterType="com.chillax.dto.User">
		insert into user  
		<trim prefix="(" suffix=")" suffixOverrides="," >  
		  <if test="id != null" >  
		    id,  
		  if>  
		  <if test="name != null" >  
		    name,  
		  if>  
		  <if test="password != null" >  
		    password,  
		  if>  
		  <if test="age != null" >  
		    age,  
		  if>  
		trim>  
		<trim prefix="values (" suffix=")" suffixOverrides="," >  
		  <if test="id != null" >  
		    #{id,jdbcType=INTEGER},  
		  if>  
		  <if test="name != null" >  
		    #{name,jdbcType=VARCHAR},  
		  if>  
		  <if test="password != null" >  
		    #{password,jdbcType=VARCHAR},  
		  if>  
		  <if test="age != null" >  
		    #{age,jdbcType=INTEGER},  
		  if>  
		trim>   
	insert>
	
	
	<insert id="insertUserByBatch" parameterType="java.util.List" >
    insert into USER
       (ID,
        NAME,
        PASSWORD,
        AGE)
    select A.* from
         (
         <foreach collection="list" item="user" index="index" separator="union">
             select 
             #{user.id,jdbcType=INTEGER},
             #{user.name,jdbcType=VARCHAR},
             #{user.password,jdbcType=VARCHAR},
             #{user.age,jdbcType=INTEGER}
              from dual
         foreach>
         ) A
  	insert>

	
	<delete id="deleteByPrimaryKey" parameterType="java.lang.Integer">
		delete from user
		where id = #{id,jdbcType=INTEGER}  
  	delete>
  	
  	
	<delete id="deleteUserByBatch" parameterType="java.util.Map" >
	 delete from user
	 where id IN 
	     <foreach item="ids" collection="iList" open="(" separator="," close=")">
	         #{ids,jdbcType=DECIMAL}
	     foreach>
	delete>

	
	<update id="updateByPrimaryKey" parameterType="com.chillax.dto.User" >  
	    update user  
		<set >  
		  <if test="name != null" >  
		    name = #{name,jdbcType=VARCHAR},  
		  if>  
		  <if test="password != null" >  
		    password = #{password,jdbcType=VARCHAR},  
		  if>  
		  <if test="age != null" >  
		    age = #{age,jdbcType=INTEGER},  
		  if>  
		set>  
		where id = #{id,jdbcType=INTEGER} 
  	update>
  
mapper>

IUserService.java

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
package com.chillax.service;

import java.util.List;

import com.chillax.dto.User;

public interface IUserService {
	
	public User getUserById(int userId);

	public void insertUser(User user);

	public void addUser(User user);

	public List getAllUser();
}

UserServiceImpl.java

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
package com.chillax.service.Impl;

import java.util.List;

import javax.annotation.Resource;

import org.springframework.stereotype.Service;

import com.chillax.dao.IUserDao;
import com.chillax.dto.User;
import com.chillax.service.IUserService;

@Service("userService")
public class UserServiceImpl implements IUserService {
	@Resource
	private IUserDao userDao;
	
	public User getUserById(int userId) {
		return userDao.queryByPrimaryKey(userId);
	}

	public void insertUser(User user) {
		userDao.insertUser(user);
	}

	public void addUser(User user) {
		userDao.insertUser(user);
	}

	@Override
	public List getAllUser() {
		return userDao.getAllUser();
	}

}

5、在WEB-INF文件夹下创建jsp文件夹,并添加userList.jsp、addUser.jsp、showUser.jsp
userList.jsp

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>


<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'showUser.jsp' starting pagetitle>
    
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
	

  head>
  
  <body>
    <c:forEach items="${uList }" var="u">
    	用户名称:${u.name}
    	用户年龄:${u.age }
    	<br/>
    c:forEach>
  body>
html>

addUser.jsp

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>


<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'addUser.jsp' starting pagetitle>
    
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
	

  head>
  
  <body>
    <form id="addUser" action="user/addUser" method="post"> 
	    userName: <input id="name" name="name" /><br/> 
	    password: <input id="password" name="password" /><br/> 
	    age: <input id="age" name="age"/><br/> 
	    <input type="submit" value="添加新用户"/> 
	form>
  body>
html>

showUser.jsp

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>


<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'showUser.jsp' starting pagetitle>
    
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
	

  head>
  
  <body>
    ${user.name }<br>
  body>
html>

6、创建数据库,并创建表

1
2
3
4
5
6
7
8
9
10
11
12
DROP TABLE IF EXISTS `user`;

CREATE TABLE `user` (
  `id` int(12) NOT NULL AUTO_INCREMENT,
  `name` varchar(50) NOT NULL,
  `password` varchar(50) NOT NULL,
  `age` int(9) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=12 DEFAULT CHARSET=utf8;


insert  into `user`(`id`,`name`,`password`,`age`) values (1,'admin','admin',22);

7、整个项目文件结构图

8、部署发布项目,进行测试



至此,框架搭建完成。

常见问题

问题1:pom.xml文件里的代码到哪里找?
解答:http://www.mvnrepository.com/

问题2:新建MAVEN项目过程中,出现下图错误?

解答:在MyEclipse的安装目录找到myeclipse.ini,将分配的内存加大

问题3:新建完工程后出现以下错误?

解答:在pom.xml添加以下代码即可,添加完代码就会自动下载好jar包

问题4:出现如下图错误

解答:

问题5:出现以下错误

解答:将项目的jre版本换成1.7或者以上的版本即可

问题6:配置pom.xml文件后,下载jar包时出现以下错误

解答:在本地仓库找到错误所对应的jar包文件夹,将文件夹内的文件删除(出现这个错误时,文件夹内一般只有1个错误的文件)

在pom.xml中把关于这个jar包的配置代码删除保存,再重新把配置代码添加保存,让MyEclipse重新下载即可,下载成功后,文件夹内的内容应该如下图所示


你可能感兴趣的:(springMVC,数据交互)