首页 > 其他分享 >ssm整合

ssm整合

时间:2022-12-17 22:45:36浏览次数:29  
标签:xml jdbc spring ssm 整合 Spring mybatis org

Spring框架:
Spring框架为了解决软件开发的复杂性而创建的。Spring使用的是基本的JavaBean来完成以前非常复杂的企业级开发。Spring解决了业务对象,功能模块之间的耦合,不仅在javase,web中使用,大部分Java应用都可以从Spring中受益。
Spring是一个轻量级控制反转(IoC)和面向切面(AOP)的容器。

SpringMVC框架:
Spring MVC属于SpringFrameWork 3.0版本加入的一个模块,为 Spring 框架提供了构建 Web 应用程序的能力。现在可以 Spring框架提供的SpringMVC模块实现web应用开发,在web项目中可以无缝使用Spring和Spring MVC框架。
web项目使用的其他框架:Struts1(一般不用),Struts 2(旧有项目使用)。

MyBatis框架:
MyBatis是一个优秀的基于java的持久层框架,内部封装了jdbc,开发者只需要关注sql语句本身,而不需要处理加载驱动、创建连接、创建 statement、关闭连接,资源等繁杂的过程。

MyBatis通过xml或注解两种方式将要执行的各种sql语句配置起来,并通过java对象和sql 的动态参数进行映射生成最终执行的 sql 语句,最后由 mybatis 框架执行 sql 并将结果映射为 java 对象并返回。



使用步骤

1. 数据库创建表格,编写数据

2. 创建maven模块

3. 导入依赖 pom.xml

<?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.bjpowernode</groupId>
    <artifactId>web1214</artifactId>
    <version>1.0-SNAPSHOT</version>

    <packaging>war</packaging>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
        <spring.version>5.2.8.RELEASE</spring.version>
    </properties>

    <build>

        <resources>
            <!--资源不过滤,需要打包-->
            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.properties</include>
                    <include>**/*.xml</include>
                </includes>
                <!--资源不过滤-->
                <filtering>false</filtering>
            </resource>
        </resources>
        <plugins>
            <!--JDK插件-->
            <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.8.0</version>
                <configuration>
                    <source>${maven.compiler.source}</source>
                    <target>${maven.compiler.target}</target>
                    <encoding>${project.build.sourceEncoding}</encoding>
                </configuration>
            </plugin>
        </plugins>
    </build>

    <dependencies>
        <!--spring-web-->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-web</artifactId>
            <version>${spring.version}</version>
        </dependency>

        <!--spring-mvc-->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>${spring.version}</version>
        </dependency>

        <!--spring-context-->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>${spring.version}</version>
        </dependency>

        <!--Spring test-->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-test</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <!--junit test-->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
            <scope>test</scope>
        </dependency>

        <!--JSTL-->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>jstl</artifactId>
            <version>1.2</version>
        </dependency>

        <!--mybatis-->
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.5.5</version>
        </dependency>
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis-spring</artifactId>
            <version>1.3.1</version>
        </dependency>

        <!--mysql driver-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.49</version>
        </dependency>

        <!--servlet-->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>4.0.1</version>
            <scope>provided</scope>
        </dependency>

        <!--connection pool-->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>1.1.12</version>
        </dependency>

        <!--spring-jdbc-->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-jdbc</artifactId>
            <version>${spring.version}</version>
        </dependency>


    </dependencies>


</project>

4. 创建webapp文件夹,配置web.xml

5. 编写配置文件

applicationContext.xml

扫描组件、配置数据源、整合mybatis(简化了持久层代码)

<?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 https://www.springframework.org/schema/context/spring-context.xsd">

        <!--扫描组件,让Spring托管-->
            <context:component-scan base-package="com.bjpowernode" />

        <!--加载配置-->
            <!-- ignore-unresolvable为true时,配置文件${}找不到对应占位符的值,直接赋值'${}' -->
            <context:property-placeholder location="classpath:jdbc.properties" ignore-unresolvable="true"/>

            <!--配置数据源druid-->
                    <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource">
                        <!--driverClassName可以不写,智能匹配-->
                        <property name="driverClassName" value="${jdbc.driver}" />
                        <property name="url" value="${jdbc.url}" />
                        <property name="username" value="${jdbc.username}" />
                        <property name="password" value="${jdbc.password}" />
                    </bean>

            <!--整合MyBatis-->
                    <!-- 配置 SqlSessionFactory -->
                    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
                        <!--读取mybatis的主配置-->
                        <property name="configLocation" value="classpath:mybatis.xml"/>
                        <!--衔接数据源,目前使用的是数据库连接池-->
                        <property name="dataSource" ref="dataSource" />
                        <!--批量起别名,放在beans包中【也就是实体】-->
                        <property name="typeAliasesPackage" value="com.bjpowernode.beans" />
                    </bean>
                    <!-- 配置Spring整合MyBatis,扫描包 -->
                    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
                        <!--注册MyBatis的映射文件-->
                        <property name="basePackage" value="com.bjpowernode.mapper" />
                        <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory" />
                    </bean>
</beans>
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
       https://www.springframework.org/schema/context/spring-context.xsd
       http://www.springframework.org/schema/mvc
       https://www.springframework.org/schema/mvc/spring-mvc.xsd">

        <!--扫描组件,让Spring托管-->
            <context:component-scan base-package="com.bjpowernode.controller" />

        <!--视图解析器-->
            <!--前缀目录为:/WEB-INF/jsp/-->
            <!--后缀扩展名为:.jsp-->
            <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
                <property name="prefix" value="/WEB-INF/jsp/" />
                <property name="suffix" value=".jsp" />
            </bean>

        <!--启用注解驱动-->
            <mvc:annotation-driven />

        <!--如果发现是静态资源的请求,就将该请求转由Web应用服务器默认的Servlet处理-->
            <mvc:default-servlet-handler />
</beans>

 

jdbc.properties
#数据库
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://127.0.0.1:3306/mydb?useUnicode=true&characterEncoding=utf-8&autoReconnect=true&useSSL=false&serverTimezone=UTC
jdbc.username=root
jdbc.password=root
mybatis.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>
        <!--SQL日志-->
        <setting name="logImpl" value="STDOUT_LOGGING"/>
    </settings>
</configuration>

6. 编写实体类beans

7. 编写持久层mapper

8. 编写业务层services

9. 编写index.jsp

10. 编写处理器controller

11. 配置Tomcat,添加war exploded包进去后,运行测试



总结:mybatis使持久层的代码简化了很多,不需要处理加载驱动、创建连接、创建 statement、关闭连接,资源等繁杂的过程。

spring-mvc使用注解也很方便。

标签:xml,jdbc,spring,ssm,整合,Spring,mybatis,org
From: https://www.cnblogs.com/lwj0126/p/16989755.html

相关文章

  • javaclient操作kafka&springboot整合kafka&kafka分区
    1.javaclient测试kafka1.配置kafka允许远程推送修改config/Kraft/server.properties文件,,将地址变为服务器公网IP地址。advertised.listeners=PLAINTEXT://localhost:90......
  • SSM整合环境搭建+Maven+IDEA
    优先推荐这个案例,真的超级详细,自己跟着一步一步做就可以了这篇案例做的也不错,可以看看。......
  • SSM常用注解与结构
    Mybatis:(一级缓存与二级缓存)注解:@param<selectid=""parameterType=""resultType=""resultMap="">....select,update,insert,delete</select>一对多与多对......
  • NSSM打包工具使用
    参考链接:https://blog.csdn.net/liyou123456789/article/details/123094277......
  • 【SSM框架】MyBatis的各种查询功能
    1.查询一个实体类对象/**根据用户id查询用户信息@paramid@return*/UsergetUserById(@Param("id")intid);<selectid="getUserById"resultType="User">select*......
  • ssm报错Could not open JDBC Connection for transaction; nested exception is com.m
    HTTPStatus500-Requestprocessingfailed;nestedexceptionisorg.springframework.transaction.CannotCreateTransactionException:CouldnotopenJDBCConnecti......
  • 3.整合MyBatis 3.1整合步骤
    第一步,按照第2.2节中的内容创建SpringBoot项目,项目创建完成之后打开pom.xml,添加如图3.1所示依赖  如图3.1    图中mybatis-spring-boot-starter是与MyBati......
  • Hive与HBase的整合
    开场白:Hive与HBase的整合功能的实现是利用两者本身对外的API接口互相进行通信,相互通信主要是依靠hive_hbase-handler.jar工具类(​​HiveStorageHandlers​​),大致意思......
  • SVN的配置和使用 整合VS10
    1.配置SVN服务器 1.1安装subversion(跨平台版本管理服务器) 1.2建立仓库reposity   命令:svnadmincreated:/reposity   利用Tortoise图形工具,创建仓......
  • SSM整合(spring-springmvc-mybatis)之HelloWorld
    一、目录结构  helloworld(SSM)创建步骤:步骤一:创建一个类型为DynamicWebProject 名称为ssm的项目步骤二:加入jar包:spring核心jar包:commons-logging-1.2.jarspring-bean......