mybatis与jdbc比较

本文介绍了MyBatis框架的基本概念及其相较于JDBC的优势。MyBatis简化了数据库操作,通过配置文件实现SQL语句的管理及结果映射,提高了开发效率。

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

https://blog.youkuaiyun.com/u011305680/article/details/60879953

                    版权声明:                        https://blog.youkuaiyun.com/u011305680/article/details/60879953                    </div>
                                                <link rel="stylesheet" href="https://csdnimg.cn/release/phoenix/template/css/ck_htmledit_views-cd6c485e8b.css">
                                    <div id="content_views" class="markdown_views prism-tomorrow-night">
                <!-- flowchart 箭头图标 勿删 -->
                <svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
                    <path stroke-linecap="round" d="M5,0 0,2.5 5,5z" id="raphael-marker-block" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></path>
                </svg>
                                        <p>什么是 MyBatis ?</p>

MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。

现在的团队使用jdbc的越来越少,更多的开始使用mybatis,但作为依然使用jdbc内核的mybatis来说,它比jdbc的优点又在什么地方呢?
从原理上来说:

 1 //JDBC的步骤,1.加载驱动。2.获取连接。3.执行sql语句。4.处理结果集。5.关闭资源
 2 Class.forName("com.mysql.jdbc.Driver").newInstance();
 3 Connection conn=DrivateManager.getConnection(url,username,password);
 4 java.sql.PrepareStatement st=conn.prepareStatement(sql);
 5 st.setInt(0,1);
 6 st.execute();
 7 java.sql.ResultSet rs=st.getResultSet();
 8 while(rs.next()){
 9   String resultString=getString(columnname);      
10 }
11 //MyBatis的mapper配置文件
12 <mapper namespace="com.dao.UserMapper">
13     <select ifd="getList" resulType="user" parameterType="user">
14         select * from user
15     </select>
16 </mapper>

 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

mybatis是将JDBC的几行代码分解包装

2,3行:是对数据库的数据源管理包括事务管理
4,5行:mybatis通过配置文件来管理Sql以及输入参数的映射
7,8,9行:mybatis获取返回结果到java对象的映射,也通过配置文件管理

由此带来的,mybatis的优势在与以下几点:

  1. DAO层代码可以通过现有插件直接生成,大大提高编码效率和准确性。
  2. mybatis已有的连接池管理,缓存管理等所带来的代码性能优势和可靠性。
  3. 一致的编码风格大大减少代码的沟通成本;
  4. mybatis提供了一级和二级缓存(需要配置打开),强大的动态sql,自动化的session管理,都比手工维护来的方便和安全。
  5. 不用重复写resultset到domain的转化了。
  6. 相似的sql不需要重复写。
                                </div>
            <link href="https://csdnimg.cn/release/phoenix/mdeditor/markdown_views-e44c3c0e64.css" rel="stylesheet">
                </div>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hello_world!

你的鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值