• (一)问候Hibernate4


    第一节:Hibernate 简介

    官网:http://hibernate.org/

    Hibernate 是一个开放源代码的对象关系映射框架,它对JDBC 进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。

    Hibernate 可应用在任何使用JDBC 的场合,既可以在Java 的客户端程序使用,也可以在Servlet/JSP 的Web 应用中使用,最具革命意义的是,Hibernate可以在应用EJB 的J2EE 架构中取代CMP,完成数据持化的重任。

    学习重点:

    ORM 框架,对象关系映射(Object/Relation Mapping)

    最新版本已经是hibernate5了,我们这里学习hibernate4。

    百度云下载:http://pan.baidu.com/s/1i531wjV

    密码:j7rw

    核心jar包:

    mysql驱动包:

    百度云下载 :http://pan.baidu.com/s/1qXG4ec8

    密码:q0pm

    第二节:Hibernate4 版Hello World 实现

    hibernate.cfg.xml 

     1 <?xml version='1.0' encoding='utf-8'?>
     2 <!DOCTYPE hibernate-configuration PUBLIC
     3         "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
     4         "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
     5 
     6 <hibernate-configuration>
     7 
     8     <session-factory>
     9 
    10         <!--数据库连接设置 -->
    11         <property name="connection.driver_class">com.mysql.jdbc.Driver</property>
    12         <property name="connection.url">jdbc:mysql://localhost:3306/hibernate</property>
    13         <property name="connection.username">root</property>
    14         <property name="connection.password">123456</property>
    15 
    16        
    17         <!-- 方言 -->
    18         <property name="dialect">org.hibernate.dialect.MySQL5Dialect</property>
    19     
    20         <!-- 控制台显示SQL -->
    21         <property name="show_sql">true</property>
    22 
    23         <!-- 自动更新表结构 -->
    24         <property name="hbm2ddl.auto">update</property>
    25         
    26           <mapping resource="com/wishwzp/model/Student.hbm.xml"/>
    27 
    28     </session-factory>
    29 
    30 </hibernate-configuration>

     Student.java

     1 package com.wishwzp.model;
     2 
     3 public class Student {
     4 
     5     private long id;
     6     private String name;
     7     
     8     public long getId() {
     9         return id;
    10     }
    11     public void setId(long id) {
    12         this.id = id;
    13     }
    14     public String getName() {
    15         return name;
    16     }
    17     public void setName(String name) {
    18         this.name = name;
    19     }
    20     
    21     
    22 }

    Student.hbm.xml

     1 <?xml version="1.0"?>
     2 <!DOCTYPE hibernate-mapping PUBLIC
     3         "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
     4         "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
     5 
     6 <hibernate-mapping package="com.wishwzp.model">
     7 
     8     <class name="Student" table="t_student">
     9         <id name="id" column="stuId">
    10             <generator class="native"></generator>
    11         </id>
    12         
    13         <property name="name"></property>
    14     </class>
    15 
    16 </hibernate-mapping>

     StudentTest.java

     1 package com.wishwzp.service;
     2 
     3 import org.hibernate.Session;
     4 import org.hibernate.SessionFactory;
     5 import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
     6 import org.hibernate.cfg.Configuration;
     7 import org.hibernate.service.ServiceRegistry;
     8 
     9 import com.wishwzp.model.Student;
    10 
    11 public class StudentTest {
    12 
    13     public static void main(String[] args) {
    14         
    15         // 实例化配置文件
    16         Configuration configuration=new Configuration().configure(); 
    17         // 实例化服务登记
    18         ServiceRegistry serviceRegistry=new StandardServiceRegistryBuilder().applySettings(configuration.getProperties()).build(); 
    19         // 获取Session工厂
    20         SessionFactory sessionFactory=configuration.buildSessionFactory(serviceRegistry); 
    21         // 生成一个session
    22         Session session=sessionFactory.openSession();
    23         // 开启事务
    24         session.beginTransaction(); 
    25         
    26         Student s=new Student();
    27         s.setName("张三");
    28         session.save(s);
    29         
    30         // 提交事务
    31         session.getTransaction().commit(); 
    32         // 关闭session
    33         session.close(); 
    34         // 关闭session工厂
    35         sessionFactory.close(); 
    36     }
    37 }

    结果显示:

     

     控制台显示:

  • 相关阅读:
    [POI2013]BAJ-ytecomputer [动态规划]
    【2019.10.15】网课 Za
    【初赛】
    [NOI2014]魔法森林[最短路 spfa]
    【洛谷2019金秋营模拟赛1】
    【luogu1315】 观光公交[贪心]
    【luogu4450】收集邮票 [期望dp]
    [HAOI2012]高速公路 [线段树 期望]
    ALGO-185 Trash Removal
    精度计算——减法
  • 原文地址:https://www.cnblogs.com/wishwzp/p/5477142.html
Copyright © 2020-2023  润新知