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. 002 使用Appender扩展logger框架

    这个地方,在看公司的源代码的时候,写的知识点: 现在再看,竟然不是太懂,重新写一份新的文档,外加示例说明. 一:说明 1.log4j 环境的三个主要组件: logger(日志记录器):控制要启用或禁用 ...

  2. 搭建 Android 集成开发环境

    在搭建 Android 集成开发环境之前,我想说的是,我们学习的目标是同时掌握移动开发三种方式:iOS开发.Android开发和Html5手机网页开发.由于iOS的开发工具是采用苹果官方的XCode, ...

  3. 全局设置axios发送cookie(axios 默认不发送cookie)

    import axios from 'axios' axios.defaults.withCredentials=true; 如图:

  4. java异常及日志注意事项

    一.异常注意事项 简单整理了下关于异常的规范: 1)      在异常处理模块中应提供精确.易读的错误原因信息. 2)      不要处理能够避免的异常. 3)      一个方法不应该抛出太多类型的 ...

  5. bzoj 3211 线段树

    开方操作最多进行5次就可以把出现的任何数变成1. 所以用线段树暴力修改,以后修改时只需看一下是否当前区间都是0或1,如果是那么就直接返回. /***************************** ...

  6. mac下递归创建ctags报错: "illegal option -- R"

    在mac系统下不论是使用vim还是sublime text2的ctags插件都会碰到“illegal option -- R”这个错误,原因是mac使用的是自己的ctags,而我们通常在linux或w ...

  7. Ajax提交进度显示实例

    概述:ajax提交比较大的文件的时候,我们希望能够看到它上传的进度,代码放下面了. <!DOCTYPE html> <html> <head> <meta c ...

  8. python开发_thread_线程_搜索本地文件

    在之前的blog中,曾经写到过关于搜索本地文件的技术文章 如: java开发_快速搜索本地文件_小应用程序 python开发_搜索本地文件信息写入文件 下面说说python中关于线程来搜索本地文件 利 ...

  9. UVA 2474 - Balloons in a Box 爆搜

    2474 - Balloons in a Box 题目连接: https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&a ...

  10. CodeForces 128D Numbers 构造

    D. Numbers time limit per test 2 seconds memory limit per test 256 megabytes input standard input ou ...