美文网首页
JDBC和MyBatis的区别

JDBC和MyBatis的区别

作者: 雨林不落梦不落 | 来源:发表于2019-12-16 09:17 被阅读0次

    1.JDBC是java提供的操作数据库的api;

    传统JDBC操作数据

    需要连接数据库,注册驱动和数据库信息
    操作Connection,打开 Statement 对象 。
    通过Statement执行SQL, 返回结果到ResultSet对象。
    使用ResultSet读取数据,然后通过代码转化为具体的POJO对象。
    关闭数据库的相关资源。

    jdbc存在弊端:

    工作量相对较大,每次都要去创建,关闭,获取
    JDBC编程可能产生的异常进行捕捉处理并正确关闭资源

    2.MyBatis是一个支持普通SQL查询,存储过程和高级映射的持久层的框架。

    MyBatis是对JDBC的封装,它可以基于xml或者注解的方式进行配置和原始映射,消除了几乎所有的jdbc代码和参数的手动设置和对结果集的封装。
    MyBatis可以使用简单的XML配置,将接口和Java的POJO(普通的Java对象)映射成数据库中的记录。

    相对于JDBC,MyBatis具有以下优点:

    1.MyBatis通过dataSource实现数据库连接池的配置,实现了隔离解耦,统一从dataSource中获取数据库连接,具体实现通过让用户配置应对变化。
    2.MyBatis将所有的SQL统一放在配置文件(XXXMapper.xml)中统一管理,不需要再次编译,而传统的jdbc的SQL语句分布在代码中,修改之后需要再次编译。可读性差,不便于维护。
    3.MyBatis还可以通过标签动态的生成SQL语句。
    4.MyBatis可以直接将结果映射为自己需要的类型,如:Javabean,map,list等。而在使用jdbc时,我们要从返回的结果集ResultSet中获取结果封装为我们需要的类型中。

    相关文章

      网友评论

          本文标题:JDBC和MyBatis的区别

          本文链接:https://www.haomeiwen.com/subject/mmutnctx.html