您的位置:首页 > 其它

Hibernate链接数据文件

2017-03-10 13:22 232 查看
//hibernate 配置文件

//放在src 文件夹下的 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-configuration>

 <session-factory>

 

  <!-- 配置oracle驱动 -->

  <property name="hibernate.connection.driver_class">oracle.jdbc.driver.OracleDriver</property>

  <!-- 连接的url -->

  <property name="hibernate.connection.url">jdbc:oracle:thin:@localhost:1521:orcl</property>

  <!-- 用户名 -->

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

  <!-- 密码 -->

  <property name="hibernate.connection.password">123456</property>

  <!-- 方言 -->

  <property name="hibernate.dialect">org.hibernate.dialect.OracleDialect</property>

  <!-- 是否输出打印sql语句 -->

  <property name="hibernate.show_sql">true</property>

  <!-- 输出打印sql语句 的格式化-->

  <property name="hibernate.format_sql">true</property>

  <!-- 是否创建表-->

  <property name="hibernate.hbm2ddl.auto">update</property>

 

  <!-- 注册实体的映射文件 -->

  <mapping resource="com/yh/po/User.hbm.xml"/>

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

实体配置文件 User.hbm.xml

<?xml version="1.0"?>

<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"

"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">

<!-- Generated 2017-3-10 9:40:53 by Hibernate Tools 3.4.0.CR1 -->

<hibernate-mapping>

   <!-- table :表的名称 oracle table名称不能起名为user(user在oracle内是个关键字) -->

    <class name="com.yh.po.User" table="hibernate_user">

        <id name="id" type="int">

            <column name="ID" />

            <!-- <generator class="sequence" /> hibernate取调用名字默认叫hibernate_sequence的序列,需要取数据库创建该名字的序列 -->

            <generator class="sequence">

            <param name="sequence">seq_user</param> <!-- 指定序列 -->

            </generator>

           <!--  <generator class="assigned"></generator> 应用指定id -->

        </id>

        <!-- property name:实体的属性名称 -->

        <property name="userName" type="java.lang.String">

            <column name="user_name" />

        </property>

        <property name="password" type="java.lang.String">

            <column name="pwd" />

        </property>

    </class>

</hibernate-mapping>

实体类文件

package com.yh.po;

public class User{

    

    private int id;

    private String userName;

    private String password;

    

    

    public int getId() {

        return id;

    }

    public void setId(int id) {

        this.id = id;

    }

    public String getUserName() {

        return userName;

    }

    public void setUserName(String userName) {

        this.userName = userName;

    }

    public String getPassword() {

        return password;

    }

    public void setPassword(String password) {

        this.password = password;

    }

    

    

}

//数据库链接文件

package com.yh.db;

import org.hibernate.Session;

import org.hibernate.SessionFactory;

import org.hibernate.cfg.Configuration;

public class DatabaseConnection {

    private static Configuration configuration=null;

    private static SessionFactory sessionFactory=null;

    

    

    static{

                //1.创建一个解析配置文件的Configuration对象 configure() 默认会去src下找一个叫hibernate.cfg.xml的配置文件

                 configuration=new Configuration().configure();

                //2.创建数据源代理

                 sessionFactory=configuration.buildSessionFactory();

    }

    

    

    public static Session getSession(){

        return sessionFactory.openSession();

    }

    

}

package com.yh.test;

import static org.junit.Assert.*;

import org.hibernate.Session;

import org.hibernate.SessionFactory;

import org.hibernate.Transaction;

import org.hibernate.cfg.Configuration;

import org.junit.Test;

import com.yh.po.User;

public class TestUser {

    

    

    

    @Test

    public void test() {

        

        //1.创建一个解析配置文件的Configuration对象 configure() 默认会去src下找一个叫hibernate.cfg.xml的配置文件

        Configuration configuration=new Configuration().configure();

        

        //2.创建数据源代理

        SessionFactory sessionFactory=configuration.buildSessionFactory();

        

        //3.得到一个session对象 sessionFactory 的openSession()

        Session session=sessionFactory.openSession();

                

        //4.开启事务 session.beginTransaction()

        Transaction tx=session.beginTransaction();

        

        try{

        User user=new User();

        user.setUserName("yunhe_user");

        user.setPassword("123456");

        //插入数据

        session.save(user);

        //5.提交事务

        tx.commit();

        }catch(Exception e){

        //6.事务回滚

         tx.rollback();

        }finally{

            if(session!=null){

                //7.关闭session

                session.close();

            }

        }

    }

}

//package com.yh.test;

import static org.junit.Assert.*;

import org.hibernate.Session;

import org.hibernate.Transaction;

import org.junit.Before;

import org.junit.Test;

import com.yh.db.DatabaseConnection;

import com.yh.po.User;

public class TestUser2 {

    @Test

    public void test() {

        query();

        add();

    }

    

    public void add(){

        Session session=null;

        Transaction tx=null;

        try{

         session=DatabaseConnection.getSession();

         //开启事务(save,update,delete操作,必须开启事务)

         tx=session.beginTransaction();

        User user=new User();

        user.setUserName("test002");

        user.setPassword("8888");

        session.save(user);

        tx.commit();

        }catch(Exception e){

            tx.rollback();

        }

        /*finally{

        session.close();

        }*/

    }

    

    public void update(){

        

    }<
4000
br />

    public void delete(){

        

       }

    

   public void query(){

       

       Session session=DatabaseConnection.getSession();

       //get()或load()

       /*

        * get():当查询到id不存在时,返回null,不会发生异常信息

          load():当查询到id不存在时,报异常信息

        */

       User user= (User) session.get(User.class, 5793);

       System.out.println(user);

        

       }

}

jar包

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐