快捷配置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{@Testpublic 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();}}@Testpublic 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查看。
效果如下:
转载于:https://www.cnblogs.com/claricre/p/6509931.html
快捷配置Hibernate实现对数据库的配置(构建通道)相关推荐
- nhibernate mysql配置_NHibernate 连接多数据库怎么配置?
NHibernate 连接多数据库怎么配置?是不是连一个数据库,就创建一个NHibernate.cfg.xml 或 配置文件?如果要连接6个数据库,就要创建6个配置文件,太麻烦了吧!有没有简单的写法? ...
- mysql mac 环境变量配置_mac安装mysql数据库及配置环境变量
安装mysql 下载mysql.我下载的是:mysql-8.0.11-macos10.13-x86_64.dmg 双击打开mysql-8.0.11-macos10.13-x86_64.dmg,然后双击 ...
- 配置mysql命令_Mysql 数据库常用配置命令
1.查看mysql数据库默认编码: mysql> show variables like "character%"; +--------------------------+ ...
- nhibernate mysql配置_NHibernate 连接多数据库怎么配置
展开全部 在开发一些项目时,会使用到多个数据库e5a48de588b662616964757a686964616f31333361313338.例如类A保存在数据库A,类B保存在数据库B.NHiber ...
- django oracle数据库配置,使用Oracle 11g数据库issu配置django
问题是Django 2.0.2仅支持oracle 12g.请检查以下内容: 此外,您还可以检查sql失败,如下面的问题(添加到管理.py打印(查询)行) 我已经按照第一个问题中的建议将其降级到djan ...
- Hibernate→ORM、简介、第一个Hibernate实现、核心XML配置、Hibernate执行流程、操作数据库对象session、事务、映射XML配置、单例CRUD、get与load
OMR Hibernate 官网 http://hibernate.org/ 第一个Hibernate实现 配置文件 持久化类 关系映射文件 测试类 代码 hibernate.cfg.xml常用配置 ...
- hibernate mysql 映射_Hibernate怎么不用配置mapping就使用数据库表映射实体
用xml配置时就需要每建一个表就hibernate-cfg-xml里加入它的映射.如果不用加入此代码就实现映射就要用注解的方式,系统会根据你的注解自动映射对应的数据表,实现几乎xml文件的零配置. 例 ...
- 在JAVA EE中配置hibernate以及hibernate hello world
为什么80%的码农都做不了架构师?>>> 这篇文章主要介绍hibernate的配置以及如何实现hello world.至于如何使用maven等工具获取到hibernate的ja ...
- hibernate mysql 自动建表_配置hibernate根据实体类自动建表功能
Hibernate支持自动建表,在开发阶段很方便,可以保证hbm与数据库表结构的自动同步. 如何使用呢?很简单,只要在hibernate.cfg.xml里加上如下代码 Xml代码update upda ...
最新文章
- java程序重新执行一遍_我怎么在jsp里只执行其中一小段java代码,而不把整个页面都重新加载一遍?...
- 阅读笔记一——java高并发的性能优化
- 关于将一个数输出为原码、反码和补码的解惑
- 我眼中的JavaScript函数式编程
- Scrapy中的splash的安装应用
- C:C++ 函数返回多个参数
- 虚拟机使用桥接模式设置Linux静态IP
- muduo网络图书馆评测
- socket通信需要网线连接吗_从socket到TCP协议,透彻理解网络编程
- android数字提示错误,从服务器接收数据时出现Android错误
- 推荐系统组队学习——WideDeep
- 推荐阅读20100603
- 《从容一生》俞敏洪 书摘
- python 字母查找
- 【知识蒸馏】Deep Mutual Learning
- 2022-2028年中国民营医疗行业市场运营态势及投资战略规划报告
- OculusClient登录错误“发生意外错误,请稍后重试(OVR40779122)”解决方法
- linux 设备树 otg,linux下充电IC OTG设备供电控制
- NCS8803 高级缩放功能的低功耗HDMI到DisplayPort / eDP转换芯片
- 机器学习模型选择:调参参数选择
热门文章
- 计算机小知识分享,分享几小个计算机操作技巧
- STM32H743+Cube-Keil上移植RTX5实时系统
- 微信小程序 自动解决分包大小问题_微信小程序分包加载设置
- python怎么筛选excel数据_【In Action】工具-2-用Excel三分钟才能完成的复杂筛选,python十秒完成...
- the sdk seems invalid._直播平台中必不可少的美颜SDK
- Linux笔记-rpm与yum的基本概念
- Linux笔记-解决QtCreator中qDebug不打印的问题
- dubbo调用超时回滚_面试必问之Dubbo面试题
- 土是独体字结构吗_205砂浆、混凝土强度等级与定额不同时,你会调整换算吗?...
- 文件系统位于服务器,如何访问hadoop文件系统上的文件,该文件系统位于与本地计算机不同的服务器上?...