博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Hibernate入门一
阅读量:7063 次
发布时间:2019-06-28

本文共 3121 字,大约阅读时间需要 10 分钟。

什么是Hibernate

Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,是一个关系数据库ORM框架。

Hibernate可以自动生成SQL语句,自动执行,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 (来自百度百科)

什么是ORM

ORM是Object Relational Mapping的简写,是一种程序技术,它实现了对象模型和关系模型之间的转换。

从理论效果上来说,它其实创建了一个可在编程语言里使用的“虚拟对象数据库”。

主流的ORM框架

1.JPA(JAVA Persistence API):通过JDK 5.0注解或XML描述对象-关系表的映 射关系(只有接口规范)

2.Hibernate:流行ORM框架,通过对象-关系映射配置,可以完全脱离底层SQL
3.MyBatis 本是apache的一个开源项目 iBatis,支持普通 SQL查询,存储过程和高级映射的优秀持久层框架
4.Apache DBUtils 、Spring JDBCTemplate

Hibernate优点

1.实现了对JDBC的封装,大大简化了持久层代码繁琐的重复性代码

2.简化了编码的工作
3.使用反射的机制
4.因为是一个轻量级的框架,性能非常好

初体验

准备工作

  1.导包
  2.编写JavaBean
  3.配置*.hbn.xml
  4.配置hibernate.cfg.xml

1.导包            核心包    必须包    驱动包2.编写JavaBeancreate database hibernate;use hibernate;create table t_user(  id int auto_increment primary key,  username varchar(20),  password varchar(20));public class User {    private int uid;    private String username;    private String password;    public int getUid() {        return uid;    }    public void setUid(int uid) {        this.uid = uid;    }    public String getUsername() {        return username;    }    public void setUsername(String username) {        this.username = username;    }    public String getPassword() {        return password;    }    public void setPassword(String password) {        this.password = password;    }    @Override    public String toString() {        return "User{" +                "uid=" + uid +                ", username='" + username + '\'' +                ", password='" + password + '\'' +                '}';    }}3.配置*.hbn.xml
4.配置核心文件
com.mysql.jdbc.Driver
jdbc:mysql///hibernate
robin
robin
true
true
update
org.hibernate.dialect.MySQLDialect
thread

接下来就是测试了

public void demo() {        // 加载hibernate核心配置文件        Configuration configuration = new Configuration();        configuration.configure();        // 创建SessionFactory封装对象        // 这个关系中,可能会根据映射关系创建表        SessionFactory sessionFactory = configuration.buildSessionFactory();        // 使用SessionFactory创建Session        // 类似Connection        Session session = sessionFactory.openSession();        // 开启事务        Transaction transaction = session.beginTransaction();        // crud        User user = new User();        user.setUsername("robin");        user.setPassword("123");        // 调用session进行添加操作        session.save(user);        // 提交事务        transaction.commit();        // 关闭资源        session.close();        sessionFactory.close();    }

转载于:https://blog.51cto.com/11815805/2164196

你可能感兴趣的文章
撰写合格的REST API
查看>>
infoq 七牛云CTO
查看>>
java: -source 1.6 中不支持 switch 中存在字符串.....
查看>>
4.8_获取页面元素的内容_getTable
查看>>
JavaScript的性能优化:加载和执行
查看>>
Block Formatting Contexts(块级格式化上下文)
查看>>
自己封装的BaseDao--更加灵活方便--hashmap
查看>>
struts2 中的 addActionError 、addFieldError、addAction
查看>>
es6 module模块
查看>>
<mvn:default-servlet-handler/>标签作用
查看>>
Java初始化顺序
查看>>
我的友情链接
查看>>
JS操作DOM的几个属性与方法
查看>>
我的友情链接
查看>>
磁盘空间满额报警shell脚本
查看>>
Flex中使用HTTPService与服务器端交换数据
查看>>
perl anyevent
查看>>
javaBean规范
查看>>
文件编码
查看>>
mysql创建远程帐号
查看>>