spring整合mybatis普通版及spring整合mybatis纯注解版

本文详细介绍了如何将Spring与MyBatis进行整合,分别讲解了普通版(基于XML配置)和纯注解版的整合步骤,包括Spring的IOC和AOP思想在整合中的应用,以及在实际项目中创建数据库表、bean、DAO接口、Service接口等操作,最后进行了测试验证整合效果。
摘要由CSDN通过智能技术生成

一、spring整合mybatis普通版(理论):

1 Spring的两大核心思想

        1、IOC:控制反转,Spring容器可以完成对象的创建,属性的注入,对象管理等工作

        2、Aop:面向切面,在不修改代码业务逻辑的情况下,实现原有的业务的增强

2 Spring可以对mybatis提供哪些支持?

        1、Spring-Ioc可以为mybatis完成DataSource、SqlSessionFactory、SqlSession以及Dao对象的创建

        2、Spring-Aop可以提供事物管理切面类完成对mybatis数据库中的事务管理。

3 将 MyBatis 与 Spring 进行整合,主要解决什么问题?

将 MyBatis 与 Spring 进行整合,主要解决的问题就是将 SqlSessionFactory 对象交由 Spring 来管理。所以,该整合,只需要将 SqlSessionFactory 的对象生成器 SqlSessionFactoryBean 注册在 Spring 容器中,再将其注入给 Dao 的实现类即可完成整合。

4 实现 Spring 与 MyBatis 的整合常用的方式:

扫描的 Mapper 动态代理 Spring 像插线板一样,mybatis 框架是插头,可以容易的组合到一起。插线板 spring 插上 mybatis,两个框架就是一个整体。 使用mybatis,需要创建mybatis框架中的某些对象,使用这些对象,就可以使用mybatis提供的功能了。

5 对于mybatis执行sql语句,需要用到的对象有:

SqlSessionFactory对象,只有创建了SqlSessionFactory对象,才能调用openSession()方法得到SqlSession对象。
dao接口的代理对象,例如StudentDao接口,需要的代理对象为:SqlSeesion.getMapper(StudentDao.class)。
数据源DataSource对象,使用一个更强大、功能更多的连接池对象代替mybatis自己的PooledDataSource

二、spring整合mybatis普通版(实操):

1 在实际的项目开发中,我们需要将MyBatis和Spring进行整合,通过Spring 的依赖注入以减少代码的耦合。

第一步:创建数据库表  
在Navicat下执行如下sql命令创建表User. 

drop table if exists t_user;
create table t_user (
uid int(11) primary key not null AUTO_INCREMENT,
username varchar(20),
birthday varchar(20),
sex varchar(5),
address varchar(50)
);

insert into t_user values (1, '张三', '2022-05-03', '男', '北京');
insert into t_user values (2, '李四', '2022-05-19', '男', '广州');
insert into t_user values (3, '小红', '2022-05-19', '女', '郑州');
insert into t_user values (4, '小美', '2022-05-20', '女', '郑州');
select * from t_user;

第二步:创建bean
创建一个model包并在其下创建一个User.java文件。

package com.su.bean;

public class User {
    private Integer uid;
    private String username;
    private String birthday;
    private String sex;
    private String address;

第三步:创建DAO接口  
创建一个包dao,并在其下创建一个UserDao.java文件作为DAO接口。 

package com.su.dao;

import com.su.bean.User;
import org.apache.ibatis.annotations.Select;
import org.springframework.stereotype.Repository;

import java.util.List;
@Repository
public interface UserDao {
    @Select("select * from t_user")
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值