Mybatis初学,mybatis 理解Spring整合mybatis

spring的spring-mybatis.xml

这里我就不详细描述了,晚上实在是太多了
https://blog.csdn.net/weixin_41910059/article/details/82659238
这个大佬写的还是不错,你可别删啊,跪求!!!

spring对于ORM 的整合(以mybatis为例)

  1. 配置spring所需的数据源(一个或者多个)
  2. 创建sessionFactoryBean (一般来说这个sessionFactroy 包含实体类和CRUD 所需要的功能文件
  3. 将功能代理注入到Spring
    spring 连接数据库需要数据源,形式有很多种,一般比较常用而且推荐的方式是JNDI 数据源和数据连接池。这里不多做论述。
    为spring 数据访问服务的本质是Session 接口,这个接口中有各种访问数据库的参数,而获取 Session 对象的标准方式是通过session Factory ,而为了符合spring 框架的低耦合性质,所以就是sessionFactoryBean的形式,这个factory需要的是映射的规则和方法的信息,用来创建访问功能的代理
    SessionFactory 能都控制 Session的打开、关闭以及管理
    有了个功能代理,为了减少程序的耦合性,这里依然用接口的形式进行解耦合,这样就出现了功能接口也就是我们平时使用的DAO接口(或者Map接口)
    注解方式:
@Bean(name="sqlSessionFactory")
    public SqlSessionFactoryBean sessionFactory(@Value("classpath:/db/mybatis-config.xml") Resource configLocation) throws PropertyVetoException, IOException {

        SqlSessionFactoryBean ssfb = new SqlSessionFactoryBean();
//        设置数据源
        ssfb.setDataSource(dataSource());
//       设置mybatis 全局配置文件
        ssfb.setConfigLocation(configLocation);
//        扫描实体类包,使用别名
        ssfb.setTypeAliasesPackage("red.Minortone.pojo");
        PathMatchingResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();
        //Resource[] resources = resolver.getResources("classpath*:red.Minortone/mapper/*Mapper.xml");
        ssfb.setMapperLocations(resolver.getResources("classpath*:red.Minortone/mapper/*Mapper.xml"));
        /*System.out.println(resources.length);
        for(Resource resource:resources){
            System.out.println(resource.getURL());
        }*/
        return ssfb;
    }

    @Bean
    public MapperScannerConfigurer scannerConfigurer(){
        MapperScannerConfigurer msc = new MapperScannerConfigurer();
        msc.setSqlSessionFactoryBeanName("sqlSessionFactory");
        msc.setBasePackage("red.Minortone.dao");
        msc.setAnnotationClass(Repository.class);
        return  msc;
    }

mybatis的工作理解

DAO层功能接口 -》 MapperScannerConfigurer (mapper 扫描配置) -》 SqlSessionFactoryBean(sessionfactory) -》 SQLSession -》 Mybatis 功能实现

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值