何小豆儿在此 发表于 2024-11-6 09:11:40

SSM— spring,springMVC,mybatis整合

媒介

SSM整合重要是将mybatis交给spring管理;将spring容器交给tomcat启动;对于web的请求和访问交给springmvc处置惩罚
没啥好说的,重要是配置文件
依赖


    <dependencies>
      <!--测试依赖2个-->
      <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
            <scope>test</scope>
      </dependency>
      <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-test</artifactId>
            <version>5.3.23</version>
      </dependency>

      <!--工具依赖2个-->
      <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.30</version>
      </dependency>
      <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
            <version>1.7.36</version>
      </dependency>

      <!--web相关依赖5个-->
      <dependency>
            <groupId>javax.servlet.jsp</groupId>
            <artifactId>javax.servlet.jsp-api</artifactId>
            <version>2.3.3</version>
      </dependency>
      <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>4.0.1</version>
      </dependency>
      <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>5.3.25</version>
      </dependency>

      <dependency>
            <groupId>com.fasterxml.jackson.datatype</groupId>
            <artifactId>jackson-datatype-jsr310</artifactId>
            <version>2.14.2</version>
      </dependency>
      <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
            <version>2.15.2</version>
      </dependency>

      <!--数据库依赖-->
      <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.33</version>
      </dependency>
      <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>1.2.21</version>
      </dependency>

      <!--mybatis相关依赖-->
      <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.5.6</version>
      </dependency>
      <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis-spring</artifactId>
            <version>2.0.7</version>
      </dependency>
      <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-jdbc</artifactId>
            <version>5.2.12.RELEASE</version>
      </dependency>
      <!--spring-ioc依赖-->
      <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>5.3.25</version>
      </dependency>
      <!--分页插件-->
      <dependency>
            <groupId>com.github.pagehelper</groupId>
            <artifactId>pagehelper</artifactId>
            <version>5.2.1</version>
      </dependency>
    </dependencies> spring.xml-配置spring和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" 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 https://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd">
    <!--我们是要通过spring配置文件,完成service层以及Mapper层对象的创建-->
    <!--service层的类会在其上添加@Service注解,直接扫包就能创建bean-->
    <context:component-scan base-package="com.wngz.ssm.service"/>
    <!--创建数据访问层对象之前,必须链接数据库,就要用到数据源,必须知道连接的数据库信息-->
    <!--要知道所连接的数据库信息,必须导入数据库配置文件db.properties-->
    <context:property-placeholder location="classpath:db.properties"/>
    <!--配置druid数据源-->
    <bean class="com.alibaba.druid.pool.DruidDataSource" id="dataSource">
      <property name="driverClassName" value="${jdbc.driver}"/>
      <property name="username" value="${jdbc.username}"/>
      <property name="url" value="${jdbc.url}"/>
      <property name="password" value="${jdbc.password}"/>
    </bean>

    <!--如何创建Mapper实例呢,需要用到SqlSessionFactory-->
    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
      <property name="typeAliasesPackage" value="com.wngz.ssm.entity"/>

      <property name="dataSource" ref="dataSource"/>

      <property name="mapperLocations" value="classpath:mappers/*.xml"/>

      <property name="configuration">
            <bean class="org.apache.ibatis.session.Configuration">
<!--                <property name="logImpl" value="org.apache.ibatis.logging.stdout.StdOutImpl"/>-->
                <property name="mapUnderscoreToCamelCase" value="true"/>
            </bean>
      </property>

      <!--配置mybatis插件-->
      <property name="plugins">
            <array>
                <bean class="com.github.pagehelper.PageInterceptor">
                  <property name="properties">
                        <value>
                            <!--指定用哪个数据库-->
                            helperDialect=mysql
                            <!--是否合理化,当输入的页码大于最大页数时,返回最后一页-->
                            reasonable=true
                            <!--当页码为0时,查询全部-->
                            pageSizeZero=true
                        </value>
                  </property>
                </bean>
            </array>
      </property>
    </bean>
    <!--扫描mapper接口所在的包,使用上面的SqlSessionFactoryBean来创建Mappers接口实例-->
    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
      <property name="basePackage" value="com.wngz.ssm.mapper"/>
      <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/>
    </bean>

    <!--配置事务管理器-->
    <!--务必注意,这个DataSourceTransactionManager类的bean,它的id一定要设为transactionManager-->
    <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
      <!--mysql的事务归根结底还是要使用Connection。所以这里还需要配置数据源-->
      <property name="dataSource" ref="dataSource"/>
    </bean>

    <!--启动事务管理, transaction-->
    <tx:annotation-driven/>
</beans> springmvc.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">
    <context:component-scan base-package="com.wngz.ssm.controller"></context:component-scan>
    <!--    注册springmvc相关注解-->
    <mvc:annotation-driven></mvc:annotation-driven>
    <!--    让静态资源文件交给默认servlet处理-->
    <mvc:default-servlet-handler></mvc:default-servlet-handler>
</beans> db.properties

jdbc.driver=com.mysql.cj.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/community?serverTimezone=GMT%2B8
jdbc.username=root
jdbc.password=123456 mappers/*.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.wngz.ssm.mapper.UserInfoMapper">
    <!-- mybatis映射文件-->
    <select id="selectByName" resultType="com.wngz.ssm.entity.UserInfo">
      select id,
               username,
               password,
               type,
               remarks,
               create_time as createTime,
               status
      from userinfo
      where username = #{username}
          and status = 1
    </select>
</mapper>

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: SSM— spring,springMVC,mybatis整合