简单介绍Mybatis

1、为什么要用ORM模型?

传统的JDBC方式访问数据库比较复杂,首先要建立连接获取Connection对象,然后打开Statement对象,执行SQL语句得到ResultSet对象,通过ResultSet读取数据,通过代码转化为具体的POJO对象,最后还要一一关闭这些数据库资源。

ORM模型就是数据库表和简单Java对象的映射关系模型,有了ORM模型,大部分情况下,我们无需对数据库知识深入了解就可以开发通俗易懂的程序。

2、Hibernate和Mybatis的优缺点

hibernate是一款优秀的ORM模型,提供全表映射,不需要编写SQL语句,只要使用HQL语句(面向对象的查询语句)就可以了。它也不需要操控多个对象,只要操作session即可,开发效率较高。

缺点:因为提供全表映射,更新时需要更新所有字段,浪费网络资源;使用HQL,对多表关联和复杂的SQL查询支持较差,也无法优化SQL。

mybatis弥补了这些缺点,它是一个半自动映射的框架,除了提供POJO和映射规则,还需要自己提供SQL语句,所以可以自己控制更新那些字段,也可以支持一些复杂的或者需要优化性能的SQL查询,并且可以根据表名和列名的变化动态调整SQL。

缺点:需要自己配置SQL,开发工作量比Hibernate大。

3、Mybatis主要组件生命周期

SqlSessionFactoryBuilder:通过xml配置文件构建SqlSessionFactory,一旦构建好了SqlSessionFactory就可以将它回收,生命周期只存在于方法中。

SqlSessionFactory:用来创建SqlSession,存在于mybatis应用整个生命周期中,采用单例模式,一个数据库对应一个SqlSessionFactory。

SqlSession:线程不安全,用来执行SQL或者获取Mapper对象,生命周期在请求数据库处理事务的过程中,用完需要及时关闭,不然会影响数据库的性能。

Mapper:用来执行SQL语句,生命周期存在于SqlSession事务方法之内。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值