在基于MVC设计模式的JAVA WEB应用中,Hibernate可以作为模型层/数据访问层。它通过配置文件(hibernate.properties或hibernate.cfg.xml)和映射文件(***.hbm.xml)把JAVA对象或PO(Persistent Object,持久化对象)映射到数据库中的数据库,然后通过操作PO,对数据表中的数据进行增,删,改,查等操作。

  但是如果Hibernate配置完全通过手动来进行写入的时候,极易出现错误,并且略有繁琐,下面介绍的就是如何利用eclipse快捷建立数据访问层的增删改查。

  一、新建一个web项目

  二、复制包

  把Hibernate和数据访问的包导入lib文件夹中

  

  三、配置hibernate configurations

  “窗口”--“显示视图”--“其它”-“hibernate configurations”

  四、

  在"hibernate configurations"窗口中右击,选择“Add Configuration”(即在上图中空白处右击)

  这里的5.2是导入lib文件的jar包的Hibernate版本,project选择你要操作的项目,Database connection默认是没有的,这时候就需要选择New 新建一个数据连接

  这里用什么的数据库就选择什么类型的。

  接下来的configuration file继续选setup,选择新建一个,然后选择你的项目放到src源文件夹之下

  下一步

  完成后,到这一步基本实现了对数据库通道的配置文件的建立,接下来就是运行生成配置文件。

  首先,打开Hibernate的透视图

  然后是运行Hibernate Code Generation配置

  左侧列表处新建配置

按照如上所示填写时,在reveng.xml选择setup时,选择好在src之下建立文件下一步之后,出现如下对话框

  点击refresh,选择你的数据库所用的表,添加至右侧,点击完成,点击运行,这时候你的Hibernate配置数据库构建通道就基本实现完毕了。

  测试实现功能

  新建HibernateUtil类

package com.model;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration; public class HibernateUtil {
private static final ThreadLocal<Session> threadLock = new ThreadLocal<Session>();
private static final SessionFactory factory = buildFactory(); private static SessionFactory buildFactory() {
Configuration cfg = new Configuration().configure();
return cfg.buildSessionFactory();
}
public static Session getSession(){
Session session = threadLock.get();
if(session ==null){
session = factory.openSession();
threadLock.set(session);
}
return session;
} public static void closeSession(){ Session session = threadLock.get();
if(session !=null){
threadLock.set(null);
session.close(); }
}
}

  新建一个Test源文件夹,创建名与src一样的包名,新建测试TestRelation.java

package com.model;

import org.hibernate.Session;
import org.junit.Test; import junit.framework.TestCase; public class TestRelation extends TestCase{
@Test
public void testone2one(){
Session session = null;
try{
session= HibernateUtil.getSession();
Info i = session.load(Info.class, "p002");
System.out.println(i.getName());
}
catch(Exception ex){
ex.getStackTrace();
}
finally{
HibernateUtil.closeSession();
} }
@Test
public void testone2many(){
Session session = null;
try{
session= HibernateUtil.getSession();
Work w = session.load(Work.class, 5);
System.out.println(w.getFirm());
}
catch(Exception ex){
ex.getStackTrace();
}
finally{
HibernateUtil.closeSession();
} } }

  这里用到了一个jar包,junit-4.12.jar。是为了用大纲的测试文件直接测试使用的。

  直接右键两个静态方法运行junit查看。

  效果如下:

快捷配置Hibernate实现对数据库的配置(构建通道)的更多相关文章

  1. hibernate.cfg.xml文件的配置模板和不同数据库的配置參数

    (1)hibernate.cfg.xml文件的配置模板 <?xml version="1.0" encoding="UTF-8"?> <!DO ...

  2. Hibernate连接各种数据库的配置

    转自CSDN shl7765856的专栏:http://blog.csdn.net/shl7765856/article/details/7411987 目录: 1.MySql连接配置 2.Sql S ...

  3. hibernate 连接oracle数据库的配置 (参考)

    <?xml version='1.0' encoding='UTF-8'?><!DOCTYPE hibernate-configuration PUBLIC          &qu ...

  4. Hibernate连接mysql数据库的配置

    <?xml version='1.0' encoding='utf-8'?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hi ...

  5. 在配置hibernate.cfg.xml时需指定使用数据库的方言:

    在配置hibernate.cfg.xml时需指定使用数据库的方言: 例: <property name="dialect">org.hibernate.dialect. ...

  6. Hibernate 数据库方言配置;no dialect mapping for jdbc type:-9;生僻字

    最近因为生僻字在界面上显示为?: 主要原因是该字段在数据库中就是varchar类型,显示的就是?:如䶮(yan):现把varchar类型改为nvarchar类型:数据中能够正常显示: 但是Spring ...

  7. Intellij Idea 15 下新建 Hibernate 项目以及如何添加配置

    1.说明:Idea 下,项目对应于 Eclipse 下的 workspace,Module 对应于 Eclipse 下的项目.Idea 下,新添加的项目既可以单独作为一个 Project,也可以作为一 ...

  8. hibernate+mysql的连接池配置

    1:连接池的必知概念    首先,我们还是老套的讲讲连接池的基本概念,概念理解清楚了,我们也知道后面是怎么回事了. 以前我们程序连接数据库的时候,每一次连接数据库都要一个连接,用完后再释放.如果频繁的 ...

  9. Hibernate实现有两种配置,xml配置与注释配置

    hibernate实现有两种配置,xml配置与注释配置. (1):xml配置:hibernate.cfg.xml (放到src目录下)和实体配置类:xxx.hbm.xml(与实体为同一目录中) < ...

随机推荐

  1. Quartz2D 之 绘制文本

    1. 基础概念 1.1. 字体(Font) 同一大小.同一样式的字形的集合. 1.2. 字符(Character) 字符表示信息本身,一般指某种编码,如Unicode编码. 1.3. 字形(Glyph ...

  2. Flash中图片的逐步加载

    在Flash中,有Loader类,可以从外部载入一张图片(或swf文件).但是有个不好的地方就是,不像浏览器那样一边下载一边显示.所幸的是,Flash提供了Loader.loadBytes方法和URL ...

  3. 你真的懂ajax吗?

    前言 总括: 本文讲解了ajax的历史,工作原理以及优缺点,对XMLHttpRequest对象进行了详细的讲解,并使用原生js实现了一个ajax对象以方便日常开始使用. damonare的ajax库: ...

  4. saiku的源码包Bulid常见问题和jar包

    最近在做kylin+mondrian+saiku的二次开发的时候,Bulid saiku的源码出现了很多问题,基本上一大部分问题jar找不到问题,很多jar国内网站都找不到.这时候只有手动下载然后注册 ...

  5. Struts2标签--S:iterator----jsp页面遍历双层list

    双层遍历,第一层list为classes,里面放的是班级class对象,第二层为班级class里的小组groups.     <s:iterator value="classes&qu ...

  6. zabbix3.2.3安装部署

    安装nginx [root@xuegod64 ~]# yum install -y gcc gcc-c++ autoconf automake zlib zlib-devel openssl open ...

  7. iOS页面间传值的五种方式总结(Delegate/NSNotification/Block/NSUserDefault/单例)

    iOS页面间传值的方式(Delegate/NSNotification/Block/NSUserDefault/单例) iOS页面间传值的方式(NSUserDefault/Delegate/NSNot ...

  8. Windows服务的创建、安装、卸载

    1.新建Window服务项目 2.添加安装配置文件 3.serviceProcessInstaller1右键属性,设置Account属性为LocalSystem. serviceInstaller1右 ...

  9. form表单的两种提交方式,submit和button的用法

    1.当输入用户名和密码为空的时候,需要判断.这时候就用到了校验用户名和密码,这个需要在jsp的前端页面写:有两种方法,一种是用submit提交.一种是用button提交.方法一: 在jsp的前端页面的 ...

  10. 分布式缓存技术memcached学习系列(四)—— 一致性hash算法原理

    分布式一致性hash算法简介 当你看到"分布式一致性hash算法"这个词时,第一时间可能会问,什么是分布式,什么是一致性,hash又是什么.在分析分布式一致性hash算法原理之前, ...