Linux下用intellij idea手动创建一个hibernate项目.docx_第1页
Linux下用intellij idea手动创建一个hibernate项目.docx_第2页
Linux下用intellij idea手动创建一个hibernate项目.docx_第3页
Linux下用intellij idea手动创建一个hibernate项目.docx_第4页
Linux下用intellij idea手动创建一个hibernate项目.docx_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Linux下用intellij idea手动创建一个hibernate项目 学习过韩顺平老师的hibernate视频教程后,我觉得在以后的学习生活中经常养成做笔记的习惯;一来希望能够养成一个好习惯,二来希望能够有益于他人。学习的东西越多,就越有可能遇到别人没有解决的问题,如果我的分享能够给别人带来一点帮助,那也是再好不过了。 废话不多说,我现在总结一下在linux下使用intellij idea14.0和mysql Ver 14.14 Distrib 5.6.27和hibernate5.0.6建立一个hibernate项目的过程。1假设你已经安装好了intellij,mysql,并且下载好了hibernate包。2建立三个包,domain包【用于存放类class】,service包【暂不做介绍】,view包【视图包用于测试】,如下图所示:3 Employee类文件如下:package com.hsp.domain;import java.io.Serializable;import java.util.Date;/* * Created by xcl on 15-12-22. */建议我们domain对象的名称就是关系名的大写/该类所产生的对象是需要持久存储和被映射到关系中去的对象public class Employee implements Serializable private Integer id; private String name; private String email; private java.util.Date hireDate; public Integer getId() return id; public void setId(Integer id) this.id = id; public String getName() return name; public void setName(String name) = name; public Date getHireDate() return hireDate; public void setHireDate(Date hireDate) this.hireDate = hireDate; public String getEmail() return email; public void setEmail(String email) this.email = email; 4建立Employee类的对象关系转换控制文件,该文件命名为:Employee.hbm.xml,该文件至关重要,因为他决定了如何将Employee产生的对象映射到关系中去。注意:该文件需要与Employee类放在同一个目录下面【domain包中】。 5在src目录下面建立hibernate.cfg.xml,该文件名字不得改变,否则需要建立Configuration的时候指定该数据库配置文件。我们在该文件中配置使用的数据库并且指定控制和管理的对象关系映射文件Employee.hbm.xml com.mysql.jdbc.Driver root 0213 jdbc:mysql:/localhost:3306/xcl org.hibernate.dialect.MySQLDialect true 6点击file/project structure弹出如下界面把数据库mysql的驱动包和hibernate5.0.6目录下面的包require和osgi都添加到依赖dependencies中去。7至此,所有的配置已经完成,下面在数据库中建立一个数据库xcl和表employee,代码如下:Create database xcl;Use xcl;Create table employee(id int primary key,name char(9) not null,email varchar(20) not null,hireDate date not null);8在view包下建立一个工具类package com.hsp.view;import org.hibernate.cfg.Configuration;/* * Created by xcl on 15-12-22. */因为org.hibernate.cfg.Configuration类非常占用资源,因此用一个单例类来避免重复创建public class getConfiguration /设置单例 private getConfiguration() private static Configuration conf=null; /静态代码块在类加载的时候执行一次 static if(conf=null)conf=new Configuration().configure(); public static Configuration getConfigInstance() return conf; 以及测试类,以下测试类可以实现对employee表中元组的插入,删除,和更新。package com.hsp.view;import com.hsp.domain.Employee;import org.hibernate.Session;import org.hibernate.SessionFactory;import org.hibernate.Transaction;import org.hibernate.cfg.Configuration;import java.util.Date;/* * Created by xcl on 15-12-22. * 使用hibernate完成crud操作 */public class test /conf用来读取配置文件 static Configuration conf=null; static SessionFactory sf=null; static Session session=null; static conf=getConfiguration.getConfigInstance();/获取hibernate.cfg.xml配置文件中的信息并返回Configuration对象 sf=conf.buildSessionFactory();/获取会话工厂 session=sf.openSession();/通过会话工厂获取一个会话,特别注意,如果不通过建立SessionFactory对象sf来获取session而是直接通过Configuration.configure方法来获取session会话的话会导致进程无法关闭,切记。 public static void main(String args) /添加一个成员 /addAnEmployee(); /更新一个成员 /updateAnEmployee(); /删除一个成员 /deleteAnEmployee(); /closeResource(); private static void deleteAnEmployee() Transaction transaction=session.beginTransaction();/特别注意,所有的hibernate对象关系映射都需要通过事务来提交。 Employee e=session.load(Employee.class,3);/session的load方法,第一个参数位字节码对象,第二个是主键。 session.delete(e); mit(); private static void updateAnEmployee() Transaction transaction=session.beginTransaction(); Employee e=session.load(Employee.class,3); e.setName(李文鹏); mit(); private static void addAnEmployee() Transaction transection=session.beginTransaction(); Employee e=new Employee(); /e.setId(1); e.setName(许传炼); e.setE

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论