Hibernate入门这一篇就够了(一)

前言


本博文主要讲解介绍Hibernate框架,ORM的概念和Hibernate入门,相信你们看了就会使用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语句,从而简化我们的开发!


ORM概述

在介绍Hibernate的时候,说了Hibernate是一种ORM的框架。那什么是ORM呢?ORM是一种思想


  • O代表的是Objcet
  • R代表的是Relative
  • M代表的是Mapping


ORM->对象关系映射….ORM关注是对象与数据库中的列的关系

Hibernate入门这一篇就够了(一)这里写图片描述

上一篇:关于linux内核cpu进程的负载均衡


下一篇:食品安全溯源区块链解决方案探索1