Hibernate是一种ORM框架,ORM全称为Object-Relative Database-Mapping,在Java对象与关系数据库之间建立某种映射,以实现直接存取Java对象(一般为实体类)。

Hibernate可以通过表自动生成实体类和映射文件。

使用Hibernate添加数据的代码如下

package com.cn.test;

import java.awt.Font;

import javax.swing.JOptionPane;

import org.hibernate.Hibernate;
import org.hibernate.Session;
import org.hibernate.Transaction; import com.cn.hibernate.HibernateSessionFactory;
import com.cn.vo.Users; public class TestHibernate { public static void main(String[] args) {
//向Users对象中添加数据
Users users = new Users();
users.setId(12345);
users.setAddress("北京海淀");
users.setName("王五");
users.setAge(22);
users.setTel("010-12345678");
//向Users对象中添加数据
Users users2 = new Users();
users2.setId(12154);
users2.setAddress("北京海淀");
users2.setName("孙钱");
users2.setAge(23);
users2.setTel("010-12345878");
//向Users对象中添加数据
Users users3 = new Users();
users3.setId(12164);
users3.setAddress("北京海淀");
users3.setName("孙李");
users3.setAge(24);
users3.setTel("010-12345578");
//开启一个Hibernate会话
Session session = HibernateSessionFactory.getSession();
//开启一个事物
Transaction trans = session.beginTransaction();
session.persist(users);
session.persist(users2);
session.persist(users3);
//提交事物
trans.commit(); //输出添加的数据结果
StringBuffer result = new StringBuffer();
result.append("添加成功!往数据库中添加了如下数据:\n");
result.append("编号 "+"地址 "+"姓名 "+"年龄 "+"联系电话\t\r\n\r\n");
result.append(users.getId()+" ");
result.append(users.getAddress()+" ");
result.append(users.getName()+" ");
result.append(users.getAge()+" ");
result.append(users.getTel()+"\t\n\r");
result.append(users2.getId()+" ");
result.append(users2.getAddress()+" ");
result.append(users2.getName()+" ");
result.append(users2.getAge()+" ");
result.append(users2.getTel()+"\t\n\r");
result.append(users3.getId()+" ");
result.append(users3.getAddress()+" ");
result.append(users3.getName()+" ");
result.append(users3.getAge()+" ");
result.append(users3.getTel()+"\t\n\r");
//关闭会话
session.close();
//用图形界面技术显示查询结果
JOptionPane.getRootFrame().setFont(new Font("Arial", Font.BOLD, 14));
JOptionPane.showMessageDialog(null, result.toString());
} }

代码演示了用Hibernate插入数据库与查询数据库。先用session.persist()方法插入3条数据,并用图形界面技术输出添加的数据。

在Java程序中使用Hibernate的更多相关文章

  1. 在Java Web程序中使用Hibernate

    在Java Web程序中使用Hibernate与普通Java程序一样.本文中将使用Servlet和JSP结合Hibernate实现数据库表的增删改查操作. Web程序中,hibernate.cfg.x ...

  2. Linux上从Java程序中调用C函数

    原则上来说,"100%纯Java"的解决方法是最好的,但有些情况下必须使用本地方法.特别是在以下三种情况: 需要访问Java平台无法访问的系统特性和设备: 通过基准测试,发现Jav ...

  3. 在网页程序或Java程序中调用接口实现短信猫收发短信的解决方案

    方案特点: 在网页程序或Java程序中调用接口实现短信猫收发短信的解决方案,简化软件开发流程,减少各应用系统相同模块的重复开发工作,提高系统稳定性和可靠性. 基于HTTP协议的开发接口 使用特点在网页 ...

  4. 如何在java程序中调用linux命令或者shell脚本

    转自:http://blog.sina.com.cn/s/blog_6433391301019bpn.html 在java程序中如何调用linux的命令?如何调用shell脚本呢? 这里不得不提到ja ...

  5. Java程序中调用Python脚本的方法

    在程序开发中,有时候需要Java程序中调用相关Python脚本,以下内容记录了先关步骤和可能出现问题的解决办法. 1.在Eclipse中新建Maven工程: 2.pom.xml文件中添加如下依赖包之后 ...

  6. 在java程序中访问windows有用户名和密码保护的共享目录

    在java程序中访问windows有用户名和密码保护的共享目录 Posted on 2015-11-20 14:03 云自无心水自闲 阅读(3744) 评论(0)  编辑  收藏 --> Jav ...

  7. java程序中默认浮点形值常量是什么类型的?如何区分不同类型的浮点型整数值常量?

    java程序中默认浮点形值常量是什么类型的 默认的所有的浮点型数值都是double型

  8. java程序中默认整形值常量是什么类型的?如何区分不同类型的整型数值常量?

    java程序中默认整形值常量是什么类型的?如何区分不同类型的整型数值常量? 整数值默认就是int类型,只有在数值常量后面加“L”或“l”才表明该常量是long型

  9. java程序中获取kerberos登陆hadoop

    本文由作者周梁伟授权网易云社区发布. 一般我们在使用kbs登陆hadoop服务时都直接在shell中调用kinit命令来获取凭证,这种方式简单直接,只要获取一次凭证之后都可以在该会话过程中重复访问.但 ...

随机推荐

  1. Django实战(13):在session中保存购物车

    现在,我们有了一个产品目录界面,用户如果看到满意的产品,就可以将其放入购物车.下面就让我们来实现购物车的功能. 首先要做一下简单的分析和设计.购物车应该显示一系列产品的清单,其中列出了买方选中的产品. ...

  2. Spark入门3(累加器和广播变量)

    一.概要 通常情况下,当向Spark操作传递一个函数时,它会在一个远程集群节点上执行,它会使用函数中所有变量的副本.这些变量被复制到所有的机器上,远程机器上并没有被更新的变量会向驱动程序回传.在任务之 ...

  3. 装饰模式和Java IO

    装饰模式 修饰模式(装饰模式),是面向对象编程领域中,一种动态地往一个类中添加新的行为的设计模式.就功能而言,修饰模式相比生成子类更为灵活,这样可以给某个对象而不是整个类添加一些功能. 装饰模式的UM ...

  4. 如何保证Redis中的数据都是热点数据

    redis 内存数据集大小上升到一定大小的时候,就会施行数据淘汰策略.redis 提供 6种数据淘汰策略:volatile-lru:从已设置过期时间的数据集(server.db[i].expires) ...

  5. 在chrome开发者工具中观察函数调用栈、作用域链、闭包

    在chrome的开发者工具中,通过断点调试,我们能够非常方便的一步一步的观察JavaScript的执行过程,直观感知函数调用栈,作用域链,变量对象,闭包,this等关键信息的变化.因此,断点调试对于快 ...

  6. UOJ 310 黎明前的巧克力(FWT)

    [题目链接] http://uoj.ac/problem/310 [题目大意] 给出一个数集,A从中选择一些数,B从中选择一些数,不能同时不选 要求两者选择的数异或和为0,问方案数 [题解] 题目等价 ...

  7. Git 简易使用指南及补充

    Git最简易的使用指南 助你开始使用 git 的简易指南,木有高深内容,;) 安装 下载 git OSX 版 下载 git Windows 版 下载 git Linux 版 创建新仓库 创建新文件夹, ...

  8. hdu 4118 dfs

    题意:给n个点,每个点有一个人,有n-1条有权值的边,求所有人不在原来位置所移动的距离的和最大值.不能重复 这题的方法很有看点啊,标记为巩固题 Sample Input 1 4 1 2 3 2 3 2 ...

  9. hdu 4535 错排

    题意:错排 链接:点我 百年难得一遇大水题 #include<cstdio> #include<iostream> #include<algorithm> #inc ...

  10. 【BZOJ】2730: [HNOI2012]矿场搭建【Tarjan找割点】【分联通块割点个数】

    2730: [HNOI2012]矿场搭建 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 3230  Solved: 1540[Submit][Stat ...