Hibernate第一篇【介绍Hibernate,简述ORM,快速入门】

本文介绍了Hibernate作为ORM框架的作用,解释了为何在Java开发中使用Hibernate以简化数据库操作。概述了ORM思想,即对象关系映射。接着,文章提供了Hibernate的快速入门步骤,包括引入jar包,配置对象和映射文件,以及主配置文件的设置。在测试部分,强调了JavaBean主键类型的重要性。
摘要由CSDN通过智能技术生成

前言

前面已经学过了Struts2框架了,紧接着就是学习Hibernate框架了…本博文主要讲解介绍Hibernate框架,ORM的概念和Hibernate入门

什么是Hibernate框架?

Hibernate是一种ORM框架,全称为 Object_Relative DateBase-Mapping,在Java对象与关系数据库之间建立某种映射,以实现直接存取Java对象

为什么要使用Hibernate?

既然Hibernate是关于Java对象和关系数据库之间的联系的话,也就是我们MVC中的数据持久层->在编写程序中的DAO层…

首先,我们来回顾一下我们在DAO层写程序的历程吧:

  1. 在DAO层操作XML,将数据封装到XML文件上,读写XML文件数据实现CRUD
  2. 在DAO层使用原生JDBC连接数据库,实现CRUD
  3. 嫌弃JDBC的Connection\Statement\ResultSet等对象太繁琐,使用对原生JDBC的封装组件–>DbUtils组件

我们来看看使用DbUtils之后,程序的代码是怎么样的:

public class CategoryDAOImpl implements zhongfucheng.dao.CategoryDao {
   

    @Override
    public void addCategory(Category category) {

        QueryRunner queryRunner = new QueryRunner(Utils2DB.getDataSource());

        String sql = "INSERT INTO category (id, name, description) VALUES(?,?,?)";
        try {
            queryRunner.update(sql, new Object[]{category.getId(), category.getName(), category.getDescription()});

        } catch (SQLException e) {
            throw new RuntimeException(e);
        }
    }

    @Override
    public Category findCategory(String id) {
        QueryRunner queryRunner = new QueryRunner(Utils2DB.getDataSource());
        String sql = "SELECT * FROM category WHERE id=?";

        try {
            Category category = (Category) queryRunner.query(sql, id, new BeanHandler(Category.class));

            return category;

        } catch (SQLException e) {
            throw new RuntimeException(e);
        }

    }

    @Override
    public List<Category> getAllCategory() {
        QueryRunner queryRunner = new QueryRunner(Utils2DB.getDataSource());
        String sql = "SELECT * FROM category";

        try {
            List<Category> categories = (List<Category>) queryRunner.query(sql, new BeanListHandler(Category.class));

            return categories;
        } catch (SQLException e) {
            throw  new RuntimeException(e);
        }

    }
}

其实使用DbUtils时,DAO层中的代码编写是很有规律的。

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

也就是说:javaBean对象和数据表中的列存在映射关系!如果程序能够自动生成SQL语句就好了….那么Hibernate就实现了这个功能!

简单来说:我们使用Hibernate框架就不用我们写很多繁琐的SQL语句,

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值