zoukankan      html  css  js  c++  java
  • HIbernate学习笔记(一) 了解hibernate并搭建环境建立第一个hello world程序

      Hibernate是一个开放源代码的ORM(对象关系映射)框架,它对JDBC进行了轻量级的封装,Java程序员可以使用面向对象的编程思维来操纵数据库,它通过对象属性和数据库表字段之间的映射关系,将对象持久化到数据库中,可以说Hibernate就是将数据从对象形式转换成表字段后存入数据库的一种框架。hibernate移植非常好,因为它用到了方言配置,可以根据不同的数据库自动发出不同的sql。

      1、环境准备:

        1)去Hibernate官网下载最新的hibernate文件,笔者版本号为hibernate-release-4.2.3.Final;

        2)文档内自带了说明文档,不过只有英文的,可以用来参考,可以解决绝大部分的问题;

        3)由于hibernate4已经自带annotation,所以使用annotation开发不用另外加包;

        4)如果要使用log4j来观察hibernate的输出,需要下载两个包,在另一篇随笔中有详细的介绍。http://www.cnblogs.com/hustfly/p/3405546.html

       2、第一个hibernate程序

        1)建立新java 项目,名为hibernate_HelloWorld

        2) 学习建User-library-hibernate,并加入相应的jar包(自己建立一个hibernate的库,包含各个需要的包)

        3)项目右键-buildpath-configure build path-add library—hibernate

      •   hibernate core
      •   /required
      •   slf-nop jar

        4)引入mysql的JDBC驱动包,这里用的数据库为MySQL,故导入相应的驱动

        5)在mysql中建立对应的数据库以及表

          create database hibernate;

           use hibernate;

           create table user (id int primary key, namevarchar(20));

        6)建立hibernate 配置文件hibernate.cfg.xml。直接从参考文档中copy,修改对应的数据库连接,注释掉暂时用不上的内容。

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE hibernate-configuration PUBLIC
    
         "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
    
         "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
    
    
    <hibernate-configuration>
          <session-factory>
    
                  <!--数据库驱动-->
    
                  <property name="connection.driver_class">com.mysql.jdbc.Driver</property>
    
                  <!--数据库连接的URL-->
    
                  <property name-"connection.url">jdbc.mysql://localhost:3306/test</property>
    
                  <!--数据库连接用户名-->
    
                  <property name="connection.username">root</property>
    
                  <!--数据库连接密码-->
    
                  <property name="connection.password">111</property>
    
                  <!--Hibernate方言-->
    
                  <property name="dialect">org.hibernate.dialect.MySQLDialect</property>
    
                  <!--打印SQL语句-->
    
                  <!--在调试的时候设置为true便于程序的调试,发布应用的时候设置为false,减少信息的输出量,提高关键的运行性能-->
    
                  <property name="show_sql">true</property>
    
                  <!--映射文件-->
    
                  <mapping resource="com/fly/User.hbm.xml">
    
          </session-factory>
    
    </hibernate-configuration>

        7)建立User 类

    public class User{
    
        private Integer id;
    
        private String name;
    
        //省略setter/getter方法
    
    }

        8)建立Student 映射文件 Student.hbm.xml。从参考文档里找类似的文档,拿过来修改。将映射文件加入到hibernate.cfg.xml中。

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE hibernate-configuration PUBLIC
    
         "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
    
         "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
    
    <hibernate-mapping>
    
          <class name="com.fly.User" table="user">
    
                <id name="id" column="id" type="int">
    
                    <generator class="native"></genertor>
    
                </id>
    
                <property name="name="name" type="string" not-null="true" length="50">
    
                     <column name="name"></column>
    
          </class>
    
    </hibernate-mapping> 

        9)写测试类Main,在Main中对Student对象进行直接的存储测试

    public static void main(){
        SessionFactory sf=new AnnotationConfiguration().configure().buildSessionFactory();
        Student s=new Student();
        s.setName("fly");
        Session session=sf.openSession();
        Transaction tx = session.beginTransaction();
        session.save(s);
        tx.commit();
        session.close(); 
    }

      10)程序就写完了,在mysql数据库里查询数据已经插入,user表里有id为1,name为fly的一条记录,则说明hibernate与数据库已经成功连接。如此,则环境搭建成功,第一个Helloworld程序成功运行,接下来可以深入学习hibernate的各种操作了。

  • 相关阅读:
    【IdentityServer4文档】- 整体情况
    【IdentityServer4文档】- 欢迎来到 IdentityServer4 (ASP.NET Core 3.x)
    证券相关基础概念
    [基于NetCore的简单博客系统]-登录
    JAVA mysql数据库 配置
    简单验证码识别及登陆并下载页面
    Java 无法初始化Connection的问题
    MUI scroll 定位问题
    CentOS7 安装 MySql
    ASP.NET CORE 2.0 文档中文正式版已经出来了
  • 原文地址:https://www.cnblogs.com/hustfly/p/3434338.html
Copyright © 2011-2022 走看看