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();
            }
        }
}
时间: 2024-10-23 23:38:33

Hibernate入门案例配置以及增、删、改、查看的相关文章

Hibernate入门案例及增删改查

一.Hibernate入门案例剖析: ①创建实体类Student 并重写toString方法 public class Student { private Integer sid; private Integer age; private String name; public Integer getSid() { return sid; } public void setSid(Integer sid) { this.sid = sid; } public Integer getAge() {

Hibernate入门案例 增删改

一.Hibernate入门案例剖析: ①创建实体类Student 并重写toString方法 public class Student { private Integer sid; private Integer age; private String name; public Integer getSid() { return sid; } public void setSid(Integer sid) { this.sid = sid; } public Integer getAge() {

第18课-数据库开发及ado.net 连接数据库.增.删.改向表中插入数据并且返回自动编号.SQLDataReade读取数据

第18课-数据库开发及ado.net 连接数据库.增.删.改向表中插入数据并且返回自动编号.SQLDataReade读取数据 ADO.NET 为什么要学习? 我们要搭建一个平台(Web/Winform)让用户方便的操作数据库中的数据. 什么是ADO.NET 是一组库类,System.Data. Ado.net组成 Connection:用来连接数据库 Command:用来执行SQL语句 DataReader:只读.只进的结果集,一条一条读取数据(SteamReader.XmlReader) Da

ADO.NET 增 删 改 查

ADO.NET:(数据访问技术)就是将C#和MSSQL连接起来的一个纽带 可以通过ADO.NET将内存中的临时数据写入到数据库中 也可以将数据库中的数据提取到内存中供程序调用 ADO.NET所有数据访问技术的基础 连接数据库基本格式:需要两个类1.数据库连接类 SqlConnection2.数据库操作类 SqlCommand 1.连接数据库写连接字符串,立马就要想到有4点要写完,1.连接哪台服务器,2.连接哪个数据库,3.连接用户名,4.密码string sql = "server=.(服务器i

Python---MySQL数据库之四大操作(增 删 改 查)

一.对数据库,表,记录---四大操作(增 删 改 查) 1.操作数据库 (1)对数据库(文件夹):进行增加操作 Create  database  库名; 例:  Create  database  db7 ; 查询库: show  databases; 结果: +-----------------------------+ | Database                   | +----------------------------+ | information_schema | |

Hibernate入门案例

1.Hibernate框架简述 Hibernate的核心组件在基于MVC设计模式的JAVA WEB应用中,Hibernate可以作为模型层/数据访问层.它通过配置文件(hibernate.properties或hibernate.cfg.xml)和映射文件(***.hbm.xml)把JAVA对象或PO(Persistent Object,持久化对象)映射到数据库中的数据库,然后通过操作PO,对数据表中的数据进行增,删,改,查等操作.除配置文件,映射文件和持久化类外,Hibernate的核心组件包

MyBatis的配置与使用(增,删,改,查)

---恢复内容开始--- Mybatis入门介绍 一.MyBatis介绍 什么是MyBtis? MyBatis 是一个简化和实现了 Java 数据持久化层(persistence layer)的开源框架,它抽象了大量的 JDBC 冗余代 码,并提供了一个简单易用的 API 和数据库交互. MyBatis 的前身是 iBATIS,iBATIS 于 2002 年由 Clinton Begin 创建.MyBatis 3 是 iBATIS 的全新设计,支持 注解和 Mapper. MyBatis 流行的

oracle 11g 建库 建表 增 删 改 查 约束

一.建库 1.(点击左上角带绿色+号的按钮) 2.(进入这个界面,passowrd为密码.填写完后点击下面一排的Test按钮进行测试,无异常就点击Connect) 二.建表 1-1. create table 表名1( Tid number(4) --primary key 列级约束(主键), Tname varchar(10) --ont null  非空约束,只能定义在列级约束, Tsex varchar2(2)--check (tsex='男'  or  tsex='女') 检查约束, T

数据库基础学习4--表格的 增 删 改 查(简单查询与高级查询)

一.增 C:create 增加,创建,向数据库里面添加数据. insert into Fruit values('K009','苹果',3.0,'高青',90,'') insert into Fruit(Ids,Name,Price,Source,Numbers) values('K010','苹果',3.0,'高青',90) 二.改 U:update修改,从数据库表里面修改数据. update Fruit set Source='烟台' where Ids='K001' 三.删 D:delet