系列一、MyBatis简介

本文分析了JDBC存在的问题,如资源浪费和代码维护困难,然后介绍了MyBatis作为优秀持久层框架如何通过XML配置和注解映射简化数据库操作,以及JPA作为替代方案。MyBatis尤其适合处理不规范的数据库和控制SQL执行。

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

一、JDBC存在的问题

(1)频繁地创建、释放数据库连接造成系统资源浪费从而影响性能,如果使用数据库连接池可以解决此问题;

(2)SQL语句在代码中硬编码,造成代码维护不易,实际应用中sql的变化可能较大,sql变动需要修改Java代码;

(3)使用preparedStatement占位符传递参数存在硬编码问题,因为sql语句的where条件不一定,可多可少,修改sql还要修改代码,系统不易维护;

(4)对结果集解析存在硬编码,sql变化导致解析代码变化,系统不易维护,如果能将数据库记录封装成pojo对象,解析比较方便;

        上面的问题,可以借助于第三方工具如DBUtils或者Spring中自带的数据库操作框架JdbcTemplate,都可以在一定程度上解决该问题。但是不完美,真正能解决这些问题的框架就是两大类,一类是MyBatis、一类是JPA。

二、MyBatis

2.1、概述

        MyBatis由iBatis演变而来,iBatis本是apache的一个开源项目,2010年这个项目由apache software foundation对iBatis做了改进后迁移到了google code,并且改名为MyBatis。MyBatis是一个优秀的持久层框架,它对JDBC操作数据库的过程进行了封装,开发者只需要关注sql本身,而不需要花费精力去处理例如注册驱动、创建连接、创建statement、手动设置参数、结果集检索等繁杂的过程代码。MyBatis通过xml或者注解的方式将要执行的各种statement(statement,preparedStatement,CallableStatement)配置起来,并通过Java对象和statement中的sql进行映射生成最终要执行的sql语句,最后由mybatis框架执行sql并将结果映射成Java对象并返回。与其他的关系映射框架不同,MyBatis没有将Java对象与数据库表关联起来,而是将Java方法与sql语句关联,MyBatis允许用户充分利用数据库的各种功能,例如存储过程、视图、各种复杂的查询以及数据库专有的特性。如果要对遗留数据库,不规范的数据库进行操作,或者要完全控制sql的执行,MyBatis是一个不错的选择。

2.2、官网

https://mybatis.org/mybatis-3/zh/index.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值