快捷配置Hibernate实现对数据库的配置(构建通道)
在基于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实现对数据库的配置(构建通道)的更多相关文章
- hibernate.cfg.xml文件的配置模板和不同数据库的配置參数
(1)hibernate.cfg.xml文件的配置模板 <?xml version="1.0" encoding="UTF-8"?> <!DO ...
- Hibernate连接各种数据库的配置
转自CSDN shl7765856的专栏:http://blog.csdn.net/shl7765856/article/details/7411987 目录: 1.MySql连接配置 2.Sql S ...
- hibernate 连接oracle数据库的配置 (参考)
<?xml version='1.0' encoding='UTF-8'?><!DOCTYPE hibernate-configuration PUBLIC &qu ...
- Hibernate连接mysql数据库的配置
<?xml version='1.0' encoding='utf-8'?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hi ...
- 在配置hibernate.cfg.xml时需指定使用数据库的方言:
在配置hibernate.cfg.xml时需指定使用数据库的方言: 例: <property name="dialect">org.hibernate.dialect. ...
- Hibernate 数据库方言配置;no dialect mapping for jdbc type:-9;生僻字
最近因为生僻字在界面上显示为?: 主要原因是该字段在数据库中就是varchar类型,显示的就是?:如䶮(yan):现把varchar类型改为nvarchar类型:数据中能够正常显示: 但是Spring ...
- Intellij Idea 15 下新建 Hibernate 项目以及如何添加配置
1.说明:Idea 下,项目对应于 Eclipse 下的 workspace,Module 对应于 Eclipse 下的项目.Idea 下,新添加的项目既可以单独作为一个 Project,也可以作为一 ...
- hibernate+mysql的连接池配置
1:连接池的必知概念 首先,我们还是老套的讲讲连接池的基本概念,概念理解清楚了,我们也知道后面是怎么回事了. 以前我们程序连接数据库的时候,每一次连接数据库都要一个连接,用完后再释放.如果频繁的 ...
- Hibernate实现有两种配置,xml配置与注释配置
hibernate实现有两种配置,xml配置与注释配置. (1):xml配置:hibernate.cfg.xml (放到src目录下)和实体配置类:xxx.hbm.xml(与实体为同一目录中) < ...
随机推荐
- python 自动化之路 day 13
本节内容参考博客: http://www.cnblogs.com/wupeiqi/articles/5132791.html http://www.cnblogs.com/wupeiqi/articl ...
- PHP导出MYSQL数据库并压缩
PHP可以一键导出MYSQL备份文件,并压缩存放,尽管phpMyAdmin有这功能,不过若你自己开发网站或者是为别人写CMS,你不应该要求别人用你程序的时候再去另外用phpMyAdmin备份MYSQL ...
- 简单的cd命令
cd ~ :进入home目录 cd :进入home目录 cd - :进入上一个目录 cd /home/venn : 进入指定目录 当然,我想说的是cd(不加任何路径),进入home目录
- php模式设计之 策略模式
策略模式: 策略模式设计帮助构建的对象不必自身包含逻辑,而是能够根据需要利用其他对象中的算法. 使用场景: 例如有一个CD类,我们类存储了CD的信息. 原先的时候,我们在CD类中直接调用getCD方法 ...
- GWAS
GWAS的数据形式:SNP数据,即各个SNP位点的aa,Aa,AA基因型与疾病状态(0正常,1患病)的样例-对照数据. 在遗传流行病学上,全基因组关联研究(Genome Wide Associatio ...
- C-Sharp网络编程案例解析(Socket类的使用)
Server端: using System; using System.Collections.Generic; using System.Text; using System.Net; using ...
- python 安装与pip安装
在大二的时候接触过一段时间的Python,最近又开始玩起了这门语言.总的来说,个人很喜欢Python的语言风格,但是这门语言对于windows并不算很友好,因为如果是初学者在windows环境下安装, ...
- Web前端常用快捷键总结(OS X系统)
OS X系统截图:command + shift + 4 强制关闭OS X系统内无响应的程序:command + option +ESC Sublime Text 3: 显示或隐藏Side Bar:c ...
- Git学习之路(1)-Git简介
▓▓▓▓▓▓ 大致介绍 Git是一款免费.开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目,可以有效.高速的处理从很小到非常大的项目版本管理. Git 是 Linus Torvalds ...
- windows下Visual Studio Code 1.9安装
点击送你去官网下载vs code 进入下载页面如下 下载完成双击安装 安装完成打开之后如下图,最新版的默认中文就挺好的! 注意下面是微软建议: Note: .NET Framework 4.5.2 i ...