1.Hibernate定位

HIbernate是一款实现了ORM思想的框架

JDO

TOpLink

2.HIbernate初次解释

Hibernate:冬眠,蛰伏 和持久化有关系

将内存中data持久化到咱们的硬盘的db中。

HIbernate的作为:

3.一个简单案例:

1.构建了一个Student实体类

public class Student {

private Integer id;

//name

private String name;

//age

private Integer age;

}

2.构建一个大配置

在src根目录下书写

Hibernate.cfg.xml

<?xml version='1.0' encoding='utf-8'?>

<!DOCTYPE hibernate-configuration PUBLIC

"-//Hibernate/Hibernate Configuration DTD 3.0//EN"

"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">

<<hibernate-configuration>

<session-factory>

<property name="connection.driver_class">oracle.jdbc.OracleDriver</property>

<property name="connection.url">jdbc:oracle:thin:@localhost:1521:orcl</property>

<property name="connection.username">sb</property>

<property name="connection.password">sb</property>

<!-- 输出所有 SQL 语句到控制台。 -->

<property name="hibernate.show_sql">true</property>

<!-- 在 log 和 console 中打印出更漂亮的 SQL。 -->

<property name="hibernate.format_sql">true</property>

<!-- 方言 -->

<property name="hibernate.dialect">    org.hibernate.dialect.Oracle10gDialect</property>

<!-- 关联小配置 -->

</session-factory>

</hibernate-configuration>

3.构建小配置,和实体类对应的

Student.hbm.xml

<?xml version='1.0' encoding='utf-8'?>

<!DOCTYPE hibernate-mapping PUBLIC

"-//Hibernate/Hibernate Mapping DTD 3.0//EN"

"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">

<hibernate-mapping package="cn.happy.entity">

<class name="Student" table="Student">

<id name="id" type="int" column="id">

</id>

<property name="name" type="string" column="name"/>

<property name="age" type="int" column="age"/>

</class>

</hibernate-mapping>

4.测试代码

对session进行探究。

Session.save(stu);

package cn.happy.test;

import org.hibernate.SessionFactory;

import org.hibernate.Transaction;

import org.hibernate.cfg.Configuration;

import org.hibernate.classic.Session;

import org.junit.Test;

import cn.happy.entity.Student;

public class H_01Test {

@Test

public void testAdd(){

//1.1构建一个学生对象

Student stu=new Student();

stu.setAge(18);

stu.setName("2016年8月28日09:21:09训练营");

stu.setId(3);

//1.2 找到和数据库的接口      xxx========session--->sessionFactory--->configure.buildSessionFactory()

//咱们要想打通和db通道

Configuration cf=new Configuration().configure("hibernate.cfg.xml");

SessionFactory factory = cf.buildSessionFactory();

Session session = factory.openSession();

Transaction tx = session.beginTransaction();

//1.3保存

session.save(stu);

tx.commit();

session.close();

}

}

-------------------------------------------------------------*************************************************

4.关于ORM

Object Relational Mapping 对象/关系 映射。

------------------------------------------------*********************************------------------------------------------------------------************************

5.用HIbernate实现删除,修改和查询

/**

* 1.1 删除学生

*/

@Test

public void delTest(){

Session session = HibernateUtil.getSession();

Student stu=new Student();

stu.setId(2);

Transaction tx = session.beginTransaction();

session.delete(stu);

tx.commit();

HibernateUtil.closeSession();

System.out.println("del ok!");

}

/**

* 1.2 修改学生

*/

@Test

public void updateTest(){

Session session = HibernateUtil.getSession();

//不被上下文跟踪对象

/*Student stu=new Student();

stu.setId(3);

stu.setName("美男子");*/

//方式二:如何用呗上下文跟踪的方式

//检索出一条记录,一个实体对象

Student stu= (Student)session.load(Student.class,3);

stu.setName("美女");

Transaction tx = session.beginTransaction();

session.update(stu);

tx.commit();

HibernateUtil.closeSession();

System.out.println("update ok!");

}

6.反射

Class 一个类型的类型

Class clazz= Student.class;

拿到的是学生类的字节码

关于Hibemate的更多相关文章

  1. 2016年7款最流行的Java框架

    虽然Java一直被唱衰,但是直到现在Java也坚持霸主地位不动摇,毫无疑问,Java是目前最热门的编程语言之一,所以我们为大家搜集了一些目前比较受欢迎的Java框架的消息. 根据RebelLabs对在 ...

  2. 现在企业开发时,Java所用到的主流框架有哪些?

    虽然Java一直被唱衰,但是直到现在Java软件开发也坚持霸主地位不动摇.毫无疑问,Java是目前最热门的编程语言之一.随着Java面向对象语言的流行以及多层架构应用的出现,使得应用程序的可复用性得到 ...

  3. Java基础学习(一)---Java初识

    一.Java介绍 关于Java的诞生和发展网上比较多,在此就不再赘述了,可以参考http://i.cnblogs.com/EditArticles.aspx?postid=4050233. 1.1 J ...

  4. 现在的企业用到的Java开发主流框架有哪些

    虽然Java一直被唱衰,但是直到现在Java软件开发也坚持霸主地位不动摇.毫无疑问,Java是目前最热门的编程语言之一.随着Java面向对象语言的流行以及多层架构应用的出现,使得应用程序的可复用性得到 ...

  5. Java开发MIS系统需要的技术及其作用

    1.后台框架部分,常用spring.struts2(Struts2框架,提供了一种基于MVC体系结构的工程序的开发方法,具有组件模块化.灵活性和重用性等优点,使基于MVC模式的程序结构更加清晰,同时也 ...

  6. Java web相关内容

    我们即将学习Java web 这是通过查阅资料找到的和Java web 相关的内容. 一:Java web的含义 JavaWeb,是用Java技术来解决相关web互联网领域的技术总和.web包括:we ...

  7. 分享几款流行的Java框架

    虽然Java一直被唱衰,但是直到现在Java软件开发也坚持霸主地位不动摇,毫无疑问,Java是目前最热门的编程语言之一,下面分享几个个人认为还不错的Java框架,以及各自的优缺点,希望能对大家有帮助. ...

  8. 初识XML

    前言 前期敲机房的时候,总是写配置文件,后来到ASP.NET学习中也遇到了XML,可是什么是XML呢,它又是用来干什么的呢?请听我细细道来. 内容 定义 (eXtensible Markup Lang ...

  9. Spring学习之旅(十二)--持久化框架

    对于本职工作来说 JDBC 就可以很好的完成,但是当我们对持久化的需求变得更复杂时,如: 延迟加载 预先抓取 级联 JDBC 就不能满足了,我们需要使用 ORM框架 来实现这些需求. Spring 对 ...

随机推荐

  1. java中this关键字和static关键字和super关键字的用法

    this关键字 1. this 关键字是类内部当中对自己的一个引用,可以方便类中方法访问自己的属性: 2.可以返回对象的自己这个类的引用,同时还可以在一个构造函数当中调用另一个构造函数(这里面上面有个 ...

  2. 一些iOS笔试题目

    1.什么是arc?(arc是为了解决什么问题诞生的?) 首先解释ARC: automatic reference counting自动引用计数. ARC几个要点: 在对象被创建时 retain cou ...

  3. Semaphore (通常用于限制可以访问某些资源(物理或逻辑的)的线程数目)

    Semaphore 通常用于限制可以访问某些资源(物理或逻辑的)的线程数目.例如,下面的类使用信号量控制对内容池的访问: 方法详解: 构造方法摘要 Semaphore(int permits)     ...

  4. css3之box-sizing

    css盒子模型中包括几种重要的属性,包括margin.border.padding以及content.但浏览器对其盒子模型的解释则有所不痛,启用标准模式还是IE(怪)模式是与当前页面的文档声明相关的. ...

  5. Java学习----设计正真的应用程序

    import java.util.Scanner; // 输入10位学生的成绩,并且判断他们的成绩是哪个等级,其中90-100是A级,80-89是B级,70-79是C级,60-69是D级,60分以下E ...

  6. OpenGL旋转平移 变换

    #include<gl/glut.h> #include<gl/GL.h> #include<gl/GLU.h> #include<math.h> #i ...

  7. 3 Longest Substring Without Repeating Characters(最长不重复连续子串Medium)

    题目意思:求字符串中,最长不重复连续子串 思路:使用hashmap,发现unordered_map会比map快,设置一个起始位置,计算长度时,去减起始位置的值 eg:a,b,c,d,e,c,b,a,e ...

  8. 织梦dede标签tags的美化教程

    我们在行dede仿站的时候,经常会遇到tags标签的调用,调用非常简单,官方有专门的调用标签,但是官方的调用是一成不变的模式,dede5.6以前的版本,基本上都是黑色相同大小的表示,而在dede5.7 ...

  9. 初学Javascript对象

    <script> var p=new Object(); //属性 p.width=; p.height=; p.num=; p.autotime=; //方法 p.autoplay=fu ...

  10. windows下Django 部署到Apache24的配置

    1.首先下载最新版Apachehttp://httpd.apache.org/download.cgi#apache24,目前官方以不提供windows msi安装包,下载好的直接解压至C盘即可,ap ...