一般使用集成开发环境是,把所需的类库添加到项目属性的库路径中,开发工具在部署时会自动复制所需要的类包到WEB-INF\lib目录下

MyEclipse中:

创建项目,右击项目->myeclipse->Project Facets->Install Hibernate Facets即可

程序结构

1.建表

本例选择Sql Server2008作为数据库 在MySQL中新增一个ztest数据库,建立 CUSTOMER 表

CREATE TABLE CUSTOMER
(CID INTEGER NOT NULL PRIMARY KEY, USERNAME VARCHAR(12) NOT NULL, PASSWORD VARCHAR(12)
);

2.创建PO对象

补充:POJO是Plain OrdinaryJava Object的缩写,它通指没有使用Entity Beans的普通java对象,可以把POJO作为支持业务逻辑的协助类。
POJO实质上可以理解为简单的实体类,顾名思义POJO类的作用是方便程序员使用数据库中的数据表
 
Customer.java
package com.session;public class Customer {    private int id;private String username;private String password;public int getId() {return id;}public String getPassword() {return password;}public String getUsername() {return username;}public void setId(int id) {this.id = id;}public void setPassword(String password) {this.password = password;}public void setUsername(String username) {this.username = username;}
}

3.XML映像文件

为了告诉Hibernate对象如何映像至数据库表格,需要编写一个XML映射文件,命名为Customer.hbm.xml

与对应的表名要一致,XML映射文件如下

<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE hibernate-mapping PUBLIC"-//Hibernate/Hibernate Mapping DTD 3.0//EN""http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping><class name="com.session.Customer" table="CUSTOMER"><id name="id" column="CID" type="java.lang.Integer"><generator class="increment" /></id><property name="username" column="USERNAME" type="java.lang.String"/><property name="password" column="PASSWORD" type="java.lang.String"/></class>
</hibernate-mapping>

注意

class name =java文件完整地址+文件名

table=数据库中建的表名

name为java文件中的属性,column为数据库中的属性,二者对应。不要忘了添加type,否则可能出错

4.定义Hibernate配置文件

主要是进行SessionFactory配置,Hibernate可以使用XML或属性文件来进行配置,下面是使用XML进行配置

配置文件名为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><!-- sql Server数据库驱动 -->  <property name="hibernate.connection.driver_class">com.microsoft.sqlserver.jdbc.SQLServerDriver</property>  <!-- sql Server数据库名称 -->  <property name="hibernate.connection.url">jdbc:sqlserver://localhost:1433; DatabaseName=ztest</property>  <!-- 数据库的登陆用户名 -->  <property name="hibernate.connection.username">sa</property>  <!-- 数据库的登陆密码 -->  <property name="hibernate.connection.password">123</property>  <mapping resource ="com/session/Customer.hbm.xml"/><!-- 注意:必须是“/”而不能是“.”。 --></session-factory>    </hibernate-configuration>

注意:这个文件的文件头和3中的文件头是不一样的,另外注意第三行的版本号别写错了

另外不同的数据库驱动也不同

5.编写应用程序

下面为一个演示程序

package com.session;import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;public class Test {public static void main(String[] args) {try {SessionFactory sf =new Configuration().configure().buildSessionFactory();Session session = sf.openSession();Transaction tx = session.beginTransaction();for (int i = 0; i < 200; i++) {Customer customer = new Customer();customer.setUsername("customer" + i);customer.setPassword("customer");session.save(customer);}tx.commit();session.close();} catch (HibernateException e) {e.printStackTrace();}}
}

编译执行Test.java

在Sql Server2008中执行查询语句: Select * from CUSTOMER

结果

另附链接 2004年的一篇文章: http://blog.csdn.net/doodoofish/article/details/43207/

好的技术会被不断发展完善。

转载于:https://www.cnblogs.com/gnivor/p/4326049.html

Hibernate学习笔记--第一个Hibernate框架程序相关推荐

  1. hibernate学习笔记(总结)

    hibernate学习笔记 课程内容 6 1 HelloWorld 6 2 Hibernate原理模拟-什么是O/R Mapping以及为什么要有O/R Mapping 6 3 常见的0/R框架(了解 ...

  2. 马士兵Hibernate学习笔记

    马士兵hibernate学习笔记 课程内容 6课程内容 1 HelloWorld 6 2 Hibernate原理模拟-什么是O/R Mapping以及为什么要有O/R Mapping 6 3 常见的0 ...

  3. hibernate学习笔记二

    上一篇关于hibernate学习笔记一,主要是作为hibernate的入门知识.没有和spring发生任何关系,这一篇我将把spring集成进去,看spring如何管理hibernate,还有和未使用 ...

  4. Hibernate学习笔记二:Session

    Session概述 Session是Hibernate提供的最主要的接口,它提供了基本的保存, 更新, 删除和加载 Java 对象的方法. Session 具有一个缓存, 位于缓存中的对象称为持久化对 ...

  5. Hibernate学习笔记Session.evict(user)方法

    @[TOC]Hibernate学习笔记Session.evict(user)方法 Hibernate学习笔记Session.evict(user)方法 首先我们要明白Session.flush(use ...

  6. Magnolia学习笔记(一个基于JSR170的内容管理系统) ( by quqi99 )

                         Magnolia学习笔记(一个基于JSR170的内容管理系统) ( by quqi99 ) 作者:张华 发表于:2007-05-24  ( http://bl ...

  7. 嵌入式开发学习笔记9-做一个好玩的LED闪烁

    嵌入式开发学习笔记9-做一个好玩的LED闪烁 前言 实际操作 程序功能 实现思路 程序源码 实现效果展示 前言 LED小灯闪烁实质是控制单片机上的I/O口,通过向I/O口循环输入高低电平,从而控制LE ...

  8. golang游戏开发学习笔记-开发一个简单的2D游戏(基础篇)

    此文写在golang游戏开发学习笔记-创建一个能自由探索的3D世界之后,感兴趣可以先去那篇文章了解一些基础知识,在这篇文章里我们要创建一个简单的2D游戏场景以及配套的人物,并实现人物运动和碰撞检测功能 ...

  9. 【HTML】学习笔记——表单、框架

    [HTML]学习笔记--表单.框架 HTML 表单 表单是一个包含表单元素的区域. 表单元素是允许用户在表单中输入内容,比如:文本域(textarea).下拉列表.单选框(radio-buttons) ...

最新文章

  1. 第一个SpringBoot程序(详细解析Grounp、Artifact等项目信息含义)
  2. mysql必知必会看完看什么_《MySQL必知必会》读书笔记
  3. pb 里面有个report object_【园所新闻】我们与秋天有个“约会” ——记区一实幼尧佳园亲子秋游活动...
  4. 124 Binary Tree Maximum Path Sum
  5. HashTable类模板_C++
  6. 一个关于c++string比较的问题
  7. java二级考点速记_同学,你要的考点速记口诀汇总篇来啦,速记!
  8. php(2)—基础补充
  9. java枚举很少被使用_java中枚举原来还可以这么用
  10. python源文件的执行方式_python源程序执行的方式有哪几种
  11. 基于react-app搭建react-router+redux项目
  12. 基于PS2手柄的Arduino遥控小车
  13. win10系统电脑点击桌面图标没反应怎么处理
  14. 当OA遇上鸿蒙,打开信创智慧办公新画卷
  15. 三国皇帝的寡妇秘史(1)
  16. 当前安装包签名出现异常_关于部分华为手机安装游戏提示“签名异常”问题说明...
  17. 机械革命无法使用U盘启动linux,机械革命bios设置,详细教您机械革命bios怎么设置u盘启动...
  18. “大长今热”的六大理由!!
  19. Digilent Xilinx USB Jtag cable
  20. 移动端:M站和APP的区别

热门文章

  1. TI C6000DSP上TCP/IP协议栈的实现
  2. 数据集合 oracle,oracle集合
  3. 极值滤波matlab,[转载]转:Matlab信号提取、频谱分析、滤波、阈值设定、寻找极值点...
  4. 029_Loading加载
  5. div滚动到指定位置 vue_【Vue 进阶】从 slot 到无渲染组件
  6. win8 查看 linux硬盘大小,如何查看显存大小_win8如何查看显存大小
  7. JAVA中this用法小结
  8. 发布json数据_技术分享 | MySQL 8.0.17 GA 发布!
  9. java des验证码,Servlet返回验证码
  10. openstack的云主机相关命令