我的第一个用Hibernate框架写的小例子

Hibernate框架

今天我来主要讲一下Hibernate框架的配置步骤,在讲之前,我们先了解一下使用框架的优势

1.不再考虑公共问题,框架已经帮我们做好了

2.可以专心于业务逻辑,保证核心业务逻辑的开发质量

3.结构统一,便于学习和维护

4.框架中集成了前人的经验,可以帮助新手写出稳定、性能优良而且结构优美的高质量程序。

我们都知道SSH集成框架指的是基于Struts或Struts2+Spring+Hibernate的技术框架,也就是我们常说的三大框架,使用这个集成框架将使我们应用程序更加健壮、稳固、轻巧和优雅。

Hibernate是数据持久化(数据持久化就是将内存中的数据模型转换为存储模型,以及将存储模型转换为内存... 然后根据框架的配置文件,自动或手动决定什么时候把这种保存提交到数据库)工具,是一个开放源代码的对象关系映射框架。

优点:

1.Hibernate功能强大,较之JDBC方式操作数据库,代码量大大减少,提高持久化代码的开发速度,降低维护成本。

2.Hibernate支持许多面向对象的特性

3.可移植性好

4.Hibernate框架开源免费

缺点:

1.不适合以数据为中心的大量使用存储过程的应用。

2.大规模的批量插入、修改和删除不适合用HibernateHibernate环境搭建

1.下载和部署jar包

2.创建配置文件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">wth</property>
        <property name="connection.password">1509184562</property>

        <!-- JDBC connection pool (use the built-in) -->
        <property name="connection.pool_size">1</property>

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

        <!-- Echo all executed SQL to stdout 在控制台打印后台sql语句-->
        <property name="show_sql">true</property>
        <!-- 格式化语句 -->
       <property name="format_sql">true</property>
        <!-- Drop and re-create the database schema on startup -->
    <property name="hbm2ddl.auto">update</property>
          <!-- 关联小配置 -->
        <mapping resource="cn/entity/student.hbm.xml" />

    </session-factory>

</hibernate-configuration>

3.创建持久化类和映射文件

小配置:

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

<hibernate-mapping package="cn.entity">

        <class name="Student" table="STUDENT">
                <id name="sId" column="SID">
                        <generator class="native"/>
                </id>
                <!-- assigned 程序员赋值  native后台DB赋值-->
                <property name="sName" type="string" column="SNAME"/>
                <property name="sAge"/>             

        </class>
</hibernate-mapping>

持久化类

package cn.test;

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

import cn.entity.Student;

public class Test {
  public static void main(String[] args) {
    Student stu=new Student();

    stu.setsName("呵");
    stu.setsAge(12);
    Configuration cfg=new Configuration().configure();
    SessionFactory sc = cfg.buildSessionFactory();

    Session se = sc.openSession();
    Transaction tx=se.beginTransaction();

    se.save(stu);
    tx.commit();
    System.out.println("success!!!");
  }
}
时间: 2024-08-09 10:34:42

我的第一个用Hibernate框架写的小例子的相关文章

分享一个很早之前写的小工具DtSpyPlus

几年前写的一个获取windows窗体基本信息和屏幕取色的小工具 ,一直在用. 下载地址 http://files.cnblogs.com/dint/SpyPlus.zip

利用java实现的一个发送手机短信的小例子

今天闲来无事,在微博上看到一个关于用java实现的一个发送手机短信的程序,看了看,写的不太相信,闲的没事,把他整理下来,以后可能用得着 JAVA发送手机短信,流传有几种方法:(1)使用webservice接口发送手机短信,这个可以使用sina提供的webservice进行发送,但是需要进行注册;(2)使用短信mao的方式进行短信的发送,这种方式应该是比较的常用,前提是需要购买硬件设备,呵呵(3)使用中国网建提供的SMS短信平台(申请账号地址:http://sms.webchinese.cn/de

一个强悍的极简单递归小例子帮你从程序执行的角度理解递归

1 public class test { 2 public static void main(String[] args) { 3 swap(3); 4 } 5 public static int i=1; //全局变量 6 public static void swap(int a){ //局部变量 7 if(a>0){ 8 a--; 9 System.out.println("第"+i+"层:"); 10 System.out.println("

用百度地图做了一个输入地址查询经纬度的小例子

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <script src="jquery.js"></script> </head> <body> <input type="text"

一个简单实用的图片切换小例子

不经意间看到了以前写的这个小东西,就贴上来了,支持点击切换和自动轮播,供前端新手看看吧! 代码如下: <div class="scroll_div"> <ul class="pic"> <li><img src="img/pic_1.jpg" /></li> <li><img src="img/pic_2.jpg" /></li>

一个Hbase数据读取优化的小例子

今天群里有个有经验的大神提了一个问题(@尘事随缘),记录下来. A君搭建一个小型的集群,7台DataNode,一台主节点.需求是这样:通过MR程序去读取Hbase表里面的数据,程序运行后发现速度比较慢,通过查询任务详细发现,累计需要1542个Map完成,目前有14个MAP在执行.客户对此速度表示不满意,请问如何优化? 首先通过Job看,有1542个Map需要执行,说明Hbase,有1542个分区(每个分区对应一个Map),这是一个知识点. 数据不存在热点,Hbase处理性能没有问题 有1542个

vue +bootstrap 写的小例子

最近vue挺火,最近也不是特别忙,就学习了下. vue和angular非常像都是MVVM.道理都是想通的,就是语法的差异 我觉得vue和angular区别: 1.vue更轻,更便捷,适用于移动开发 2.vue更简单.. angular和vue指令的差别大致就是 ng-xxx和v-xxx. vue是用过new Vue创建实例,然后在属性data绑定数据,在属性methods里添加方法. vue的循环遍历是 v-for="" ,事件是 v-on:clicl ="": 直

Hibernate框架(一)——总体介绍

作为SSH三大框架之一的Hibernate,是用来把程序的Dao层和数据库打交道用的,它封装了JDBC的步骤,是我们对数据库的操作更加简单,更加快捷.利用Hibernate框架我们就可以不再编写重复的JDBC代码,不再反复的测试我们的SQL语句写的如何.这里这需要我们简单配置,调用框架给我们提供的方法,就可以完成对数据增删改查的,那么Hibernate到底是个什么样的框架呢?如何使用呢?先看一个关于Hibernate框架的知识体系图:  这篇博客,我们来总结一下,Hibernate宏观的认识和,

Hibernate框架(一)总结介绍

作为SSH三大框架之一的Hibernate,是用来把程序的Dao层和数据库打交道用的,它封装了JDBC的步骤,是我们对数据库的操作更加简单,更加快捷.利用Hibernate框架我们就可以不再编写重复的JDBC代码,不再反复的测试我们的SQL语句写的如何.这里这需要我们简单配置,调用框架给我们提供的方法,就可以完成对数据增删改查的,那么Hibernate到底是个什么样的框架呢?如何使用呢?先看一个关于Hibernate框架的知识体系图: 这篇博客,我们来总结一下,Hibernate宏观的认识和,环