首先在数据库中创建相应的表,脚本如下:
create table Student
(id int primary key,
sName varchar(50),
sNO varchar(50),
sex varchar(50),
email varchar(50))
在Myeclipse里创建一个项目,创建项目的步骤就不多说了。
然后通过Myeclipse右上角的模式选择Myeclipse Database explorer,在左边的预览框里New一个新的连接,填入你要连接数据库相应的参数,其他的默认即可。
创建完连接之后就可以看到相应的表。
切换回Myeclipse默认的编辑模式,新建实体类,
public class Student {
private String id;
private String sname;
private String sno;
private String sex;
private String email;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getSname() {
return sname;
}
public void setSname(String sname) {
this.sname = sname;
}
public String getSno() {
return sno;
}
public void setSno(String sno) {
this.sno = sno;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
} }
在Myeclipse Database explorer模式下找到相应的表,右键菜单Hibernate reverse Engineering ,
选择相应的包,选择创建hbm文件,其他默认即可,
完成之后在bean包下多出一个hbm.xml文件,这个ORM映射文件。
然后创建一个操作类:
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import org.rong.bean.Student; public class StudentOperate {
private Session session=null; public StudentOperate() {
Configuration config=new Configuration().configure();
SessionFactory facetory=config.buildSessionFactory();
this.session=facetory.openSession();
}
public void insert(Student student){
Transaction tran=this.session.beginTransaction();
this.session.save(student);
tran.commit();
}
public void update(Student stu){
Transaction tran=this.session.beginTransaction();
this.session.update(stu);
tran.commit();
}
public void delete(Student stu){
Transaction tran=this.session.beginTransaction();
this.session.delete(stu);
tran.commit();
}
}
创建一个测试类:
public class StudentTest {
public static void main(String[] args) {
// TODO Auto-generated method stub
//生成POJO类实例化对象
Student stu=new Student();
stu.setId("008");
stu.setSname("dsfhjdfu");
stu.setSno("0313098");
stu.setSex("男");
stu.setEmail("dfreredw@163.com"); //实例化 StudentOperate 对象
StudentOperate op=new StudentOperate();
op.insert(stu); }
}
运行测试类,到数据库查看相应的内容。
如果想看到执行的sql语句,可设置Hibernate.xfg.xml文件:
再运行前面的语句,即可看到:
可以修改调用方法,去验证删除、更新等操作。
Hibernate 简单使用的更多相关文章
-
菜鸟学习Hibernate——简单的增、删、改、查操作
上篇博客利用Hibernate搭建起一个简单的例子,把数据库的映射显示了出来在上一篇的博客基础上这篇博客讲述如何利用Hinbernate框架实现简单的数据库操作. 1.加入junit.jar 2.新建 ...
-
新秀学习Hibernate——简单的增加、删、更改、检查操作
部分博客使用Hibernate单的样例,把数据库的映射显示了出来在上一篇的博客基础上这篇博客讲述怎样利用Hinbernate框架实现简单的数据库操作. 1.增加junit.jar 2.新建一个工具类H ...
-
Hibernate二次学习一----------Hibernate简单搭建
因为博客园自带的markdown不太好用,因此所有markdown笔记都使用cmd_markdown发布 Hibernate二次学习一----------Hibernate简单搭建: https:// ...
-
Spring+SpringMVC+Hibernate简单整合(转)
SpringMVC又一个漂亮的web框架,他与Struts2并驾齐驱,Struts出世早而占据了一定优势,下面同样做一个简单的应用实例,介绍SpringMVC的基本用法,接下来的博客也将梳理一下Str ...
-
【hibernate】<;第一节>;hibernate简单入门
所需工具: ide:eclipse or myeclipse jdk:1.7 jar包:hibernate-distribution-3.6.0.Final 和对应mysql的驱动类(对应jar包如图 ...
-
菜鸟学习Hibernate——简单的一个例子
一.Hibernate开发. 上篇博客已经为大家介绍了持久层框架的发展流程,持久层框架的种类. 为了能够使用Hibernate快速上手,我们先讲解一个简单的Hibernate应用实例hibernate ...
-
Intellij IDEA的Hibernate简单应用
1.创建数据库及其表 create database demo; use demo; CREATE TABLE `user` ( `id` int(10) unsigned NOT NULL ...
-
hibernate简单应用
Hibernate 第二章 核心API 和CURD实现 核心API介绍 单表操作方法 查询hql语句 1.认识hibernate 核心思想ORM:实现数据库中的文件一一映射为java中的实体类. 使用 ...
-
Hibernate简单的基础理论
和Hibernate有关的概念,是掌握Hibernate必须了解的知识.就个人经验来说,可以在了解如何简单开发Hibernate之后,再来学习这些概念,这样可以有个比较清楚的认识.Hibernate是 ...
-
hibernate简单介绍
1. Hibernate是什么? hibernate是 轻量级的 ORM 框架. ORM全称object/relationmapping [对象/关系映射]. Hibernate主要用来实现Jav ...
随机推荐
-
《Entity Framework 6 Recipes》中文翻译系列 (6) -----第二章 实体数据建模基础之使用Code First建模自引用关系
2-5 使用Code First建模自引用关系 问题 你的数据库中一张自引用的表,你想使用Code First 将其建模成一个包含自关联的实体. 解决方案 我们假设你有如图2-14所示的数据库关系图的 ...
-
RabbitMQ的工作队列和路由
工作队列:Working Queue 工作队列这个概念与简单的发送/接收消息的区别就是:接收方接收到消息后,可能需要花费更长的时间来处理消息,这个过程就叫一个Work/Task. 几个概念 分 ...
-
为什么24位位图(真彩色)的biSizeImage不等于(biWidth*biBitCount+31)/32*4*biHeight?
规定的,规定BMP文件的像素数据是按行存储的,而且每行的字节数必须为4的倍数,如果实际的像素数据不是4的倍数咋办?这就需要字节对齐,对齐是在一行的末尾添0以补足一行的字节数为4的倍数, ( biWid ...
-
$POST数组论证($GET || $COOKIE || $REQUEST 同理)
我觉得还是有多个$_POST 如果只有一个$_POST,那么,多个人[同时]提交的话就不好处理 或者一个$_POST 时间限制(如同时钟周期)处理(不可能,不然响应没这么快) 或者 一个$_POS ...
-
常用oracle查询总结
--查询表空间使用情况 SELECT UPPER(F.TABLESPACE_NAME) "表空间名", D.TOT_GROOTTE_MB "表空间大小(M)", ...
-
Elasticsearch java api 常用查询方法QueryBuilder构造举例
转载:http://m.blog.csdn.net/u012546526/article/details/74184769 Elasticsearch java api 常用查询方法QueryBuil ...
-
Dva三种方式实现dispatch的Promise回调
Dva2.0及以上版本 使用官方自带的Promise // 业务组件 e.g: Tags.js dispatch({ type: 'user/add', payload: {}, // 需要传递的信息 ...
-
Python 正在表达式
什么是正则表达式 正则表达式:是一组特殊的字符序列,又称为规则表达式,它能方便你检查一个字符串是否与某种模式匹配.通常用来检索和替换那些符合某些模式的文本.python中的re模块,实现了全部的正则表 ...
-
JavaScript 作用域链解析
JavaScript 中有 Scope( 作用域 ) , Scope chain( 作用域链 ) , Execute context( 执行上下文 ) , Active Object ( 活动对象 ) ...
-
ZAB 算法
ZAB (Zookeeper Atomic Broadcast ) zookeeper原子消息广播协议 保证:分布式数据一致性 所有事务请求必须由一个全局唯一的服务器来协调处理,这样的服务器被称为 ...