• Hibernate的使用


    1 创建一个Java项目,在项目中新建一个lib,将需要的Hibernate包和MySQL包导入,并Build Path

    2 在src下添加Hibernate.cfg.xml在此文件中对Hibernate和MySQL进行配置,此处的配置作用,类似于JDBC的共用

    我理解为此处用于与数据库连接

    <hibernate-configuration>
    <session-factory>

    //确定方言
    <property name="hibernate.dialect">
    org.hibernate.dialect.MySQLDialect
    </property>

    //Driver
    <property name="hibernate.connection.driver_class">
    com.mysql.jdbc.Driver
    </property>
    <!-- Assume test is the database name -->

    //url
    <property name="hibernate.connection.url">
    jdbc:mysql://localhost:3306/test
    </property>

    //root
    <property name="hibernate.connection.username">
    root
    </property>

    //password
    <property name="hibernate.connection.password">
    123456
    </property>
    //配置Mapping
    <mapping resource="com/whl/bean/User.hbm.xml"/>

    </session-factory>
    </hibernate-configuration>

    3 在Bean下建立bean以及Bean.hbm.xml。在此xml中属性名等与数据库对应,此xml也叫映射文件的配置

    在cfg.xml中进行mapping配置

    <hibernate-mapping>

    <class name="com.phone1000.je1702.bean.User">
    <id name="uid" type="java.lang.Integer">
    <generator class="increment"/>
    </id>
    <property name="username" not-null="true" length="15" column="username"/>
    <property name="password" not-null="true" length="15" column="`password`"/>
    </class>

    </hibernate-mapping>

    4 实现数据库的crub操作

       注:因为Hibernate是一个封装了JDBC的ORM框架,所以在开发中,其主要用于DAO、Server部分

        ①在dao下新建一个接口,写增删改查的方法

        ②new 一个Class继承上面的接口

                  //1 创建一个configuraction对象,在configure()方法中会调用带参的构造器

                  Configuration cfg=new Configuration.configure();

                  //2 通过Configuration创建SessionFactory

                   SessionFactory sf=cfg.bulidSessionFactory();

                 //3 使用SessionFactory对象创建一个Session对象

                    Session s=sf.openSession();

                //4  通过session对象开启一个事物

                     Transaction tx=s.beginTransaction();

               try{

                       //5 实现数据的CRUD操作

                 s.save(user);

                       //6 commit或者rollback 事物

                            tx.commit();

             return ;

         }catch(){

                       //6  commit或者rollback 事物

            tx.rollback();

         }

          7  关闭session对象

    注:在查询时,不改变表中数据,则不需要开启事物

          直接用session.createQuery("from user")

          ③  测试增删改查(Junit)

          

                

        

  • 相关阅读:
    原型模式
    单例模式-2(注册式单例)
    单例模式-1(懒汉式、饿汉式)
    PBKDF2加密的实现
    vue中获取客户端IP地址
    微信公众平台,监听用户输入及事件
    详解二叉树的遍历-前中后序遍历/层序遍历-递归/迭代
    联想小新pro关机变慢的解决办法
    MySQL自学笔记系列
    MySQL入门-首先搞清楚【数据类型】
  • 原文地址:https://www.cnblogs.com/gongchengshiwhl/p/6999744.html
Copyright © 2020-2023  润新知