Java持久层框架Hibernate和Mybatis简介(粗略了解)

Hibernate

是什么?

Hibernate是一种ORM(对象关系映射)框架,在Java对象与关系数据库之间建立某种映射,以实现直接存取Java对象。
Hibernate是关于Java对象和关系数据库之间的联系

为什么?

如果不使用Hibernate,DAO层中的代码编写规律如下:

  • 当插入数据的时候,就将JavaBean对象拆分,拼装成SQL语句
  • 当查询数据的时候,用SQL把数据库表中的列组合,拼装成JavaBean对象

也就是说:javaBean对象数据表中的列存在映射关系!
Hibernate就实现了自动生成SQL语句的功能,使用Hibernate框架就不用写很多繁琐的SQL语句,从而简化我们的开发

怎么用?

  1. 导入jar包
    mysql-connector-java-3.0.14-production-bin.jar
    jta.jar
    hibernate2.jar
    cglib-full-2.0.2.jar
    commons-collections-2.1.1.jar
    commons-logging-1.0.4.jar
    dom4j-1.4.jar
    ehcache-0.9.jar
    log4j-1.2.8.jar
    odmg-3.0.jar

  2. 配置相关的XML文件

  • 编写一个User对象->User.java
  • 编写对象映射:User.hbm.xml。一般和JavaBean对象放在同一目录下
  • 编写主配置文件:hibernate.cfg.xml。主要包括: 数据库的信息、其他参数、加载映射文件
    • 数据库信息:常用的配置信息都可以在hibernate.properties文件中找到
    • 其他参数:常用的几个:
     <!-- 2. 其他相关配置 -->
        <!-- 2.1 显示hibernate在运行时候执行的sql语句 -->
        <property name="hibernate.show_sql">true</property>
        <!-- 2.2 格式化sql -->
        <property name="hibernate.format_sql">true</property>
        <!-- 2.3 自动建表  -->
        <property name="hibernate.hbm2ddl.auto">update</property>
    
    • 映射文件:在Configuration对象中提供了addClass()的方法
  • 编写执行程序,执行完程序后,Hibernate就为我们创建对应的表,并把数据存进了数据库
  1. 熟悉API

Mybatis

是什么

MyBatis,是一个基于Java的持久层框架,也是ORM的一种实现框架,是对JDBC的一种封装

为什么

Mybatis、jdbc和Hibernate都是持久层的技术。Mybatis就是jdbc和Hibernate之间的一个平衡点。
jdbc的SQL语句都要程序员写,太麻烦,而Hibernate的SQL都不用程序员写,很简便但是开发复杂程序时灵活度差。所以现在Mybatis很流行

怎么用

先准备一张表、一个实体类

  1. 导入jar包
    mybatis-3.1.1.jar
    commons-logging-1.1.1.jar
    log4j-1.2.16.jar
    cglib-2.2.2.jar
    asm-3.3.1.jar
    mysql-connector-java-5.1.7-bin.jar //导入mysql开发包
  2. 创建mybatis配置文件:配置数据库的信息
  3. 编写工具类测试是否获取到连接:使用Mybatis的API来创建一个工具类,通过mybatis配置文件与数据库的信息,得到Connection对象
  4. 创建实体与映射关系文件
  5. 编写DAO
  6. 编写SQL指令:Mybatis实体与表的映射文件中提供了insert标签【SQL代码片段】

Mybatis工作流程

    通过Reader对象读取Mybatis配置文件
    通过SqlSessionFactoryBuilder对象创建SqlSessionFactory对象
    获取当前线程的SQLSession
    事务默认开启
    通过SQLSession读取映射文件中的操作编号,从而读取SQL语句
    提交事务
    关闭资源
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值