本文内容纲要:SSM Spring+SpringMVC+mybatis+maven+mysql环境搭建
SSM Spring+SpringMVC+mybatis+maven环境搭建
1、首先右键点击项目区空白处,选择new-》other..在弹出框中输入maven,选择Maven Project。
默认next下一步
选中图片所选next下一步
输入其中所需参数点击Finish完成创建操作
2、标准的maven结构,但是还需要创建几个文件夹,右键点击src下的main-》new-》Folder填写java,右键点击src new-》Folder填写test,同理在test下创建java folder。
在src/main/java下创建基本的层级,如图:
上图中jsp的报错暂时不用管,具体原因尚不清楚,不过不影响项目开发启动,在pom.xml下添加框架必须的包:
1 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
2 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
3
4 <modelVersion>4.0.0</modelVersion>
5 <groupId>com.cjl.ssm</groupId>
6 <artifactId>SSM</artifactId>
7 <packaging>war</packaging>
8 <version>1.0-SNAPSHOT</version>
9 <name>SSM</name>
10
11 <!-- 编码 -->
12 <properties>
13 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
14 <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
15 </properties>
16
17 <!--Maven依赖 需要更换可以到http://mvnrepository.com进行查询-->
18 <dependencies>
19
20 <!--Spring-->
21 <dependency>
22 <groupId>org.springframework</groupId>
23 <artifactId>spring-core</artifactId>
24 <version>4.3.5.RELEASE</version>
25 </dependency>
26 <dependency>
27 <groupId>org.springframework</groupId>
28 <artifactId>spring-aop</artifactId>
29 <version>4.3.5.RELEASE</version>
30 </dependency>
31 <dependency>
32 <groupId>org.springframework</groupId>
33 <artifactId>spring-orm</artifactId>
34 <version>4.3.5.RELEASE</version>
35 </dependency>
36 <dependency>
37 <groupId>org.springframework</groupId>
38 <artifactId>spring-web</artifactId>
39 <version>4.3.5.RELEASE</version>
40 </dependency>
41 <dependency>
42 <groupId>org.springframework</groupId>
43 <artifactId>spring-webmvc</artifactId>
44 <version>4.3.5.RELEASE</version>
45 </dependency>
46 <dependency>
47 <groupId>org.springframework</groupId>
48 <artifactId>spring-tx</artifactId>
49 <version>4.3.5.RELEASE</version>
50 </dependency>
51 <dependency>
52 <groupId>org.springframework</groupId>
53 <artifactId>spring-test</artifactId>
54 <version>4.3.5.RELEASE</version>
55 </dependency>
56 <dependency>
57 <groupId>org.springframework</groupId>
58 <artifactId>spring-jdbc</artifactId>
59 <version>4.3.5.RELEASE</version>
60 </dependency>
61 <dependency>
62 <groupId>org.springframework</groupId>
63 <artifactId>spring-mock</artifactId>
64 <version>2.0.8</version>
65 </dependency>
66 <dependency>
67 <groupId>org.springframework</groupId>
68 <artifactId>spring-context</artifactId>
69 <version>4.3.5.RELEASE</version>
70 </dependency>
71 <dependency>
72 <groupId>org.springframework</groupId>
73 <artifactId>spring-expression</artifactId>
74 <version>4.3.5.RELEASE</version>
75 </dependency>
76 <dependency>
77 <groupId>org.springframework</groupId>
78 <artifactId>spring-context-support</artifactId>
79 <version>4.3.5.RELEASE</version>
80 </dependency>
81
82 <!-- mybatis-spring -->
83 <dependency>
84 <groupId>org.mybatis</groupId>
85 <artifactId>mybatis-spring</artifactId>
86 <version>1.3.1</version>
87 </dependency>
88
89 <!-- mybatis 出现分页使用异常,极有可能是版本问题-->
90 <dependency>
91 <groupId>org.mybatis</groupId>
92 <artifactId>mybatis</artifactId>
93 <version>3.2.8</version>
94 </dependency>
95 <!-- mybatis pagehelper -->
96 <dependency>
97 <groupId>com.github.pagehelper</groupId>
98 <artifactId>pagehelper</artifactId>
99 <version>3.7.3</version>
100 </dependency>
101 <dependency>
102 <groupId>com.github.jsqlparser</groupId>
103 <artifactId>jsqlparser</artifactId>
104 <version>0.9.1</version>
105 </dependency>
106
107 <!--servlet、基本包-->
108 <dependency>
109 <groupId>javax.servlet</groupId>
110 <artifactId>servlet-api</artifactId>
111 <version>3.0-alpha-1</version>
112 </dependency>
113 <dependency>
114 <groupId>javax.servlet</groupId>
115 <artifactId>jstl</artifactId>
116 <version>1.2</version>
117 </dependency>
118 <dependency>
119 <groupId>taglibs</groupId>
120 <artifactId>standard</artifactId>
121 <version>1.1.2</version>
122 </dependency>
123 <dependency>
124 <groupId>org.aspectj</groupId>
125 <artifactId>aspectjrt</artifactId>
126 <version>1.8.10</version>
127 </dependency>
128 <dependency>
129 <groupId>org.aspectj</groupId>
130 <artifactId>aspectjweaver</artifactId>
131 <version>1.8.10</version>
132 </dependency>
133 <dependency>
134 <groupId>commons-lang</groupId>
135 <artifactId>commons-lang</artifactId>
136 <version>2.6</version>
137 </dependency>
138 <dependency>
139 <groupId>dom4j</groupId>
140 <artifactId>dom4j</artifactId>
141 <version>1.6.1</version>
142 </dependency>
143
144 <!--mysql驱动包-->
145 <dependency>
146 <groupId>mysql</groupId>
147 <artifactId>mysql-connector-java</artifactId>
148 <version>5.1.40</version>
149 </dependency>
150 <!--dbcp连接池-->
151 <dependency>
152 <groupId>commons-dbcp</groupId>
153 <artifactId>commons-dbcp</artifactId>
154 <version>1.4</version>
155 </dependency>
156
157 <!--json、基本包-->
158 <dependency>
159 <groupId>com.alibaba</groupId>
160 <artifactId>fastjson</artifactId>
161 <version>1.2.23</version>
162 </dependency>
163 <dependency>
164 <groupId>xml-apis</groupId>
165 <artifactId>xml-apis</artifactId>
166 <version>2.0.2</version>
167 </dependency>
168 <dependency>
169 <groupId>commons-net</groupId>
170 <artifactId>commons-net</artifactId>
171 <version>3.5</version>
172 </dependency>
173
174 <!-- 日志文件管理包 -->
175 <dependency>
176 <groupId>org.slf4j</groupId>
177 <artifactId>slf4j-api</artifactId>
178 <version>1.7.22</version>
179 </dependency>
180 <dependency>
181 <groupId>org.slf4j</groupId>
182 <artifactId>slf4j-log4j12</artifactId>
183 <version>1.7.22</version>
184 </dependency>
185 <dependency>
186 <groupId>log4j</groupId>
187 <artifactId>log4j</artifactId>
188 <version>1.2.17</version>
189 </dependency>
190
191 <!-- junit4 -->
192 <dependency>
193 <groupId>junit</groupId>
194 <artifactId>junit</artifactId>
195 <version>4.12</version>
196 <scope>test</scope>
197 </dependency>
198
199 </dependencies>
200
201 <!--项目编译及其构建-->
202 <build>
203 <plugins>
204 <plugin>
205 <groupId>org.apache.maven.plugins</groupId>
206 <artifactId>maven-war-plugin</artifactId>
207 <version>2.4</version>
208 <configuration>
209 <warName>SSM</warName>
210 <!-- <packagingExcludes>
211 **/resources/**
212 </packagingExcludes> -->
213 <webResources>
214 <resource>
215 <directory>src/main/resources/resources/config</directory>
216 <targetPath>WEB-INF/classes/resources/config</targetPath>
217 <filtering>true</filtering>
218 </resource>
219 <resource>
220 <directory>src/main/java</directory>
221 <includes>
222 <include>**/*.xml</include>
223 </includes>
224 <targetPath>WEB-INF/classes</targetPath>
225 </resource>
226 </webResources>
227 </configuration>
228 </plugin>
229 <plugin>
230 <groupId>org.mybatis.generator</groupId>
231 <artifactId>mybatis-generator-maven-plugin</artifactId>
232 <version>1.3.2</version>
233 <configuration>
234 <verbose>true</verbose>
235 <overwrite>true</overwrite>
236 </configuration>
237 </plugin>
238 <plugin>
239 <groupId>org.apache.maven.plugins</groupId>
240 <artifactId>maven-resources-plugin</artifactId>
241 <version>2.4.3</version>
242 <configuration>
243 <encoding>UTF-8</encoding>
244 </configuration>
245 </plugin>
246 <plugin>
247 <groupId>org.apache.maven.plugins</groupId>
248 <artifactId>maven-compiler-plugin</artifactId>
249 </plugin>
250 <plugin>
251 <groupId>org.apache.felix</groupId>
252 <artifactId>maven-bundle-plugin</artifactId>
253 <inherited>true</inherited>
254 <extensions>true</extensions>
255 </plugin>
256 <plugin>
257 <groupId>org.apache.maven.plugins</groupId>
258 <artifactId>maven-surefire-plugin</artifactId>
259 <configuration>
260 <testFailureIgnore>true</testFailureIgnore>
261 </configuration>
262 </plugin>
263 <plugin>
264 <groupId>org.apache.maven.plugins</groupId>
265 <artifactId>maven-site-plugin</artifactId>
266 <!-- 此处由3.2升级为3.3.原因是maven版本3.1的,需要3,3才能兼容.否则会报错:java.lang.NoClassDefFoundError:
267 org/sonatype/aether/graph/DependencyFilter -->
268 <version>3.3</version>
269 <configuration>
270 <locales>zh_CN</locales>
271 </configuration>
272 </plugin>
273
274 </plugins>
275 </build>
276
277 </project>
mavenjar包下载完成后需要在resources文件夹下添加几个配置文件
applicationContext-mybatis.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <beans xmlns="http://www.springframework.org/schema/beans"
3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
4 xmlns:context="http://www.springframework.org/schema/context"
5 xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:tx="http://www.springframework.org/schema/tx"
6 xsi:schemaLocation="http://www.springframework.org/schema/beans
7 http://www.springframework.org/schema/beans/spring-beans.xsd
8 http://www.springframework.org/schema/mvc
9 http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd
10 http://www.springframework.org/schema/context
11 http://www.springframework.org/schema/context/spring-context.xsd
12 http://www.springframework.org/schema/tx
13 http://www.springframework.org/schema/tx/spring-tx-4.0.xsd">
14
15 <!-- Mybatis 和 Spring的整合 -->
16 <!-- 1.数据源:DriverManagerDataSource -->
17 <bean id="dataSource"
18 class="org.springframework.jdbc.datasource.DriverManagerDataSource">
19 <property name="driverClassName" value="com.mysql.jdbc.Driver"></property>
20 <property name="url" value="jdbc:mysql://localhost:3306/test"></property>
21 <property name="username" value="root"></property>
22 <property name="password" value="123456"></property>
23 </bean>
24
25 <!-- 2.Mybatis 的 SqlSession的工厂:SqlSessionFactoryBean dataSource引用数据源 Mybatis
26 定义数据源,同意加载配置 -->
27 <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
28 <property name="dataSource" ref="dataSource"></property>
29 <property name="configLocation" value="classpath:mybatis-config.xml"></property>
30 </bean>
31
32 <!-- 3. Mybatis自动扫描加载Sql映射文件/接口:MapperScannerConfigurer sqlSessionFactory
33 basePackage:指定sql映射文件/接口所在的包(自动扫描) -->
34 <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
35 <property name="basePackage" value="com.cjl.mapper"></property>
36 <property name="sqlSessionFactory" ref="sqlSessionFactory"></property>
37 </bean>
38
39 <!-- 4.事务管理:DataSourceTransactionManager dataSource 引用上面定义好的数据源 -->
40 <bean id="txManager"
41 class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
42 <property name="dataSource" ref="dataSource"></property>
43 </bean>
44
45 <!-- 5.使用声明式事务: transaction-manager = "txManager" tx:advice 这种 是用 aop方式管理事物
46 annotation-driven 这种是注解方式管理事物 第一种方式,需要在spring配置文件配置一些参数 第二种方式,需要在 类里 加一些注解进行事物管理
47 用一种就行,没必须都用 -->
48 <tx:annotation-driven transaction-manager="txManager" />
49
50 </beans>
generatorConfig.xml 这个xml主要是为了使用mybatis生成代码用
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
3 <generatorConfiguration>
4
5 <!-- <properties resource="init.properties"/> -->
6
7 <!-- 指定数据库连接驱动地址 -->
8 <classPathEntry
9 location="C:\Users\Administrator\.m2\repository\mysql\mysql-connector-java\5.1.40\mysql-connector-java-5.1.40.jar" />
10 <!-- 一个数据库一个 context -->
11 <context id="context1">
12
13 <commentGenerator>
14 <!-- 是否取消注释 -->
15 <property name="suppressAllComments" value="true"></property>
16 <!-- 是否生成注释代时间戳-->
17 <property name="suppressDate" value="true"></property>
18 </commentGenerator>
19 <!-- jdbc连接配置 -->
20 <jdbcConnection connectionURL="jdbc:mysql://localhost:3306/test" driverClass="com.mysql.jdbc.Driver" password="123456" userId="root"/>
21
22 <!-- 类型转换 -->
23 <javaTypeResolver>
24 <!-- 是否使用bigDecimal, false可自动转化以下类型(Long, Integer, Short, etc.) -->
25 <property name="forceBigDecimals" value="false"/>
26 </javaTypeResolver>
27
28 <!-- 生成实体类的地址 -->
29 <javaModelGenerator targetPackage="com.cjl.model"
30 targetProject="D:\eclipse-workspace_lt\ssm\src\main\java" />
31
32 <!-- 生成mapper.xml文件 -->
33 <sqlMapGenerator targetPackage="com.cjl.mapper"
34 targetProject="D:\eclipse-workspace_lt\ssm\src\main\resources" />
35
36 <!-- 生成mapxml对应的client 也就是接口dao -->
37 <javaClientGenerator targetPackage="com.cjl.mapper"
38 targetProject="D:\eclipse-workspace_lt\ssm\src\main\java" type="XMLMAPPER" />
39
40 <table schema="test" tableName="tb_department" domainObjectName="Department" enableCountByExample="false"
41 enableDeleteByExample="false" enableSelectByExample="false"
42 enableUpdateByExample="false">
43 <!-- domainObjectName 指定生成的类的名字 -->
44 </table>
45 </context>
46 </generatorConfiguration>
mybatis-config.xml
1 <?xml version="1.0" encoding="UTF-8" ?>
2 <!DOCTYPE configuration
3 PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
4 "http://mybatis.org/dtd/mybatis-3-config.dtd">
5 <configuration>
6 <!-- 配置打印 SQL 到控制台 以及懒加载 -->
7 <settings>
8 <setting name="logImpl" value="STDOUT_LOGGING" />
9 <!-- 打开延迟加载的全局开关 -->
10 <setting name="lazyLoadingEnabled" value="true" />
11 <setting name="aggressiveLazyLoading" value="false" />
12 <setting name="mapUnderscoreToCamelCase" value="true" />
13 </settings>
14 <!-- 为org.bb.ssm.mode.UserInfo 设置一个别名 UserInfo -->
15 <typeAliases>
16 <typeAlias type="com.cjl.model.User" alias="User"/>
17 </typeAliases>
18 <mappers>
19 <package name="com.cjl.mapper"/>
20 </mappers>
21 </configuration>
spring-MVC.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <beans xmlns="http://www.springframework.org/schema/beans"
3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
4 xmlns:context="http://www.springframework.org/schema/context"
5 xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:tx="http://www.springframework.org/schema/tx"
6 xsi:schemaLocation="http://www.springframework.org/schema/beans
7 http://www.springframework.org/schema/beans/spring-beans.xsd
8 http://www.springframework.org/schema/mvc
9 http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd
10 http://www.springframework.org/schema/context
11 http://www.springframework.org/schema/context/spring-context.xsd
12 http://www.springframework.org/schema/tx
13 http://www.springframework.org/schema/tx/spring-tx-4.0.xsd">
14 <!-- 开启注解 -->
15 <mvc:annotation-driven/>
16 <!-- 配置自定扫描包 -->
17 <context:component-scan base-package="com.cjl.controller"/>
18 <context:component-scan base-package="com.cjl.service.Impl"/>
19
20 <!-- 配置视图解析器: 如何把 handler 方法返回值解析为实际的物理视图 -->
21 <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
22 <property name="prefix" value="/WEB-INF/view/"></property>
23 <property name="suffix" value=".jsp"></property>
24 </bean>
25 <!-- 处理静态资源 -->
26 <!-- <mvc:default-servlet-handler/> -->
27 <mvc:resources mapping="/vendor/**" location="/vendor/" />
28 <mvc:resources mapping="/dist/**" location="/dist/" />
29 </beans>
3、接下来创建一张表,已完成代码测试以及本次ssm框架搭建工作
1 CREATE TABLE `user` (
2 `user_id` varchar(10) NOT NULL default '',
3 `user_name` varchar(50) default NULL,
4 `user_age` varchar(50) default NULL,
5 `department_id` int(10) default NULL,
6 PRIMARY KEY (`user_id`)
7 ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
创建好后需要在generatorConfig.xml生成代码配置文件中修改好适合自己项目的配置方法,右键点击项目选择Run as->Maven Build..->在goals中填写:mybatis-generator:generate -e 点击run
当看到构建成功后即可刷新项目
可以看到代码已经生成完成!!将项目加入tomcat启动
可以看到项目部署已经完成!
本文内容总结:SSM Spring+SpringMVC+mybatis+maven+mysql环境搭建
原文链接:https://www.cnblogs.com/cuijiale/p/7895722.html