快捷配置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(与实体为同一目录中) < ...
随机推荐
- Memo 的当前行、当前列与当前字符
procedure TForm1.Memo1Click(Sender: TObject); begin Text := Format('当前列:%d, 当前行:%d', [Memo1.CaretP ...
- --@angularJS--独立作用域scope绑定策略之&符策略
1.index.html: <!DOCTYPE HTML><html ng-app="app"><head> <title>s ...
- 界面编程与视图(View)组件
一.视图组件与容器组件 Android应用的绝大部分UI组件都放在android.widget包及其子包.android.view包及其子包中,Android应用的所有UI组件都继承了View类. V ...
- 结合swiper使用图片懒加载
本人渣渣一枚,技术一般,记录下笔记,大神勿喷,可以留下优化建议,谢谢 最近刚刚做了个展示型的网站,使用swiper搭的框架,因为图片比较多,所 以首次加载稍微有些慢,虽然压缩过了,但是尽可能的优化吧, ...
- Bootstrap入门(二十三)JS插件1:模态框
Bootstrap入门(二十三)JS插件1:模态框 1.静态实例 2.动态实例 3.模态框的尺寸和效果 4.包含表单的模态框 模态框经过了优化,更加灵活,以弹出对话框的形式出现,具有最小和最实用的功能 ...
- Eclipse安装git
用Eclipse开发,如果需要团队协作,git作为分布式版本管理工具就是个比较好的选择.下面简单介绍一下git插件的安装方法: 1.Help -- install new software 打开插件安 ...
- HDU2063(二分图最大匹配)
过山车 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submiss ...
- Go并发编程实践
前言 并发编程一直是Golang区别与其他语言的很大优势,也是实际工作场景中经常遇到的.近日笔者在组内分享了我们常见的并发场景,及代码示例,以期望大家能在遇到相同场景下,能快速的想到解决方案,或者是拿 ...
- DB2函数大全
DB2函数大全 函数名 函数解释 函数举例 AVG() 返回一组数值的平均值. SELECTAVG(SALARY)FROMBSEMPMS; CORR(),CORRELATION() 返回一对数值的关系 ...
- linq左连接查询加上into后怎么查询右表是否为空
//判断右表是否为空并为映射表进行赋值标志var query=from q in product join m in favProduct on q.Name equals m.Name into t ...