zoukankan      html  css  js  c++  java
  • orm选型,为什么选择mybatis?

    1、JDBC

    Class.forName("com.mysql.jdbc.Driver");
    Connection conn = (Connection) DriverManager.getConnection("jdbc:mysql://localhost:3306/demo", "root", "123456");
    PreparedStatement pstmt = (PreparedStatement) conn.prepareStatement(sql);
    pstmt.setString(1, "");
    pstmt.executeUpdate();
    pstmt.close();
    conn.close();

    传统的JDBC做一次数据库操作,需要4个操作,类加载、获取连接、执行sql、关闭连接。 它的工作量大,业务和技术混合在一起,并且需要手动关闭连接。对于使用者来说,它非常不友好。

    2、什么是ORM模型?

     orm英文意思是对象关系映射 Object-relation-mapper,简单理解就是将数据库表与java实体对象做一个映射。

     orm的优点:符合面向对象编程;技术与业务解耦,开发时不需要关注数据库的连接与释放;

     常用的orm模型有:hibernate和mybatis,互联网公司一般都使用mybatis。

     hibernate的缺点:全表映射;无法自定义组装sql;对复杂sql的支持弱,对sql调优不友好;不支持存储过程;性能差。

     hibernate的优点:适合小型系统,开发快。

    3、mybatis的优缺点

      优点:基于底层sql,sql优化方便;容易学习,高度灵活;

      缺点:代码量大【可利用MGB —— mybatis代码生成器】

    4、mybatis的三要素

      mapper.xml、dao接口、entity实体类。

    5、mybatis一次连接

      SqlSessionFactoryBuilder:读取配置信息创建SqlSessionFactory,它的生命周期仅仅限于创建。

      SqlSessionFactory:它用来创建Sqlsession。它的生命周期是整个应用,在应用启动时创建,应用停止时消亡。

      Sqlsession:一次sql会话,可以直接发送sql执行,也可以调用dao与mapper映射的sql语句执行,它是线程不安全的,必须保证线程独享。

    6、mybatis的配置方式

      基于xml:即编写mapperXml文件。

      基于注解:即利用@Select @Insert @update 等等。 这种方式基本上不使用。它有很多缺点:编写负责,主要是字符串拼接麻烦,不易于编写负责sql语句;如果业务变动,代码调整幅度太大,即不易于扩展,伸缩性差。

  • 相关阅读:
    selenium Grid2 分布式自动化测试环境搭建
    Python Appium 开启Android测试之路
    C#导出数据到CSV和EXCEL文件时数字文本被转义的解决方法
    浅谈 DML、DDL、DCL的区别
    让EntityFramework6支持SQLite
    System.Drawing.Color的颜色对照表
    清除远程桌面连接记录和SQLSERVER 连接记录的办法
    Jquery操作select选项集合!
    asp.net 模拟CURL调用微信公共平台API 上传下载多媒体文件接口
    Log4net 根据日志类别保存到不同的文件,并按照日期生成不同文件名称
  • 原文地址:https://www.cnblogs.com/greys/p/10811839.html
Copyright © 2011-2022 走看看