zoukankan      html  css  js  c++  java
  • 简易的SSM框架整合小案例 西门

    简易的SSM框架整合小案例

    一、创建一个web工程的maven项目

    1、项目名随便起

    2、选择好你的maven路径,然后finish

    二、配置pom.xml文件

    <!--    SpringMVC-->
        <dependency>
          <groupId>org.springframework</groupId>
          <artifactId>spring-webmvc</artifactId>
          <version>5.2.7.RELEASE</version>
        </dependency>
    
    <!--    Spring JDBC-->
        <dependency>
          <groupId>org.springframework</groupId>
          <artifactId>spring-jdbc</artifactId>
          <version>5.2.7.RELEASE</version>
        </dependency>
    
    <!--    Spring AOP-->
        <dependency>
          <groupId>org.springframework</groupId>
          <artifactId>spring-aop</artifactId>
          <version>5.2.7.RELEASE</version>
        </dependency>
        <dependency>
          <groupId>org.springframework</groupId>
          <artifactId>spring-aspects</artifactId>
          <version>5.2.7.RELEASE</version>
        </dependency>
    
    <!--    MyBatis-->
        <dependency>
          <groupId>org.mybatis</groupId>
          <artifactId>mybatis</artifactId>
          <version>3.5.5</version>
        </dependency>
    
    <!--    MyBatis整合Spring-->
        <dependency>
          <groupId>org.mybatis</groupId>
          <artifactId>mybatis-spring</artifactId>
          <version>2.0.5</version>
        </dependency>
    
    <!--    MySql驱动-->
        <dependency>
          <groupId>mysql</groupId>
          <artifactId>mysql-connector-java</artifactId>
          <version>8.0.20</version>
        </dependency>
    
    <!--    C3P0-->
        <dependency>
          <groupId>com.mchange</groupId>
          <artifactId>c3p0</artifactId>
          <version>0.9.5.5</version>
        </dependency>
    
    <!-- JSTL -->
          <dependency>
              <groupId>jstl</groupId>
              <artifactId>jstl</artifactId>
              <version>1.2</version>
          </dependency>
    
    <!--    ServletAPI-->
        <dependency>
          <groupId>javax.servlet</groupId>
          <artifactId>javax.servlet-api</artifactId>
          <version>4.0.1</version>
        </dependency>
    
    <!--    lombok-->
        <dependency>
          <groupId>org.projectlombok</groupId>
          <artifactId>lombok</artifactId>
          <version>1.18.12</version>
        </dependency>
    

    再在下面添加上加载资源配置

    <resources>
              <resource>
                  <directory>src/main/java</directory>
                  <includes>
                      <include>**/*.properties</include>
                      <include>**/*.xml</include>
                  </includes>
                  <filtering>false</filtering>
              </resource>
          </resources>
    

    三、创建java和resource文件夹,并将它们标记

    1、未标记的可以手动右键文件夹标记,如上图文件夹的颜色(新版的idea会自动标记)

    2、在resources文件夹下先创建一个空的springmvc.xml和spring.xml配置文件放着先

    四、配置web.xml文件

    直接全复制粘贴就好

    <!DOCTYPE web-app PUBLIC
     "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
     "http://java.sun.com/dtd/web-app_2_3.dtd" >
    
    <web-app>
      <display-name>Archetype Created Web Application</display-name>
    
      <!-- 启动Spring -->
      <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath:spring.xml</param-value>
      </context-param>
      <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
      </listener>
    
      <!-- Spring MVC -->
      <servlet>
        <servlet-name>dispatcherServlet</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
          <param-name>contextConfigLocation</param-name>
          <param-value>classpath:springmvc.xml</param-value>
        </init-param>
      </servlet>
    
      <servlet-mapping>
        <servlet-name>dispatcherServlet</servlet-name>
        <url-pattern>/</url-pattern>
      </servlet-mapping>
    
      <!-- 字符编码过滤器 -->
      <filter>
        <filter-name>characterEncodingFilter</filter-name>
        <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
        <init-param>
          <param-name>encoding</param-name>
          <param-value>UTF-8</param-value>
        </init-param>
      </filter>
      <filter-mapping>
        <filter-name>characterEncodingFilter</filter-name>
        <url-pattern>/*</url-pattern>
      </filter-mapping>
    
      <!-- 加载静态资源 -->
      <servlet-mapping>
        <servlet-name>default</servlet-name>
        <url-pattern>*.js</url-pattern>
      </servlet-mapping>
      <servlet-mapping>
        <servlet-name>default</servlet-name>
        <url-pattern>*.css</url-pattern>
      </servlet-mapping>
      <servlet-mapping>
        <servlet-name>default</servlet-name>
        <url-pattern>*.jpg</url-pattern>
      </servlet-mapping>
    </web-app>
    
    

    五、创建数据库

    为方便部分老铁,sql语句就奉上了

    CREATE DATABASE `ssm`;
    
    USE `ssm`;
    
    DROP TABLE IF EXISTS `t_user`;
    
    CREATE TABLE `t_user` (
      `id` int(10) NOT NULL AUTO_INCREMENT,
      `username` varchar(50) DEFAULT NULL,
      `password` varchar(50) DEFAULT NULL,
      PRIMARY KEY (`id`)
    ) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8;
    
    insert  into `t_user`(`id`,`username`,`password`) values (1,'ximen','12345'),(2,'admin','admin'),(3,'giao','123'),(4,'root','root');
    

    六、创建entity和repository文件夹并创建实体类和mapper文件

    1、创建实体类


    注:第一次使用Lombok的要先去IDEA插件中心去下载Lombok插件

    import lombok.AllArgsConstructor;
    import lombok.Data;
    import lombok.NoArgsConstructor;
    
    @Data//生成get和set方法
    @NoArgsConstructor//生成无参构造
    @AllArgsConstructor//生成有参构造
    public class User {
        private int id;
        private String username;
        private String password;
    }
    
    

    2、创建一个空的mapper.xml文件先放着

    3、再在resource文件夹下创建一个名为config.xml的mybatis配置文件

    先创建一个空的就好

    七、在 spring.xml 中配置 MyBatis 和 Spring 的整合

    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xsi:schemaLocation="http://www.springframework.org/schema/beans
           http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
    ">
    
        <!-- 整合MyBatis -->
        <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
            <property name="user" value="root"/>
            <property name="password" value="root"/>
            <property name="jdbcUrl" value="jdbc:mysql://localhost:3306/ssm?useUnicode=true&amp;characterEncoding=UTF-8&amp;serverTimezone=UTC"/>
            <property name="driverClass" value="com.mysql.cj.jdbc.Driver"/>
            <property name="initialPoolSize" value="5"/>
            <property name="maxPoolSize" value="10"/>
        </bean>
    
        <!-- 配置MyBatis SqlSessionFactory -->
        <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
            <property name="dataSource" ref="dataSource"/>
            <property name="mapperLocations" value="classpath:com/ximen/repository/*.xml"/>
            <property name="configLocation" value="classpath:config.xml"/>
        </bean>
    
        <!-- 扫描自定义的Mapper接口 -->
        <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
            <property name="basePackage" value="com.ximen.repository"/>
        </bean>
    
    </beans>
    
    

    八、在config.xml 配置一些 MyBatis 辅助信息,比如打印 SQL 等

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
    <configuration>
        <settings>
            <!-- 打印SQL-->
            <setting name="logImpl" value="STDOUT_LOGGING" />
        </settings>
    
        <typeAliases>
            <!-- 指定一个包名,MyBatis会在包名下搜索需要的JavaBean-->
            <package name="com.ximen.entity"/>
        </typeAliases>
    
    </configuration>
    

    九、配置springmv.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-3.0.xsd
            http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd
            http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd">
    
        <!-- 启动注解驱动 -->
        <mvc:annotation-driven/>
    
        <!-- 扫描业务代码 -->
        <context:component-scan base-package="com.ximen"/>
    
        <!-- 配置视图解析器 -->
        <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
            <property name="prefix" value="/"/>
            <property name="suffix" value=".jsp"/>
        </bean>
    
    </beans>
    

    十、创建repository接口和配置mapper文件

    1、创建repository定义一个查找方法

    
    import java.util.List;
    
    public interface UserRepository {
        public List<User> findAll();
    }
    
    

    2、配置mapper.xml文件

    <?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.ximen.repository.UserRepository">
        <select id="findAll" resultType="User">
            select * from t_user
        </select>
    </mapper>
    

    十一、创建service层

    1、创建service接口并实现一个查找方法

    import java.util.List;
    
    public interface UserService {
        public List<User> findAll();
    }
    
    

    2、创建service接口实现类

    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.stereotype.Service;
    
    import java.util.List;
    @Service
    public class UserServiceImpl implements UserService{
        @Autowired
        private UserRepository userRepository;
    
        @Override
        public List<User> findAll() {
            return userRepository.findAll();
        }
    }
    
    

    十二、创建controller控制层

    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.stereotype.Controller;
    import org.springframework.web.bind.annotation.GetMapping;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.servlet.ModelAndView;
    
    @Controller
    @RequestMapping("/user")
    public class UserHandler {
        @Autowired
        private UserService userService;
    
        @GetMapping("/findAll")
        public ModelAndView findAll(){
            ModelAndView modelAndView = new ModelAndView();
            modelAndView.setViewName("index");
            modelAndView.addObject("list",userService.findAll());
            return modelAndView;
        }
    }
    
    

    十三、写index.jsp

    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <%@page isELIgnored="false" %>
    <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
    <html>
    <head>
        <title>Title</title>
    </head>
    <body>
        <c:forEach items="${list}" var="user">
            ${user.id}--${user.username}--${user.password}
        </c:forEach>
    </body>
    </html>
    

    十四、配置Tomcat,启动

    然后就整合成功了,其他CRUD的功能应该都会了吧

  • 相关阅读:
    HDU2206:IP的计算
    HDU 2054 A == B ?A
    怎样确定循环节
    Python和Java编程题(二)
    Python和Java编程题(一)
    Java中的静态变量、静态方法问题
    快速排序的Java和python实现,亲测实际可用
    Java和Python分别实现直接选择排序
    Python和Java分别实现冒泡排序
    JavaScript(第十六天)【BOM基础】
  • 原文地址:https://www.cnblogs.com/ximensama/p/13523727.html
Copyright © 2011-2022 走看看