博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
hibernate学习(1)——helloworld
阅读量:4703 次
发布时间:2019-06-10

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

1、 框架体系结构

 

2、 hibernate入门

2.1 ORM框架

Hibernate是一个数据持久化层的ORM框架.

Object:对象,java对象,此处特指JavaBean

Relational:关系,二维表,数据库中的表。

Mapping:映射|映射元数据,对象中属性,与表的字段,存在对应关系。

2.2   什么是hibernate

1) Hibernate是轻量级JavaEE应用的持久层解决方案,是一个关系数据库ORM框架

2)ORM 就是通过将Java对象映射到数据库表,通过操作Java对象,就可以完成对数据表的操作

3) Hibernate提供了对关系型数据库增删改成操作

2.3    主流的ORM框架

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

2  Hibernate 最流行ORM框架,通过对象-关系映射配置,可以完全脱离底层SQL,全自动化

3  MyBatis  本是apache的一个开源项目 iBatis,支持普通 SQL查询,存储过程和高级映射的优秀持久层框架,半自动化

4  Apache DBUtils 、Spring JDBCTemplate

2.4 优点

1 Hibernate对JDBC访问数据库的代码做了封装,大大简化了数据访问层繁琐的重复性代码

2 Hibernate是一个基于jdbc的主流持久化框架,是一个优秀的orm实现,它很大程度的简化了dao层编码工作  session.save(User);

3  Hibernate使用java的反射机制

4 Hibernate的性能非常好,因为它是一个轻量级框架。映射的灵活性很出色。它支持很多关系型数据库,从一对一到多对多的各种复杂关系

3 hibernate 的helloworld

3.1  编写流程

l  1. 导入jar包

l  2. 创建数据库和表

l  3. 编写核心配置文件(hibernate.cfg.xml)--> 配置获得链接等参数

l  4. 编写映射文件 hibernate mapping(*.hbm.xml)

l  5 使用api测试

3.2 数据库和表

DROP TABLE IF EXISTS `t_user`;

CREATE TABLE `t_user` (
`id` int(10) NOT NULL auto_increment,
`name` varchar(20) default NULL,
`password` varchar(20) default NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

3.3  建立java工程并 导入jar包

 

 3.4  编写JavaBean + 映射文件

1  文件位置:javabean同包

2 文件名称:javabean同名

3  扩展名:*.hbm.xml

4  内容:

       添加约束

package com.alice.hibernate01.hello;public class User {    private int id;    private String name;    private String password;    public int getId() {        return id;    }    public void setId(int id) {        this.id = id;    }    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }    public String getPassword() {        return password;    }    public void setPassword(String password) {        this.password = password;    }    }

3.5   编写核心配置文件

com.mysql.jdbc.Driver
jdbc:mysql://localhost/hibernate
root
alice
true
true
update
org.hibernate.dialect.MySQLDialect
true

  3.6 测试

package com.alice.hibernate01.hello;import org.hibernate.Session;import org.hibernate.SessionFactory;import org.hibernate.Transaction;import org.hibernate.cfg.Configuration;import org.junit.Test;public class UserTest {   //1、读取配置文件   //2、根据配置创建factory   //3、通过获得操作数据库的session对象	//4、操作数据库	//5、关闭数据库	@Test	public void fun1(){		User user = new User();		user.setName("lil");		user.setPassword("123456");		   //1、读取配置文件		Configuration config = new Configuration().configure();		   //2、根据配置获得工厂 SessionFactory,相当于连接池		SessionFactory sessionFactory = config.buildSessionFactory();		   //3、通过获得操作数据库的session对象		Session session = sessionFactory.openSession();			//4、操作数据库,开启事务	  Transaction transaction = session.beginTransaction();	        //操作	    session.save(user);			//5、 提交事务 | 回滚事务	    transaction.commit();	        //6 释放资源--关闭session	    session.close();	        //7 释放资源--关闭工厂factory	    sessionFactory.close();	}}

  

转载于:https://www.cnblogs.com/snowwang/p/6115297.html

你可能感兴趣的文章
PHP echo 和 print 语句
查看>>
第一讲 一个简单的Qt程序分析
查看>>
Centos 6.5下的OPENJDK卸载和SUN的JDK安装、环境变量配置
查看>>
poj 1979 Red and Black(dfs)
查看>>
【.Net基础03】HttpWebRequest模拟浏览器登陆
查看>>
zTree async 动态参数处理
查看>>
Oracle学习之常见错误整理
查看>>
数据库插入数据乱码问题
查看>>
altium annotate 选项设置 complete existing packages
查看>>
【模式识别与机器学习】——SVM举例
查看>>
【转】IT名企面试:微软笔试题(1)
查看>>
IO流入门-第十章-DataInputStream_DataOutputStream
查看>>
DRF的分页
查看>>
Mysql 模糊匹配(字符串str中是否包含子字符串substr)
查看>>
python:open/文件操作
查看>>
流程控制 Day06
查看>>
Linux下安装Tomcat
查看>>
windows live writer 2012 0x80070643
查看>>
tomcat 和MySQL的安装
查看>>
git常用操作
查看>>