Hibernate原理及框架结构以增删改查语句
来源:互联网 发布:丹爷辣椒酱淘宝 编辑:程序博客网 时间:2024/05/29 19:31
什么是Hibernate?
hibernate是数据访问层的框架,对JDBC进行了封装,是针对数据库访问提出的面向对象的解决方案。
Hibernate的作用?
使用hibernate可以直接访问对象,Hibernate自动将此访问装换成sql执行,从而达到间接访问数据库的目的,简化了数据访问层的代码开发。
Hibernate与JDBC相比的优点:
自动生成sql语句;自动给参数赋值;自动将resultSet结果集转换成实体对象;采用一致的方法对数据库进行操作,移植性好。
ORM是什么?
ORM:对象关系映射,指的是java对象和关系数据库之间的映射。
ORM思想:就是将对象和数据库数据进行相互转换的思想,一般采用配置+反射来实现ORM。
Hibernate框架的设计原理:
hibernate采用ORM思想对Jdbc进行了封装,解决了对象与数据库的映射问题。hibernate提供了一系列API,允许我们直接访问实体对象,然后根据ORM映射关系,转换成sql并且去执行,从而达到访问数据库的目的。
Hibernate框架体系结构
2.1 主配置文件
Hibernate的主配置文件是一个xml文件,通常命名为Hibernate.cfg.xml
该文件中可以配置数据库连接参数,Hibernate框架参数,以及映射关系文件
2.2 实体类
实体类是与数据库表格对应的java类型,它是用于封装数据库记录的对象类型
2.3 映射关系文件
映射关系文件指定了实体类和数据表的对应关系,以及类中属性和表中字段之间的对应关系
Hibernate中使用XML文件来描述映射关系,文件通常命名为"实体类.hbm.xml",并放于实体类相同的路径下
2.4 底层API
Hibernate提供了一系列的底层API,基于ORM思想,对数据库进行访问。
这些API主要是对映射关系文件的解析,根据解析出来的内容,动态生成sql语句,自动将属性和字段进行映射。
Hibernate使用步骤
1 导入Hibernate包,以及数据库驱动包
2 引入Hibernate主配置文件hibernate.cfg.xml
3 创建实体类
4 创建映射关系文件
5 使用Hibernate的常用API进行增删查改操作
增:
public void add(){Session session = HibernateUtil.getSession();Transaction tran = session.beginTransaction();Music music = new Music();music.setMusicName("成都");music.setSinger("赵雷");music.setSize("3.2M");try {session.save(music);tran.commit();} catch (Exception e) {e.printStackTrace();tran.rollback();}finally{session.close();}}
删:
public void delete(){Session session = HibernateUtil.getSession();Transaction tran = session.beginTransaction();Music music = new Music();music.setId(11);session.delete(music);tran.commit();}
改:
public void update(){Session session = HibernateUtil.getSession();Transaction tran = session.beginTransaction();Music music = (Music)session.get(Music.class, 4);music.setMusicName("逆战");music.setSinger("张杰");session.save(music);tran.commit();}
查
public void findAll(){Session session = HibernateUtil.getSession();Query query = session.createQuery("from Music");List<Music> list = query.list();for(int i = 0;i < list.size();i++)System.out.println(list.get(i).getId()+ "--" + list.get(i).getMusicName() );}
public void findById(){Session session = HibernateUtil.getSession();Music m = (Music) session.get(Music.class, 2);System.out.println(m.getSinger()+"---");}
- Hibernate原理及框架结构以增删改查语句
- Hibernate增删查改语句
- Hibernate 的增删查改语句
- Hibernate增删改查的HQL语句
- Hibernate增删改查及HQL小结
- 增删改查语句
- hibernate增删查改
- hibernate增删改查
- Hibernate增删改查
- hibernate 增删改查
- hibernate 增删改查
- Hibernate 增删改查
- Hibernate增删改查
- hibernate 增删改查
- Hibernate增删改查
- Hibernate增删改查
- hibernate增删改查
- Hibernate--增删改查
- Java file方法的路径特性
- 页面跳转前对ToKen判断
- 【maven】单元测试
- Cocos2dx三种定时器的使用
- 两个页面传值时提取url后面的参数
- Hibernate原理及框架结构以增删改查语句
- Jetson Tx2下ORBSLAM2的安装
- centos 7 安装卸载apache(httpd)服务
- JSP学习笔记(四)------JSTL外链标签库
- Rails 发送邮件配置
- 逐梦旅程:Windows游戏编程之从零开始 21章源码鼠标移动视角倾斜问题
- 实体类组装json上传
- 剑指offer:数组中1出现的次数
- 导数概念的理解