mybatis与jdbc比较

    xiaoxiao2021-03-25  128

    什么是 MyBatis ?

    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>

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

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

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

    DAO层代码可以通过现有插件直接生成,大大提高编码效率和准确性。mybatis已有的连接池管理,缓存管理等所带来的代码性能优势和可靠性。一致的编码风格大大减少代码的沟通成本;mybatis提供了一级和二级缓存(需要配置打开),强大的动态sql,自动化的session管理,都比手工维护来的方便和安全。不用重复写resultset到domain的转化了。相似的sql不需要重复写。
    转载请注明原文地址: https://ju.6miu.com/read-5186.html

    最新回复(0)