ssm整合配置以及一个简单登陆案例(个人记录)(代码片段)

两袖清风怎敢误佳人 两袖清风怎敢误佳人     2022-11-29     712

关键词:

SSM 文件以及大部分参考博客 https://blog.csdn.net/qq598535550/article/details/51703190 

简答的登陆注册案例下载链接在末尾补贴图了

我建立的是 IDEA maven 项目 pomxml 文件如下

<?xml version="1.0" encoding="UTF-8"?>

<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/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>com</groupId>
  <artifactId>SSMLoginEnd</artifactId>
  <version>1.0-SNAPSHOT</version>
  <packaging>war</packaging>

  <name>SSMLoginEnd Maven Webapp</name>
  <!-- FIXME change it to the project\'s website -->
  <url>http://www.example.com</url>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <maven.compiler.source>1.7</maven.compiler.source>
    <maven.compiler.target>1.7</maven.compiler.target>
  </properties>

  <dependencies>
    <!-- 单元测试 -->
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.12</version>
    </dependency>

    <!-- 1.日志 -->
    <!-- 实现slf4j接口并整合 -->
    <dependency>
      <groupId>ch.qos.logback</groupId>
      <artifactId>logback-classic</artifactId>
      <version>1.1.1</version>
    </dependency>

    <!-- 2.数据库 -->
    <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>5.1.37</version>
      <scope>runtime</scope>
    </dependency>
    <dependency>
      <groupId>c3p0</groupId>
      <artifactId>c3p0</artifactId>
      <version>0.9.1.2</version>
    </dependency>

    <!-- DAO: MyBatis -->
    <dependency>
      <groupId>org.mybatis</groupId>
      <artifactId>mybatis</artifactId>
      <version>3.3.0</version>
    </dependency>
    <dependency>
      <groupId>org.mybatis</groupId>
      <artifactId>mybatis-spring</artifactId>
      <version>1.2.3</version>
    </dependency>

    <!-- 3.Servlet web -->
    <dependency>
      <groupId>taglibs</groupId>
      <artifactId>standard</artifactId>
      <version>1.1.2</version>
    </dependency>
    <dependency>
      <groupId>jstl</groupId>
      <artifactId>jstl</artifactId>
      <version>1.2</version>
    </dependency>
    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-databind</artifactId>
      <version>2.5.4</version>
    </dependency>
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>javax.servlet-api</artifactId>
      <version>3.1.0</version>
    </dependency>

    <!-- 4.Spring -->
    <!-- 1)Spring核心 -->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-core</artifactId>
      <version>4.1.7.RELEASE</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-beans</artifactId>
      <version>4.1.7.RELEASE</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-context</artifactId>
      <version>4.1.7.RELEASE</version>
    </dependency>
    <!-- 2)Spring DAO层 -->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-jdbc</artifactId>
      <version>4.1.7.RELEASE</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-tx</artifactId>
      <version>4.1.7.RELEASE</version>
    </dependency>
    <!-- 3)Spring web -->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-web</artifactId>
      <version>4.1.7.RELEASE</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-webmvc</artifactId>
      <version>4.1.7.RELEASE</version>
    </dependency>
    <!-- 4)Spring test -->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-test</artifactId>
      <version>4.1.7.RELEASE</version>
    </dependency>

    <!-- redis客户端:Jedis -->
    <dependency>
      <groupId>redis.clients</groupId>
      <artifactId>jedis</artifactId>
      <version>2.7.3</version>
    </dependency>
    <dependency>
      <groupId>com.dyuproject.protostuff</groupId>
      <artifactId>protostuff-core</artifactId>
      <version>1.0.8</version>
    </dependency>
    <dependency>
      <groupId>com.dyuproject.protostuff</groupId>
      <artifactId>protostuff-runtime</artifactId>
      <version>1.0.8</version>
    </dependency>


    <!-- Jackson Json处理工具包 返回json responsebody-->
    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-databind</artifactId>
      <version>2.9.8</version>
    </dependency>

    <!-- Map工具类 -->
    <dependency>
      <groupId>commons-collections</groupId>
      <artifactId>commons-collections</artifactId>
      <version>3.2</version>
    </dependency>
  </dependencies>
  <build>
    <finalName>ssm</finalName>
  </build>
</project>
View Code

 

 

在main文件夹下建立resource 文件夹 并设置为 把resource资源文件夹 目录如下

 

mapper 下储存你 写为sql 语句xml 

spring 下的spring-dao.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"
       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">
    <!-- 配置整合mybatis过程 -->
    <!-- 1.配置数据库相关参数properties的属性:$url -->
    <context:property-placeholder location="classpath:jdbc.properties" />

    <!-- 2.数据库连接池 -->
    <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
        <!-- 配置连接池属性 -->
        <property name="driverClass" value="$jdbc.driver" />
        <property name="jdbcUrl" value="$jdbc.url" />
        <property name="user" value="$jdbc.username" />
        <property name="password" value="$jdbc.password" />

        <!-- c3p0连接池的私有属性 -->
        <property name="maxPoolSize" value="30" />
        <property name="minPoolSize" value="10" />
        <!-- 关闭连接后不自动commit -->
        <property name="autoCommitOnClose" value="false" />
        <!-- 获取连接超时时间 -->
        <property name="checkoutTimeout" value="10000" />
        <!-- 当获取连接失败重试次数 -->
        <property name="acquireRetryAttempts" value="2" />
    </bean>

    <!-- 3.配置SqlSessionFactory对象 -->
    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <!-- 注入数据库连接池 -->
        <property name="dataSource" ref="dataSource" />
        <!-- 配置MyBaties全局配置文件:mybatis-config.xml -->
        <property name="configLocation" value="classpath:mybatis-config.xml" />
        <!-- bean 使用别名 -->
        <property name="typeAliasesPackage" value="bean" />
        <!-- 扫描sql配置文件:mapper需要的xml文件 -->
        <property name="mapperLocations" value="classpath:mapper/*.xml" />
    </bean>

    <!-- 4.配置扫描Dao接口包,动态实现Dao接口,注入到spring容器中 -->
    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
        <!-- 注入sqlSessionFactory -->
        <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory" />
        <!-- 给出需要扫描mapper接口包  -->
        <property name="basePackage" value="mapper" />
    </bean>
</beans>
View Code

spring 下的spring-service.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:tx="http://www.springframework.org/schema/tx"
       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/tx
    http://www.springframework.org/schema/tx/spring-tx.xsd">
    <!-- 扫描service包下所有使用注解的类型 -->
    <context:component-scan base-package="service" />

    <!-- 配置事务管理器 -->
    <bean id="transactionManager"
          class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
        <!-- 注入数据库连接池 -->
        <property name="dataSource" ref="dataSource" />
    </bean>

    <!-- 配置基于注解的声明式事务 -->
    <tx:annotation-driven transaction-manager="transactionManager" />
</beans>
View Code

spring 下的spring-web

<?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">
    <!-- 配置SpringMVC -->
    <!-- 1.开启SpringMVC注解模式 -->
    <!-- 简化配置:
        (1)自动注册DefaultAnootationHandlerMapping,AnotationMethodHandlerAdapter
        (2)提供一些列:数据绑定,数字和日期的format @NumberFormat, @DateTimeFormat, xml,json默认读写支持
    -->
    <mvc:annotation-driven />

    <!-- 2.静态资源默认servlet配置
        (1)加入对静态资源的处理:js,gif,png
        (2)允许使用"/"做整体映射
     -->
    <mvc:default-servlet-handler/>

    <!-- 3.配置jsp 显示ViewResolver -->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="viewClass" value="org.springframework.web.servlet.view.JstlView" />
        <property name="prefix" value="/WEB-INF/jsp/" />
        <property name="suffix" value=".jsp" />
    </bean>

    <!-- 4.扫描web相关的controller -->
    <context:component-scan base-package="controller" />
</beans>
View Code

jdbc.properties

jdbc.driver=com.mysql.jdbc.Driver
#数据库地址
jdbc.url=jdbc:mysql://localhost:3306/db_test?useUnicode=true&characterEncoding=utf8
#用户名
jdbc.username=root
#密码
jdbc.password=root
View Code

logback.xml

<?xml version="1.0" encoding="UTF-8"?>
<configuration debug="true">
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <!-- encoders are by default assigned the type ch.qos.logback.classic.encoder.PatternLayoutEncoder -->
        <encoder>
            <pattern>%dHH:mm:ss.SSS [%thread] %-5level %logger36 - %msg%n</pattern>
        </encoder>
    </appender>

    <root level="debug">
        <appender-ref ref="STDOUT" />
    </root>
</configuration>
View Code

mybatis-config.xml

<?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>
        <!-- 使用jdbc的getGeneratedKeys获取数据库自增主键值 -->
        <setting name="useGeneratedKeys" value="true" />

        <!-- 使用列别名替换列名 默认:true -->
        <setting name="useColumnLabel" value="true" />

        <!-- 开启驼峰命名转换:Tablecreate_time -> EntitycreateTime -->
        <setting name="mapUnderscoreToCamelCase" value="true" />
    </settings>
</configuration>
View Code

web.xml

<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
                      http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
         version="3.1" metadata-complete="true">
  <!-- 如果是用mvn命令生成的xml,需要修改servlet版本为3.1 -->
  <!-- 配置DispatcherServlet -->
  <welcome-file-list>
    <welcome-file>portal/index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>portal/index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>

  <servlet>
    <servlet-name>seckill-dispatcher</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <!-- 配置springMVC需要加载的配置文件
        spring-dao.xml,spring-service.xml,spring-web.xml
        Mybatis - > spring -> springmvc
     -->
    <init-param>
      <param-name>contextConfigLocation</param-name>
      <param-value>classpath:spring/spring-*.xml</param-value>
    </init-param>
  </servlet>
  <servlet-mapping>
    <servlet-name>seckill-dispatcher</servlet-name>
    <!-- 默认匹配所有的请求 -->
    <url-pattern>/</url-pattern>
  </servlet-mapping>
</web-app>
View Code

测试基类 测试的时候继承这个类 加个@Test就行

package test;

import org.junit.runner.RunWith;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

@RunWith(SpringJUnit4ClassRunner.class)
// 告诉junit spring配置文件
@ContextConfiguration( "classpath:spring/spring-dao.xml", "classpath:spring/spring-service.xml" )
public class BaseTest 

 

 

遇到的问题(刚学也没系统的看教程)

1 里面配置不太清楚 准备日后理解 这是一个模板

2 三层关系要搞清楚

JAVAEE 开发三层

Controller 和页面进行数据交互
Service Controller 调用Service ,进行业务逻辑操作 Service 调用mapper 查询数据操作
mapper ,dao 和数据库进行数据交hu

3 进行  数据库参数大于1 的操作时要加 @parm 

例如

boolean insertUser(@Param("username")String username, @Param("password")String password);
具体参照 https://blog.csdn.net/weixin_37139197/article/details/82975594

源代码 下载地址
https://www.lanzous.com/i3d5vgd

 

ssm框架整合,个人学习记录(代码片段)

SSM框架整合依赖导入测试junit数据库驱动连接池(c3p0dbcpdruidhikari)servlet三连servletjspjstlmybatismybatis-springspringlombok<!--junit测试--><dependency><groupId>junit</groupId><artifactId>junit 查看详情

ssm简单整合

一、整合步骤:新建项目,创建一个lib目录导入所有的jar包新建一个config目录,设置为资源目录,用于存放配置文件把所有需要的配置文件放到config目录中在web.xml配置加载spring容器新建所有的类和接口进行测试二、具体实施1.新... 查看详情

ssm整合案例(代码片段)

SSM整合案例关于jdbcurl后面跟的参数问题SpringBoot中lombok提供的注解如下:功能技术需要的依赖通过cdn引入bootstrap及注意事项使用MBG逆向工程数据库环境搭建---含外键关联maven静态资源导出问题---在web.xml中进行配置在spring核心... 查看详情

ssm整合配置错误记录

org.springframework.beans.factory.UnsatisfiedDependencyException:Errorcreatingbeanwithname‘dictService‘:Unsatisfieddependencyexpressedthroughfield‘dictMapper‘;nestedexceptionisorg.springframework.bean 查看详情

idea中的ssm整合

上周一个做php的朋友让我帮忙搭建一个java的web工程,我想挺简单的,但是自己搭的时候出了写问题,觉着需要吧搭建过程记录下来,免得自己忘了。主要记录一下spring的配置,其他的就忽略了一、安装jdk二、安装maven三、新建项... 查看详情

ssm整合案例(代码片段)

简单CRM系统实现1、数据库数据库使用mysql数据库。/*NavicatMySQLDataTransferSourceServer:localhost_3306SourceServerVersion:50611SourceHost:localhost:3306SourceDatabase:crmTargetServerType:MYSQLTargetServerVersion:50611File 查看详情

ssm-整合简单配置

首先说明Spring和Mybatis的版本:  Spring:3.2.4  Mybatis:3.3.0使用了C3P0连接池和Log4J日志,下面是jar包总览:然后是项目目录总览:   为了能够让项目跑一个HelloWorld,添加了简单User业务,接下来就看一下配置文件的内容... 查看详情

ssm整合配置文件记录

  首先是maven的依赖:pom.xml<?xmlversion="1.0"encoding="UTF-8"?><projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven 查看详情

重磅回归-ssm整合进阶项目实战之个人博客系统

...终于有了一定的输出:我自己实现的spring4+springmvc+mybatis3整合的进阶项目实战-个人博客系统已然完成了,系统采用mvc三层模式进行整体的开发,涉及到技术一下子很难全部列出,其中不得不提的有:整合shiro实现登录安全认证,... 查看详情

基于springboot的完成ssm整合项目开发案例(代码片段)

...用SpringBoot配置信息修改服务器配置🍌SpringBoot完成SSM整合之SpringBoot整合junit🍌基于SpringBoot的完成mybatis整合今日目标:基于SpringBoot的完成SSM整合项目开发案例SpringBoot到 查看详情

使用idea搭建一个简单的ssm框架:配置spring+mybatis

...个简单的SSM框架:(2)配置springMVC 1配置spring和mybatis整合文件spring和mybatis整合分为三个步骤:(1)配置数据库,(2)配置SqlSessionFactoryBean(来自mybatis-spring),(3)配置MapperScanne 查看详情

ssm框架整合(java个人博客系统)

...Demo,前端使用了Bootstrap,Jquery,大量使用ajax。可以作为大家整合SSM框架的一个参考。2.项目截图:3.源码https://github.com/withstars/Blog-System   查看详情

activemq入门案例以及整合spring的简单实用

先来个ActiveMQ介绍哈: MQ全称为MessageQueue, 消息队列(MQ)是一种应用程序对应用程序的通信方法,是一个消息中间件。   应用场景:为了实现系统之间的通信,把系统之间的调用耦合度降低就可以使用MQ。 &n... 查看详情

ssm整合记录

就想自己折腾,把框架聚合起来,然后发现公司的框架配置,其实官网基本都写详细了。结合官网文档,很快可以搭出来的。不懂再看下公司项目配置,美滋滋.... 参考文档:proxool: http://proxool.sourceforge.net/index.htmlmybatis:&n... 查看详情

ssm框架整合(新手必备)

...的是出于自己学完了基础的SSM框架以及自己实操完成SSM的整合后,对比网上一大堆的文章写了关于SSM整合的文章,有写的好的也有写的很片面的,于是觉得需要写一篇文章来记录下自己的心得,希望这篇文章适合刚入门的新手去... 查看详情

springboot整合mybatis案例详解(代码片段)

...简化配置的一个重要原因。下面开始说明springboot是如何整合mybatis框架以及如何实现和数据库的交互的首先需要在pom.xml中引入springboot整合mybatis的jar包以及mysql-connector-java<dependency><groupId>org.mybatis.spring.boot</groupId><a... 查看详情

javaee框架技术之14ssm综合案例(代码片段)

SSM综合案例一、课程目标1.【掌握】SSM整合2.【√】学习Lombok使用3.【理解】Layui页面书写(备注:其他前端技术也可以)4.【理解】理解SSM综合案例表的结构5.【掌握】产品管理二、SSM整合Spring+SpringMVC+Mybatis–>SSMSpring+Struts2+Hiber... 查看详情

ssm整合简单配置(代码片段)

最近由于系统重装,之前已经写好了的框架都被我删的一干二净,于是自己动手重新搭了个简答的ssm运行环境(java1.8,Tomcat8.5,maven3.5,MySQL6.0) pom.xml<projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-in... 查看详情