IDEA搭建SSM-Jar包版
 一、准备工作1.下载Jar包。2.创建Web项目1.创建工程2.填写工程名和工程路径3.在WEB-INF新建lib目录4.在WEB-INF新建classes目录5.设置classes目录6.设置lib路径
   3.项目工程截图
  二、创建项目1.配置文件1.user.mapper.xml2.applicationContext.xml3.jdbc.properties4.log4j.properties5.spring-mvc.xml6.web.xml
   2.前端list.jsp
   3.后端UserUserDaoUserDaoImplUserServiceUserServiceImplUserController
  
  三、数据库文件四、运行项目五、感悟及其他1.感悟2.商务合作3.其他
 
 
一、准备工作
 
1.下载Jar包。
 
要是您没有Jar包,可以移步: SSM搭建所需Jar包
 
2.创建Web项目
 
要是您自己没有创建过Web项目,或者您有创建Web项目的疑问,请移步: IDEA创建Web项目详细说明 下面我会再次创建一遍Web项目,您可以跟着我一步步创建。
 
1.创建工程
 
选择Create New Project  选择Java Enterprise,勾选Web Application 
 
2.填写工程名和工程路径
 
 
3.在WEB-INF新建lib目录
 
这是用来放Jar包的目录,目录建好之后把Jar导进入。 
 
4.在WEB-INF新建classes目录
 
这个目录是用来放项目被编译后的class文件 
 
5.设置classes目录
 
这里设置classes用来存放class文件。 流程是:File->Project Structure->Modules-Path->Use module complie output path->选择你自己的路径 
 
6.设置lib路径
 
流程是:File->Project Structure->Modules-Dependencies->JARS or directories->选择你自己的路径 
 
3.项目工程截图
 
这里是所有工作完成之后的最终截图,下面完成创建项目的工作。 
 
二、创建项目
 
1.配置文件
 
1.user.mapper.xml
 
这里放在src/com/sjsq/model/mapper下,跟实体类放在一起。
 
<?xml version
="1.0" encoding
="UTF-8" ?>
<!DOCTYPE mapper
        
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace
="com.sjsq.model.user.mapper">
    <select id
="list" resultType
="User">
        select 
* from user
;
    </select
>
</mapper
>
 
2.applicationContext.xml
 
<?xml version
="1.0" encoding
="UTF-8"?>
<!--suppress 
ALL -->
<beans xmlns
="http://www.springframework.org/schema/beans"
	   xmlns
:xsi
="http://www.w3.org/2001/XMLSchema-instance"
	   xmlns
:tx
="http://www.springframework.org/schema/tx"
	   xmlns
:context
="http://www.springframework.org/schema/context"
	   xsi
:schemaLocation
="http
://www
.springframework
.org
/schema
/beans
                        http
://www
.springframework
.org
/schema
/beans
/spring
-beans
-3.1.xsd
                        http
://www
.springframework
.org
/schema
/tx
                        http
://www
.springframework
.org
/schema
/tx
/spring
-tx
.xsd
                        http
://www
.springframework
.org
/schema
/context
                        http
://www
.springframework
.org
/schema
/context
/spring
-context
.xsd"
>
	<!-- 加载properties文件 
-->
	<bean id
="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
		<property name
="location" value
="classpath:jdbc.properties"/>
	</bean
>
	<!-- 配置数据源 
-->
	<bean id
="dataSource" class="com.alibaba.druid.pool.DruidDataSource">
		<property name
="driverClassName" value
="${driver}"/>
		<property name
="url" value
="${url}"/>
		<property name
="username" value
="${username}"/>
		<property name
="password" value
="${password}"/>
	</bean
>
	<!-- mybatis和spring完美整合,不需要mybatis的配置映射文件 
-->
	<bean id
="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
		<property name
="dataSource" ref
="dataSource"/>
		<!-- 扫描model包 
-->
		<property name
="typeAliasesPackage" value
="com.sjsq.model"/>
		<!-- 扫描sql配置文件
:mapper需要的xml文件
-->
		<property name
="mapperLocations" value
="classpath:com/sjsq/model/mapper/*.xml"/>
	</bean
>
	<!-- Mapper动态代理开发,扫描dao接口包
-->
	<bean 
class="org.mybatis.spring.mapper.MapperScannerConfigurer">
		<!-- 注入sqlSessionFactory 
-->
		<property name
="sqlSessionFactoryBeanName" value
="sqlSessionFactory"/>
		<!-- 给出需要扫描Dao接口包 
-->
		<property name
="basePackage" value
="com.sjsq.dao"/>
	</bean
>
	<!-- 事务管理 
-->
	<bean id
="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
		<!--数据库连接池
-->
		<property name
="dataSource" ref
="dataSource"/>
	</bean
>
</beans
>
 
3.jdbc.properties
 
# 
8.0之前的driver
#driver
=com
.mysql
.jdbc
.Driver
# 
8.0之后的driver
driver
=com
.mysql
.cj
.jdbc
.Driver
#mytest为我本地的数据库名
url
=jdbc
:mysql
://localhost
:3306/maven
-ssm
-demo
?serverTimezone
=UTC
# 数据库用户名
username
=root
# 数据库的密码
password
=admin
# 定义初始连接数
initialSize
=1
# 定义最大连接数
maxActive
=20
# 定义最大空闲
maxIdle
=20
# 定义最小空闲
minIdle
=1
# 定义最长等待时间
maxWait
=60000
 
4.log4j.properties
 
#日志输出级别
log4j
.rootLogger
=debug
,stdout
,D,E
#设置stdout的日志输出控制台
log4j
.appender
.stdout
=org
.apache
.log4j
.ConsoleAppender
#输出日志到控制台的方式,默认为System
.out
log4j
.appender
.stdout
.Target 
= System
.out
#设置使用灵活布局
log4j
.appender
.stdout
.layout
=org
.apache
.log4j
.PatternLayout
#灵活定义输出格式
log4j
.appender
.stdout
.layout
.ConversionPattern
=%d
{yyyy
-MM-dd 
HH:mm
:ss
,SSS} -[%p
]  method
:[%c (%rms
)] - %m
%n
 
5.spring-mvc.xml
 
<?xml version
="1.0" encoding
="UTF-8"?>
<beans xmlns
="http://www.springframework.org/schema/beans"
       xmlns
:xsi
="http://www.w3.org/2001/XMLSchema-instance"
       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
.xsd
       http
://www
.springframework
.org
/schema
/context
       http
://www
.springframework
.org
/schema
/context
/spring
-context
.xsd
       http
://www
.springframework
.org
/schema
/mvc
       http
://www
.springframework
.org
/schema
/mvc
/spring
-mvc
-3.0.xsd"
>
    <!-- 扫描注解,这样com
.sjsq包下的文件都能被扫描 
-->
    <context
:component
-scan base
-package="com.sjsq"/>
    <!-- 开启SpringMVC注解模式 
-->
    <mvc
:annotation
-driven
/>
    <!-- 静态资源默认servlet配置 
-->
    <mvc
:default-servlet
-handler
/>
    <!-- 配置返回视图的路径,以及识别后缀是jsp文件 
-->
    <bean 
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name
="viewClass" value
="org.springframework.web.servlet.view.JstlView"/>
        <property name
="prefix" value
="/WEB-INF/views/"/>
        <property name
="suffix" value
=".jsp"/>
    </bean
>
</beans
>
 
6.web.xml
 
<?xml version
="1.0" encoding
="UTF-8"?>
<web
-app xmlns
:xsi
="http://www.w3.org/2001/XMLSchema-instance"
         xmlns
="http://java.sun.com/xml/ns/javaee"
         xmlns
:web
="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
         xsi
:schemaLocation
="http
://java
.sun
.com
/xml
/ns
/javaee
         http
://java
.sun
.com
/xml
/ns
/javaee
/web
-app_2_5
.xsd"
         version
="2.5">
<display
-name
>Archetype Created Web Application
</display
-name
>
    <!-- spring 配置文件 
-->
    <context
-param
>
        <param
-name
>contextConfigLocation
</param
-name
>
        <param
-value
>classpath
:applicationContext
.xml
</param
-value
>
    </context
-param
>
    <listener
>
        <listener
-class> org
.springframework
.web
.context
.ContextLoaderListener
</listener
-class>
    </listener
>
    <!-- springmvc 配置文件
-->
    <servlet
>
        <servlet
-name
>springmvc
</servlet
-name
>
        <servlet
-class>org
.springframework
.web
.servlet
.DispatcherServlet
</servlet
-class>
        <init
-param
>
            <param
-name
>contextConfigLocation
</param
-name
>
            <param
-value
>classpath
:spring
-mvc
.xml
</param
-value
>
        </init
-param
>
        <load
-on
-startup
>1</load
-on
-startup
>
    </servlet
>
    <servlet
-mapping
>
        <servlet
-name
>springmvc
</servlet
-name
>
        <url
-pattern
>*.do</url
-pattern
>
    </servlet
-mapping
>
    <!-- 欢迎页 
-->
    <welcome
-file
-list
>
        <welcome
-file
>index
.jsp
</welcome
-file
>
    </welcome
-file
-list
>
</web
-app
>
 
2.前端
 
list.jsp
 
要放在web/WEB-INF/views下面。
 
<%@ 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
+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html
>
  <head
>
    <base href
="<%=basePath%>">
    
    <title
>My 
JSP 'index.jsp' starting page
</title
>
	<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">
	<!--
	<link rel
="stylesheet" type
="text/css" href
="styles.css">
	-->
  </head
>
  
  <body
>
    <table width
="80%" align
="center">
    	<tr
>
    		<td
>编号
</td
>
    		<td
>姓名
</td
>
    		<td
>密码
</td
>
    	</tr
>
    	<c
:forEach items
="${list}" var="bean">
    	<tr
>
    		<td
>$
{bean
.id
}</td
>
    		<td
>$
{bean
.username
}</td
>
    		<td
>$
{bean
.password
}</td
>
    	</tr
>
    	</c
:forEach
>
    </table
>
  </body
>
</html
>
 
3.后端
 
User
 
package com
.sjsq
.model
;
public class User {
    private Integer id
;
    private String username
;
    private String password
;
    public Integer 
getId() {
        return id
;
    }
    public void setId(Integer id
) {
        this.id 
= id
;
    }
    public String 
getUsername() {
        return username
;
    }
    public void setUsername(String username
) {
        this.username 
= username
;
    }
    public String 
getPassword() {
        return password
;
    }
    public void setPassword(String password
) {
        this.password 
= password
;
    }
    @Override
    public String 
toString() {
        return "User{" +
                "id=" + id 
+
                ", username='" + username 
+ '\'' +
                ", password='" + password 
+ '\'' +
                '}';
    }
}
 
UserDao
 
package com
.sjsq
.dao
;
import com
.sjsq
.model
.User
;
import java
.util
.List
;
public interface UserDao {
    
    public List
<User> list();
}
 
UserDaoImpl
 
package com
.sjsq
.dao
.impl
;
import com
.sjsq
.dao
.UserDao
;
import com
.sjsq
.model
.User
;
import org
.apache
.ibatis
.session
.SqlSessionFactory
;
import org
.mybatis
.spring
.support
.SqlSessionDaoSupport
;
import org
.springframework
.beans
.factory
.annotation
.Autowired
;
import org
.springframework
.stereotype
.Repository
;
import java
.util
.List
;
@Repository("userDao")
public class UserDaoImpl extends SqlSessionDaoSupport implements UserDao {
    @Autowired
    @Override
    public void setSqlSessionFactory(SqlSessionFactory sqlSessionFactory
) {
        super.setSqlSessionFactory(sqlSessionFactory
);
    }
    
    public List
<User> list() {
        return this.getSqlSession().selectList("com.sjsq.model.user.mapper.list");
    }
}
 
UserService
 
package com
.sjsq
.service
;
import com
.sjsq
.model
.User
;
import java
.util
.List
;
public interface UserService {
    public List
<User> list();
}
 
UserServiceImpl
 
package com
.sjsq
.service
.impl
;
import com
.sjsq
.dao
.UserDao
;
import com
.sjsq
.model
.User
;
import com
.sjsq
.service
.UserService
;
import org
.springframework
.beans
.factory
.annotation
.Autowired
;
import org
.springframework
.stereotype
.Service
;
import java
.util
.List
;
@Service("userService")
public class UserServiceImpl implements UserService {
    @Autowired
    private UserDao userDao
;
    public void setUserDao(UserDao userDao
){
        this.userDao 
= userDao
;
    }
    public List
<User> list() {
        return userDao
.list();
    }
}
 
UserController
 
package com
.sjsq
.controller
;
import com
.sjsq
.service
.UserService
;
import org
.springframework
.beans
.factory
.annotation
.Autowired
;
import org
.springframework
.stereotype
.Controller
;
import org
.springframework
.ui
.ModelMap
;
import org
.springframework
.web
.bind
.annotation
.RequestMapping
;
@Controller
public class UserController {
    @Autowired
    private UserService userService
;
    
    public void setUserService(UserService userService
) {
        this.userService 
= userService
;
    }
    
    @RequestMapping("/list")
    public String 
list(ModelMap map
){
        map
.addAttribute("list", userService
.list());
        return "list";
    }
}
 
三、数据库文件
 
drop database if exists maven
-ssm
-demo
;
create database maven
-ssm
-demo
;
drop table if exists `user`;
create table `user`  (
  `id
` int(11) not null auto_increment,
  `username
` varchar(255) default null,
  `password
` varchar(255) default null,
  primary key (`id
`)
);
insert into `user` values (1, 'sjsq', '123456');
 
四、运行项目
 
浏览器输入:http://localhost:8080/list.do,就可以访问到页面了。 
 
五、感悟及其他
 
1.感悟
 
使用Jar包的方式搭建SSM,避免了配置Maven的麻烦。感觉效率越来越高了,这次只用了一早上就把环境搭建好了。
 
2.商务合作
 
要是你自己对于本项目有定制化开发需求或者有什么其他问题,可以联系(有偿服务): 博主QQ:3079118617 请备注:+您的职业
 
3.其他
 
您要是想做非SSM图书管理系统,请移步: 图书管理系统 图书管理系统-添加管理增删改查功能
 
您要是想做非SSM学生成绩管理系统,请移步: 学生成绩管理系统
 
如本文章侵犯了您的权益,请联系我进行删除。
 
后续我也会进行开发SSM的各种管理系统,欢迎关注我的博客。
 
鸡汤:每一天有个好的心情,你会看起来很帅气,很漂亮。