zoukankan      html  css  js  c++  java
  • 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)

          

                

        

  • 相关阅读:
    js或jQuery获取当前屏幕的各种高度
    js简单时间比较的方法(转)
    取值:form表单取值、input框绑定取值
    Json对象与Json字符串的转化、JSON字符串与Java对象的转换(转)
    js 小数取整的函数
    (转)js数组与字符串的相互转换方法
    (转)js在数组中删除重复的元素自保留一个(两种实现思路)
    (转载)jQuery判断checkbox是否选中的3种方法(个人用第二种方法)
    (转载)jquery实现全选、反选、获得所有选中的checkbox
    JSP 服务器响应
  • 原文地址:https://www.cnblogs.com/gongchengshiwhl/p/6999744.html
Copyright © 2011-2022 走看看