Hibernate入门案例配置以及增、删、改、查看

        享受痛苦就是走向成功的第一步。

一、创建一个项目(lib里面是需要的夹包小奶瓶要导包)

    

二、书写大配置文件

 大配置文件必须放置在项目根目录(专业classpath下):界定:就是src

1名称:hibernate.cfg.xml

<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
        "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
        "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">

<hibernate-configuration>

    <session-factory>

        <!-- Database connection settings 数据库连接设置-->
        <!-- 驱动类 -->
        <property name="connection.driver_class">oracle.jdbc.OracleDriver</property>
        <property name="connection.url">jdbc:oracle:thin:@localhost:1521:orcl</property>
        <property name="connection.username">sa</property>
        <property name="connection.password">1</property>

        <!-- SQL dialect (sql的方言)-->
        <property name="dialect">org.hibernate.dialect.Oracle10gDialect</property>

        
        <!-- Echo all executed SQL to stdout 在控制台打印后台的sql语句-->
        <property name="show_sql">true</property>
        <!-- 格式化显示sql -->
        <property name="format_sql">true</property>
        <!-- Drop and re-create the database schema on startup 序列化-->
        <property name="hbm2ddl.auto">update</property>

        <mapping resource="hibernate.hbm.xml" />

    </session-factory>

</hibernate-configuration>

三、创建小配置

1、名称:hibernate.hbm.xml

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
        "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
        "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">

<hibernate-mapping package="cn.happy.entity">
    <class name="Student" table="STUDENT">
        <id name="sid" column="SID">
            <!-- 主键生成策略:native: native:如果后台是Oracle 后台是MySQL,自动应用自增 -->
            <generator class="native" />
        </id>
        <property name="name" type="string" column="NAME" />
        <property name="age" />
    </class>

</hibernate-mapping>

 四、测试类

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;

import cn.happy.entity.Student;

public class Test {

    /**
     * @param args
     */
    public static void main(String[] args) {
         //addAll();//添加信息
        //getAll();//查看信息
        //deleteAll();//删除信息
        UpdateAll();//修改信息
    }
        //添加信息
        public static void addAll(){
            Student stu = new Student();
            //stu.setSid(2);
            stu.setName("聆听");
            stu.setAge(20);
            // 1.1读取大配置文件,获取要连接的数据库信息
            Configuration cfg = new Configuration().configure();
            // 1.2创建SessionFactory
            SessionFactory factory = cfg.buildSessionFactory();

            // 1.3加工session
            Session session = factory.openSession();

            Transaction tx = session.beginTransaction();

            // 02.Hibernate 帮我保存

            session.save(stu);

            tx.commit();
            System.out.println("save ok!");

        }
        //查看全部信息
        public static void getAll(){
            //读取配置文件
            Configuration conf=new Configuration().configure();
            //创建SessionFactory
            SessionFactory sf=conf.buildSessionFactory();
            //打开session
            Session se=sf.openSession();
            //加载数据
            Student dept=(Student)se.get(Student.class, new Integer( 21));
            System.out.println(dept.getName());//输入数据
            System.err.println(dept.getAge());
            //关闭会话
            if(se!=null){
                se.close();
            }
            
        }
        //删除信息
        public static void deleteAll(){
            //读取数据文件
            Configuration conf=new Configuration().configure();
            //创建SessionFactory
            SessionFactory se=conf.buildSessionFactory();
            //打开session
            Session session=se.openSession();
            //开始一个事务
            Transaction tx=session.beginTransaction();
            //获取部门的对象
            Student stu=(Student)session.get(Student.class, new Integer(22));
            //删除对象(持久化操作)
            session.delete(stu);
            //提交事务
            tx.commit();    
            System.out.println("删除成功");
            //回滚事务
            tx.rollback();
            System.out.println("删除回滚");
            //关闭session
            if(session!=null){
                session.close();
            }
        }
        public static void UpdateAll(){
            //读取数据文件
            Configuration conf=new Configuration().configure();
            //创建SessionFactory
            SessionFactory se=conf.buildSessionFactory();
            //打开session
            Session session=se.openSession();
            //开始一个事务
            Transaction tx=session.beginTransaction();
            //获取部门的对象
            Student stu=(Student)session.get(Student.class, new Integer(2));
            //修改信息
            stu.setName("女王");
            //提交事务
            tx.commit();
            /*http://blog.csdn.net/woxueliuyun/article/details/3930335*/        
            System.out.println("修改成功");
            //回滚事务
            tx.rollback();
            System.out.println("修改回滚");
            //关闭session
            if(session!=null){
                session.close();
            }
        }
}
原文地址:https://www.cnblogs.com/yejiaojiao/p/5742445.html