zoukankan      html  css  js  c++  java
  • Mybatis

    一、Mybatis简介 

      Mybatis是支持普通SQL查询,存储过程和高级映射的优秀持久层框架。Mybatis消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。Mybatis使用简单的XML或注解用于配置和原始映射,将接口和javaPOJOs映射成数据库的记录。

         MyBatis任务:
      1.
    根据 JDBC 规范建立与数据库的连接;
      2.
    通过Annotaion/XML+JAVA反射技术,实现 Java 对象与关系数据库之间相互转化。

    二.Mybatis与hibernate区别:

    Mybatis

    1、轻量级的半自动的框架,侧重于POJOSQL语句的映射,并完美支持对存储过程的映射

    2、注重POJOSQL之间的映射关系。不会为程序员在运行期自动生成 SQL

    3、自动化程度低、手工映射SQL灵活程度高

    4、需要开发人员熟炼掌据SQL语句

    Hibernate

    1、提供从 POJO 到数据库表的全套映射机制

    2、会自动生成全套SQL语句。

    3、因为自动化程度高、映射配置复杂,api也相对复杂,灵活性低

    4、开发人同不必关注SQL底层语句开发

    三.Mybatis核心接口与方法- SqlSessionFactory

    SqlSessionFactory实例为Mybatis切入点,使用MyBatis提供的一系列数据访问功能。SqlSessionFactory实例是SqlSession的工厂类,通过SqlSessionFactory获取SqlSession实例

    import org.apache.ibatis.io.Resources;

    ……

    private static SqlSessionFactorysqlSessionFactory = null;

    ……

    if (sqlSessionFactory == null) {

      String rs = "Configuration.xml";

      Reader reader = null;

      try {

      reader = Resources.getResourceAsReader(rs);

      } catch (IOException e) {

      e.printStackTrace();

      }

      sqlSessionFactory=new SqlSessionFactoryBuilder().build(reader);

    }

    四、Mybatis核心接口与方法- SqlSession

    SqlSession是使用MyBatis的最主要的接口。通过这个接口你可以执行命令、获取映射以及管理事务。

    SqlSession 的获取

    Reader reader = Resources.getResourceAsReader("configuration.xml"); 

    SqlSessionFactorysqlSessionFactory =  new SqlSessionFactoryBuilder().build(reader);

    SqlSessionsqlSession = sqlSessionFactory.openSession();

    dataSource数据源类型有三种: UNPOOLED POOLED JNDI

    UNPOOLED - 这个数据源实现只是在每次请求的时候简单的打开和关闭一个连接。虽然这有点慢,但作为一些不需要性能和立即响应的简单应用来说 ,不失为一种好选择 。

    POOLED - 这个数据源缓存 JDBC 连接对象用于避免每次都要连接和生成连接实例而需要的验证时间 。对于并发 WEB 应用,这种方式非常流行因为它有最快的响应时间。

    JNDI - 这个数据源实现是为了准备和 Spring 或应用服务一起使用,可以在外部也可以在内部配置这个数据源,然后在 JNDI 上下文中引用它。

  • 相关阅读:
    《构建之法》第四章读后感
    复利计算-单元测试
    hadoop 不同URLTitle文件提取关联URL
    全角转半角-半角转全角
    leetcode unique binary search Tree
    leetcode validBST
    leetcode -- Flatten Binary Tree to Linked List
    堆排序
    比较字符串总结:如果计算两个字符串的相似度或者距离
    leetcode Populating Next Right Pointers in Each Node
  • 原文地址:https://www.cnblogs.com/charles-dxb/p/3586465.html
Copyright © 2011-2022 走看看