第一个hibernate程序

第一个 Hibernate 程序(入门详解) 第一个 Hibernate 程序(入门详解) 说明:运行前请在mysql上手动创建数据库”hibernate”,程序已经完整,完美运行。 文件名 作用 explain.xml 项目配置说明 hibernate.cfg.xml Hibernate配置文件 log4j.properties log4j日志工具配置文件explain.xml <?xml version="1.0 阅读详情

 hibernate是一个独立于web的框架,想一下我们使用的数据库如mysql,sqlserver,oracle,这些数据库处理的都是关系模型,我们使用jdbc来把数据存入数据库,java程序使用的是对象模型,数据库使用的是关系模型。这就产生了一个问题,这个问题有个书面名称叫做“阻抗不匹配”,也是用于这些原因之后出现了hibernate,toplink之类的框架。在实际应用中hibernate是使用做多的一个框架,只要学习了这个框架你就可以体会他的独特魅力。

1.下载hibernate开发包,这个包在jboss的网站上http://sourceforge.net/projects/hibernate/files/hibernate3/3.6.7.Final/可以下载到,下载的地方藏得比较隐蔽,注意找就可以了,之后把要用到的包全部拷贝到lib下面,如果不嫌多就全部拷贝进去。

2.找到hibernate的资源文件,里面有我们要用到的一些配置。来看下这个文件的位置

 

打开之后我们可以看到许多配置信息,这里我选择mysql来做开发,需要的配置如下

把这些配置复制到hibernate的配置文件中就OK了,现在来写下这个配置文件名称为hibernatecfg.cfg.xml

<!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 name="foo">
		<property name="show_sql">true</property>
		<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
		<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
		<property name="hibernate.connection.url">jdbc:mysql:///mldn</property>
		<property name="hibernate.connection.username">root</property>
		<property name="hibernate.connection.password">123456</property>
		<property name="hibernate.hbm2ddl.auto">update</property>
        <mapping resource="hbm/User.hbm.xml"/>
		
	</session-factory>
</hibernate-configuration>

 


上面的配置只适合hibernate3或者以下的版本,如果是hibernate4的话还需要一个hibernate.properties文件,该文件内容如下

hibernate.dialect=org.hibernate.dialect.Oracle10gDialect
hibernate.connection.driver_class=oracle.jdbc.driver.OracleDriver
hibernate.connection.url=jdbc:oracle:thin:@127.0.0.1:1521:BEDSIDE
hibernate.connection.username=chenruiyin
hibernate.connection.password=chenruiyin


 

 

配置文件写好了,现在来写个vo类,如下所示

package org.lxh.vo;

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;
	}

}

这些都弄好了,现在可以写映射文件了,命名规则是xxx.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="org.hibernate.test.annotations">

    <class name="org.lxh.vo.User" table="user">

        <id name="id" column="id">
            <generator class="increment"/>
        </id>

        <property name="username" column="username"/>
        <property name="password" column="password"/>
       
        
    </class> 

</hibernate-mapping>


一切工作都准备就绪了,现在就来写个工具类,之后生成一个表

package org.lxh.util;

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

public final class HibernateUtil {
	

	private static SessionFactory sf = null;

	private HibernateUtil() {
	}

	static {
		sf = new Configuration().configure().buildSessionFactory();
	}
	public static SessionFactory getSf() {
		return sf;
	}
	public static Session getSession() {
		return sf.openSession();
	}
	
}

同样的hibernate4的话工具类也要做一些小的调整,加2句代码就OK了

static {
		ServiceRegistryBuilder regist=new ServiceRegistryBuilder();
		sf = new Configuration().configure().buildSessionFactory(regist.buildServiceRegistry());
	}


 

最后来写个JUNIT测试一下,看下运行效果。

package test;


import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.Transaction;
import org.junit.BeforeClass;
import org.lxh.util.HibernateUtil;
import org.lxh.vo.User;

public class Test {

	@BeforeClass
	public static void setUpBeforeClass() throws Exception {
	}
	@org.junit.Test public void cascadeBook() {

		Session ses=null;
		Transaction tr=null;
		
		
		try{
			
			ses=HibernateUtil.getSession();   //取得session
			
			tr=ses.beginTransaction();
			
			User user=new User();
			user.setUsername("chenwill4");
			user.setPassword("123456");
			ses.save(user);     //把数据插入数据库
			//ses.persist(user);
			tr.commit();
		
		}catch(HibernateException e){
			throw e;
		}finally{
			if(ses!=null)
			{
				ses.close();
			}
			
		}
		
	}
}



到这里代码就写好了,如果有问题可以一起交流,联系方式就不用说了。
嵌入式工程师必学(118):MCU的硬件定时器和中断 大多数微处理器都有一个或多个可编程硬件定时器,这些定时器包括对中断的支持。可以有不同类型的计时器,用于不同的应用程序。例如,LPC1768 具有四个 32 位通用定时器、一个看门狗定时器、一个重复中断定时器、一个系统滴答定时器、一个正交编码器接口、6 个 PWM 输出和一个支持中断的实时时钟。硬件定时器用于计时和计数作,允许处理器在 timer 进程运行时继续执行其他进程。硬件定时器是一种使用 clock 信号来增加 register 的电路。 阅读详情

相关推荐

ENVI哨兵一号数据处理

使用ENVI+SarScape处理哨兵数据

Rjjjjj11的博客 2万+

Hibernate框架_搭建第一个Hibernate框架

一、eclipse搭建 A.创建动态web项目   New-->Dynamic web project(web project) B.导入jar包   1.数据库驱动包       2.hibernate开发必须jar包(去官网下载hibernate,解压后里面lib-->required,里面jar包是hibernate必须jar包)      3.日志记录包   ...

weixin_30906701的博客 175

玩转RecyclerView | 实现子视图叠加 | 3D画廊效果 | 高级动效 | Android 3D坐标系介绍

之前写的一篇文章展示了RecyclerView实现的画廊效果,适用于专辑/图片/列表浏览效果。本篇文章阐述如何基于RecyclerView实现如下图所示的3D画廊效果。以下效果的重点在于实现子视图的图层叠加,滑动过程中的3D旋转效果较为简单。(1)无3D旋转效果图片(1)带3D旋转效果图片。

qq_38237224的博客 8155

Java EE入门教程系列第六章Hibernate框架(三)——第一个Hibernate项目

6.3 创建一个Hibernate项目 6.3.1 Hibernate项目开发的一般步骤 1)新建Java工程 2)导入MySQL数据库的JDBC驱动 3)导入Hibernate库 4)新建POJO文件 5)创建POJO文件对应的数据库及表 6)新建Hibernate配置文件hibernate.cfg.xml 7)新建Hibernate映射向导(就是选择数据库和数据表)文件hibe...

Hedy的博客 377

PDF批量加水印 与 去除水印实践

我们可以给PDF加图片水印或文字水印,要去除图片水印,一般只需要删除最后一个图片对象即可。要去除文字水印,需要保证主体内容和文字水印在/Contents中位于不同的对象内,这样我们只需要删除文字水印对应的对象即可删除水印。而对于主体内容和文字水印已经混合在一个对象时,本文的提供的方法则无能为力,需要进一步深入分析PDF细节。

小小明-代码实体的专栏 2756

Navicat16/17数据库密码安全解析与实战解密指南

本文详细解析了Navicat 16/17版本中数据库密码的加密机制,并提供了实用的密码找回指南。通过导出连接文件获取加密密文,利用基于AES-128-CBC算法的本地HTML工具,可安全、离线地解密遗忘的密码。文章强调该方法仅适用于合法恢复自有密码,并给出了操作步骤与安全建议。

weixin_28835583的博客 462

Hibernate的第一个程序

Hibernate是一个开源的对象关系映射框架,对JDBC进行非常轻量级的封装。它将POJO与数据表建立了映射关系,是一个全自动的ORM框架。    Hibernate可以自动生成SQL语句并且自动执行SQL,可以用面向对象思想来操纵数据库。    在开始第一个hibernate小程序之前我们有必要熟悉一下hibernate的五大对象。 Configuration: Con

隔壁老王的博客 2096

AGM Supra软件从零到一:国产CPLD工程创建全流程实战解析

本文详细解析了AGM Supra软件在国产CPLD开发中的全流程实战操作,从工程创建到代码开发、编译调试,再到高级技巧与疑难排解。特别对比了Supra与Quartus的差异,提供了工程路径管理、Quartus项目转换、HDL代码规范等实用技巧,帮助开发者高效完成CPLD项目开发。

weixin_29193259的博客 501

第一个Hibernate程序(HelloWorld)

1.1.1. 创建Eclipse工程并引入相关的jar包 新建Java工程,并添加如下jar包: 1,{hibernate_home}/ hibernate3.jar 2,{hibernate_home}/lib/required/*.jar 3,{hibernate_home}/lib/jpa/hibernate-jpa-2.0-api-1.0.0.Final.jar 1, 数据

607

【YOLOv8系列】在Windows上离线搭建YOLOv8运行环境

我们都知道,通过 pip安装YOLOv8是非常方便的,但是有时候网络环境受到限制,比如公司的工作站(无法连接网络)或者机房的教学机器等等,只能通过离线的方式安装YOLOv8;今天就来记录一下离线搭建YOLOv8运行环境的过程。并记录了遇到的问题及解决过程。

AnChenliang_1002的博客 2004

13、数据来源介绍与操作指南

本文详细介绍了多种数据源的特点、操作步骤及适用场景,包括元数据数据源、MongoDB数据源、Pentaho Data Integration数据源、OLAP数据源、Pentaho分析数据源和OLAP4J数据源。通过流程图和表格对比,帮助用户理解不同数据源的选择与使用方法,并提供了实际应用案例和注意事项,旨在提升数据获取与分析效率,支持高效报告生成。

ik678901234的博客 148

1.1 第一个Hibernate程序(MyEclipse+Hibernate)

1.2 第一个Hibernate程序(MyEclipse)

Corey__Zhang的博客 370

Central Finance 全景解析:用 SAP S/4HANA 构建跨系统的财务中台与渐进式转型路径

Central Finance 是基于 SAP S/4HANA 的一种部署与应用场景:在不打断现有异构源系统运营的前提下,把多套 SAP 与非 SAP 系统中的财务与管理会计数据实时/准实时复制到一套中心化的 SAP S/4HANA 中,作为统一的记账与分析底座,逐步把选定的财务流程(如预算控制、付款、固定资产结账等)迁入中心系统。这让企业既能快速获得统一报表与统一核算结构,又为未来的整体迁移留出了弹性路径。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 387

第一个Hibernate程序

  *未经授权,严禁转载 学完Servlet和JSP,初学框架。首先选择Hibernate上手,第一个Hibernate程序算是折腾了大半天,现在将我的过程以及一些遇到的问题分享给大家。   一,环境准备 1.首先去Hibernate官网,下载资源。 2.选择Hibernate ORM ,点击More。然后选择Realse,我选择的是5.0  3.选择下载CR1 4.下载完...

LZCDTU的博客 421

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

10 01Hibernate之配置并开发第一个Hibernate程序

文章目录1 配置MyEclipse开发环境 1 配置MyEclipse开发环境 MyEclipse在进行框架开发的操作上还是非常好用的,所以在MyEclipse里面如果要想进行Hibernate程序的编写,那么必须要配置数据库的相关内容。 1、打开数据库的连接窗口试图; 打开这个窗口的目的是为了可以在MyEclipse里面配置MySQL数据库的连接。 2、随后在数据库浏览器窗口里面点鼠标右键,进行新的连接创建。 3、在出现的对话框之中选择要使用的数据库,本次使用的是MySQL数据库。 (1)同时在本处操

weixin_43762330的博客 180

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

《Hibernate学习笔记一》:第一个程序的搭建

Hibernate学习笔记:第一个程序的搭建前一段时间对Struts2这个框架有了一点点地了解,很高兴,自己开始学习Hibernate这个框架了。本篇博文将记录下第一个Hibernate程序的搭建过程。其实有时候个人觉得无论我们学习什么语言也好,还是学习什么框架也好,第一个HelloWorld程序真的相当重要,假如 我们在学习第一个HelloWorld程序都跑不出来,这完全影响着我们对新接触的东西的

wojiushimogui的博客 3333

编写第一个Hibernate应用程序

编写第一个Hibernate应用程序 编写第一个Hibernate应用程序 Eclipse安装Hibernate插件 Eclipse安装Hibernate插件 插件下载地址: 点击下载 插件环境要求: Java 8 and Eclipse Oxygen 4.7 插件安装 拖动Install按钮到Eclipse界面

胡嘿嘿 478

我的第一个Hibernate程序

今天开始学习Hibernate,开启我的第一个Hibernate程序 1.方法一:myeclipse自动生成 首先,建立一个数据库student 第二步,在student数据库中建立一张表student 第三步,打开 myeclipse10,打开MyEclipse Hibernate preperctive 第四步,在DB Browser中新建一个新的...

datai3890的博客 151

Hibernate 第一个hibernate程序

Hibernate 第一个hibernate程序

zys_1997的博客 450

Hibernate第一个程序

项目的目录结构: 第一步:创建MySQL数据库表create database if not exists `test`; USE `test`; DROP TABLE IF EXISTS `user`; CREATE TABLE `user` ( `id` int(4) NOT NULL auto_increment primary key, `name` var

wuwanggao的博客 319

Hibernate入门(1)-第一个Hibernate程序

Hibernate入门(1)-第一个Hibernate程序 Hibernate是最著名的ORM工具之一,本系列文章主要学习Hibernate的用法,不涉及Hibernate的原理。本文介绍第一个Hibernate例子,注意,这是一个独立的Hibernate,跟Spring和Struts没有任何关系。 目录结构 main |--java |----com |------chzhao |--...

137

Hibernate入门02 - 第一个Hibernate程序

入门 02 - 第一个Hibernate程序  这边以一个简单的单机程序来示范Hibernate的配置与功能,在这个例子中的一些操作,实际上会使用一些自动化工具来完成,而不一定亲自手动操作设定,这边完全手动的原因,在于让您可以知道Hibernate实际上会作那些动作,在进行范例之前,请先确定前一个主题中的相关jar档案都已经设定在 CLASSPATH中。 我们先作数据库的准备工作,在MySQL

chho的专栏 1561

Hibernate 第一个Hibernate应用程序

Chapter 1. Tutorial   第一章 使用说明书 Table of Contents   目录 1.1. Part 1 - The first Hibernate Application   第一节 第一个Hibernate应用程序 1.1.1. Setup   设置开发环境 1.1.2. The first class  创建第一个类 1.1.3. T

xiaozaq的博客 3026

Hibernate:第一个Hibernate程序

Hibernate是一种ORM框架,全程为Object-Relative Database-Mapping,在Java对象与关系数据库之间建立某种映射,以实现直接存取Java对象(一般为POJO)。下面就以一个简单的Hibernate程序来快速了解Hibernate。

静墨的博客 421
上一篇: 使用jquery和json动态添加表格
下一篇: 使用hibernate进行增删改查
青蛙小王子
博客等级 码龄16年 239粉丝 311原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值