在Java程序中使用Hibernate
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的更多相关文章
- 在Java Web程序中使用Hibernate
在Java Web程序中使用Hibernate与普通Java程序一样.本文中将使用Servlet和JSP结合Hibernate实现数据库表的增删改查操作. Web程序中,hibernate.cfg.x ...
- Linux上从Java程序中调用C函数
原则上来说,"100%纯Java"的解决方法是最好的,但有些情况下必须使用本地方法.特别是在以下三种情况: 需要访问Java平台无法访问的系统特性和设备: 通过基准测试,发现Jav ...
- 在网页程序或Java程序中调用接口实现短信猫收发短信的解决方案
方案特点: 在网页程序或Java程序中调用接口实现短信猫收发短信的解决方案,简化软件开发流程,减少各应用系统相同模块的重复开发工作,提高系统稳定性和可靠性. 基于HTTP协议的开发接口 使用特点在网页 ...
- 如何在java程序中调用linux命令或者shell脚本
转自:http://blog.sina.com.cn/s/blog_6433391301019bpn.html 在java程序中如何调用linux的命令?如何调用shell脚本呢? 这里不得不提到ja ...
- Java程序中调用Python脚本的方法
在程序开发中,有时候需要Java程序中调用相关Python脚本,以下内容记录了先关步骤和可能出现问题的解决办法. 1.在Eclipse中新建Maven工程: 2.pom.xml文件中添加如下依赖包之后 ...
- 在java程序中访问windows有用户名和密码保护的共享目录
在java程序中访问windows有用户名和密码保护的共享目录 Posted on 2015-11-20 14:03 云自无心水自闲 阅读(3744) 评论(0) 编辑 收藏 --> Jav ...
- java程序中默认浮点形值常量是什么类型的?如何区分不同类型的浮点型整数值常量?
java程序中默认浮点形值常量是什么类型的 默认的所有的浮点型数值都是double型
- java程序中默认整形值常量是什么类型的?如何区分不同类型的整型数值常量?
java程序中默认整形值常量是什么类型的?如何区分不同类型的整型数值常量? 整数值默认就是int类型,只有在数值常量后面加“L”或“l”才表明该常量是long型
- java程序中获取kerberos登陆hadoop
本文由作者周梁伟授权网易云社区发布. 一般我们在使用kbs登陆hadoop服务时都直接在shell中调用kinit命令来获取凭证,这种方式简单直接,只要获取一次凭证之后都可以在该会话过程中重复访问.但 ...
随机推荐
- Dubbo中多协议
Dubbo 允许配置多协议,在不同服务上支持不同协议或者同一服务上同时支持多种协议 1.不同服务不同协议配置 不同服务在性能上适用不同协议进行传输,比如大数据用短连接协议,小数据大并发用长连接协议 & ...
- Dubbo的容错与负载均衡
虽然前面在介绍dubbo中写过这块内容,但是不够充分,这里详细写一下,在以后研究中,还会继续补充程序原理. 一:容错 1.机制 在集群调用失败时,Dubbo 提供了多种容错方案,缺省为 failove ...
- 微信JS-SDK之图像接口开发详解
由于现在手头的项目中有一个上传证件照认证的功能(手机端),之前的思路是直接点击上传,然后直接将图片上传到服务器去,这篇文章有讲到(http://www.cnblogs.com/it-cen/p/453 ...
- HDU - 5999 The Third Cup is Free 贪心 简单题
The Third Cup is Free Time Limit: 12000/6000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/O ...
- 【原创】MySQL Replay线上流量压测工具
一. 背景 去年做过一次mysql trace 重放的测试,由于performance schema本身采集样本的长度等限制,实际回放的成功率比较低. 最近找到一款开源的工具,基于TCPCopy实现了 ...
- Luogu 4492 [HAOI2018]苹果树 组合数
https://www.luogu.org/problemnew/show/P4492 找每个编号的点的父边的贡献,组合数和阶乘就能算了. 我考场上怎么就是没想到呢. 调了好久好久好久好久调不出来,样 ...
- BZOJ 3130: [Sdoi2013]费用流 网络流 二分 最大流
https://www.lydsy.com/JudgeOnline/problem.php?id=3130 本来找费用流的题,权当复习一下网络流好了. 有点麻烦的是double,干脆判断大小或者二分增 ...
- ST-PUZZLE-2.0(一个益智游戏)
注:未经博主允许不得转载. 原文链接:http://www.cnblogs.com/Blog-of-Eden/p/9060300.html 和 https://i-m-eden.github.io/2 ...
- 【BZOJ】2561: 最小生成树【网络流】【最小割】
2561: 最小生成树 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 2685 Solved: 1253[Submit][Status][Discu ...
- 最小生成树-普利姆算法eager实现
算法描述 在普利姆算法的lazy实现中,参考:普利姆算法的lazy实现 我们现在来考虑这样一个问题: 我们将所有的边都加入了优先队列,但事实上,我们真的需要所有的边吗? 我们再回到普利姆算法的lazy ...