三步就能学会Spring 和Mybatis整合(SSM)

本文介绍了Spring与MyBatis的整合方法,包括依赖管理、数据源配置、SqlSessionFactory配置等关键步骤,并提供了原始DAO开发方式的具体示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 前言
spring是一个轻量级的控制反转和面向切面的容器框架。
控制反转,也被成为依赖注入。不去创建对象,但是描述创建它们的方式,在代码中不直接与对象和服务连接,但在配置文件中描述哪一个组件需要哪一项服务。容器(IOC)将这些联系到一起。
Mybatis 是支持普通sql查询,存储过程和高级映射的优秀持久层框架,它消除了几乎所有jdbc代码和参数的手工设置以及结果集的检索。
2 整合思路
需要spring通过单例方式管理sqlsessionfactory
spring和mybatis整合生成代理对象,使用sqlsessionfactory创建sqlsession(spring和mybatis整合自动完成)
持久层的mapper都需要由spring进行管理。
3 嘎试(开整)
1 导jar包
需要导spring包 mybatis包 之外,不要忘了导两者的整合包(包括spring-mvc,早期ibatis和spring整合是由spring官方提供,mybatis和spring整合由mybatis提供)
33个
2 配置资源文件(主要是数据源 会话工厂)

<!-- 加载配置文件 -->
    <context:property-placeholder location="classpath:db.properties" />

    <!-- 数据源,使用dbcp -->
    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
        destroy-method="close">
        <property name="driverClassName" value="${jdbc.driver}" />
        <property name="url" value="${jdbc.url}" />
        <property name="username" value="${jdbc.username}" />
        <property name="password" value="${jdbc.password}" />
        <property name="maxActive" value="10" />
        <property name="maxIdle" value="5" />
    </bean>


    <!-- sqlSessinFactory -->
    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <!-- 加载mybatis的配置文件 -->
        <property name="configLocation" value="mybatis/SqlMapConfig.xml" />
        <!-- 数据源 -->
        <property name="dataSource" ref="dataSource" />
    </bean>

3 接下来以原始dao开发方式介绍作为例子:
原始的(有DaoImpl)

依然写好User.xml

User.xml
在SqlMapconfig.xml 中加载User.xml

<mappers>
<mapper resource = "sqlmap/User.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>
    <!-- 别名定义 -->
    <typeAliases>
        <!-- 批量别名定义 
        指定包名,mybatis自动扫描包中的po类,自动定义别名,别名就是类名(首字母大写或小写都可以)
        -->
        <package name="cn.itcast.ssm.po"/>
        </typeAliases>
    <!-- 加载 映射文件 -->
    <mappers>
        <mapper resource="sqlmap/User.xml"/>
        <!-- <package name="cn.itcat.ssm.mapper"/> -->
    </mappers>  
</configuration>

然后写dao接口,dao接口实现类,dao接口实现类需要注入sqlsessionfactory
接下来在applicationcontext.xml中声明配置。在beans中添如下

<!-- 原始dao接口 -->

    <bean id="userDao" class="cn.itcat.ssm.dao.UserDaoImpl">
        <property name="sqlSessionFactory" ref="sqlSessionFactory"/>
    </bean>

注意,我们已经让daoImpl 继承了sqlsessionDaoSupport.方便利用this.getSqlSession.之后你就能对之测试了;
测试代码贴上
这里写图片描述
想了解更详细点 欢迎到我的github进行下载

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值