Hibernate入门程序

一.Hibernate简介

Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。Hibernate的核心接口一共有6个,分别为:Session、SessionFactory、Transaction、Query、Criteria和Configuration。

二.Hibernate与MyBatis的区别

Hibernate完全可以通过对象关系模型实现对数据库的操作,拥有完整的JavaBean对象与数据库的映射结构来自动生成sql。而mybatis仅有基本的字段映射,对象数据以及对象实际关系仍然需要通过手写sql来实现和管理,也就是说Hibernate只需要将实体类与表进行关联后Hibernate会自动的生成一切操作数据的方法

三.Hibernate使用步骤

1.导包

antlr-2.7.7.jar

jboss-logging-3.3.0.Final.jar

hibernate-core-5.0.7.Final.jar

javassist-3.18.1-GA.jar

hibernate-commons-annotations-5.0.1.Final.jar

geronimo-jta_1.1_spec-1.1.1.jar

hibernate-jpa-2.1-api-1.0.0.Final.jar

dom4j-1.6.1.jar

jandex-2.0.0.Final.jar

2.创建一个实体类

package com.lin.pojo;

import java.util.Date;

public class Person {

private Integer id;

private String name;

private int age;

private Date birthday;

public Integer getId() {

return id;

}

public void setId(Integer id) {

this.id = id;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public int getAge() {

return age;

}

public void setAge(int age) {

this.age = age;

}

public Date getBirthday() {

return birthday;

}

public void setBirthday(Date birthday) {

this.birthday = birthday;

}

@Override

public String toString() {

return “Person [id=” + id + “, name=” + name + “, age=” + age + “, birthday=” + birthday + “]”;

}

}

3.在当前包下(实体类所在的包)创建Hibernate的Mapping配置文件用来映射实体与表的关系

Person.hbm.xml

4.编写Hibernate的全局配置

hibernate.cfg.xml

注意:

如果使用了Configuration对象的无参构造方法则Hibernate的全局配置文件的名称必须为 hibernate.cfg.xml

“-//Hibernate/Hibernate Configuration DTD 3.0//EN”

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

com.mysql.jdbc.Driver

jdbc:mysql:///hibernatetest

root

a131421a

org.hibernate.dialect.MySQLDialect

thread

true

true

update

5.测试

package com.lin.test;

import java.util.Date;

import java.util.Properties;

import org.hibernate.HibernateException;

import org.hibernate.Session;

import org.hibernate.SessionFactory;

import org.hibernate.Transaction;

import org.hibernate.cfg.Configuration;

import org.hibernate.exception.spi.Configurable;

import org.junit.jupiter.api.Test;

import com.lin.pojo.Person;

public class HibernateTest {

@Test

public void test1() {

// 1.创建Configuration对象加载配置文件

Configuration conf = new Configuration();

conf.configure();

// 2.获取sessionfactory

SessionFactory sessionFactory = conf.buildSessionFactory();

// 3.创建数据库会话session对象

Session session = sessionFactory.getCurrentSession();

// 4.获得事务处理对象

Transaction tx = session.beginTransaction();

// 新增人类

Person person = new Person();

person.setName(“林某”);

person.setAge(15);

person.setBirthday(new Date());

// 调用session的save方法将person对象保存到数据库里

session.save(person);

tx.commit();

session.close();

}

沈阳性病医院哪家好:http://yyk.39.net/sy/zhuanke/fc844.html

沈阳性病医院:http://yiyuan.120ask.com/syxb/

猜你喜欢

转载自blog.csdn.net/a13804947436/article/details/84949800