一、Hibernate
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的orm框架,hibernate可以自动生成SQL语句,自动执行,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。
二、准备阶段
1.首先下载Hibernate环境所需的文件Jar包,这里我们下载的版本是hibernate-5.2.10.Final
2.导入Hibernate环境所需的文件Jar包.其中包括若干项:
※log4j-1.2.17.jar
※slf4j-log4j12-1.7.7.jar
※antlr-2.7.7.jar
※classmate-1.3.0.jar
※dom4j-1.6.1.jar
※hibernate-commons-annotations-5.0.1.Final.jar
※hibernate-core-5.2.10.Final.jar
※hibernate-jpa-2.1-api-1.0.0.Final.jar
※jandex-2.0.3.Final.jar
※javassist-3.20.0-GA.jar
※jboss-logging-3.3.0.Final.jar
※jboss-transaction-spi_1.2_spec-1.0.1.Final.jar
※mysql-connector-java-5.1.18-bin.jar
3.将全部jar包导入之后,就可以开始搭建环境了。
4.创建User.java
- package xxx;
- public class User {
- private int id;
- private String name;
- private String password;
- private int age;
- 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;
- }
- public int getAge() {
- return age;
- }
- public void setAge(int age) {
- this.age = age;
- }
- }
5.配置映射关系:
- <?xml version="1.0" encoding="UTF-8"?>
- <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "hibernate-mapping-3.0.dtd" >
- <hibernate-mapping>
- <class name="com.User" table="zzz">
- <id name="id" column="ID" type="int">
- <generator class="increment"/>
- </id>
- <property name="name" column="name" type="java.lang.String" />
- <property name="password" column="password" type="java.lang.String" />
- <property name="age" column="age" type="int"/>
- </class>
- </hibernate-mapping>
6.创建配置文件、以及编写测试类:
- <!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="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
- <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/zxw</property>
- <property name="hibernate.connection.username">root</property>
- <property name="hibernate.connection.password"></property>
- <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
- <property name="show_sql">true</property>
- <mapping resource="com/User.hbm.xml"/>
- </session-factory>
- </hibernate-configuration>
- package test;
- import org.hibernate.Session;
- import org.hibernate.SessionFactory;
- import org.hibernate.Transaction;
- import org.hibernate.cfg.Configuration;
- import xxx.User;
- public class TestUser {
- public static void main(String[] args) {
- Configuration conf = new Configuration().configure();
- SessionFactory sf = conf.buildSessionFactory();
- Session session = sf.openSession();
- Transaction tx = null;
- try{
- tx = session.beginTransaction();
- User user = new User();
- user.setName("zzz");
- user.setPassword("1514010629");
- user.setAge(28);
- session.save(user);
- tx.commit();
- }catch(Exception e){
- if (null!=tx){tx.rollback();}
- e.printStackTrace();
- }finally{
- session.close();
- }
- }
- }
7.接下来测试运行就OK了。