hibernate demo 搭建
User 接口:
public class User implements java.io.Serializable {private int id;private String name;private String password;private String type;User(){}public int getId(){return this.id;}public void setId(int id){this.id = id;}public void setName(String name){this.name = name;}public String getName(){return this.name;}public void setPassword(String password){this.password =password;}public String getPassword(){return this.password;}public void setType(String type){this.type = type;}public String getType(){return this.type;}
}
User.hbm.xml 映射文件
<?xml version="1.0" encoding="UTF-8">
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<!-- name 指定持久化类名 table 指定数据表-->
<class name="org.hibernate.entity.User" table="USER">
<!--将数据表和bean 映射对应起来-->
<id name="id" type="java.lang.Interger" column="USER_ID">
<generator class="increment">
</id><property name="name" type="java.lang.String" column="NAME" length="20">
</property><property name="password" type="java.lang.String" column="NAME" length="12">
</property><property name="type" type="java.lang.String" column="TYPE" length="6">
</property>
</class>
</hibernate-mapping>
hibernate.cfg.xml 配置文件
<?xml version="1.0" encoding="UTF-8">
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Configration DTD3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<!-- 数据库链接设置-->
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<!--数据库url-><property name="hibernate.connection.url" >
jdbc:mysql://localhost:3306/mysqldb
</property><property name="hibernate.connection.username" >mysql</property><property name="hibernate.connection.password" >123456</property>
<property name="hibernate.connection.pool_size" >1</property>
<property name="dialect" >org.hibernate.dialect.MySQLDialect</property>
<property name="show_sql" >true</property>
<!--列出所有映射文件-->
<mapping resource="org/hibernate/entity/User.hbm.xml"/>
</session-factory>
</hibernate-configuration>
UserADO 接口类:
public interface UserDAO {void save(User user);User findById(int id);void delete(User user);void update(User user);
}
H会bernateUtil实现类:
public class HibernateUtil{private static SessionFactory sessionFactory;private static final ThreadLocal<Session> threadLocal= new ThreadLocal<Session>();static {try{Configuration cfg = new Configuration().configure();sessionFactory = cfg.buildSessionFactory();}catch (Throwable ex){throew new ExceptionInInitializerError(ex);}}// 获得sessionfactory实例public static SessionFactory getSessionFactory(){return sessionFactory;}public static Sesstion getSession() throws HibernateExcaption{Session session = (Session) threadLocal.get();if(session == null || !session.isOpen()){if(sessionFactory == null){rebuildSesstionFactory();}session = (sessionFactory != null)? sessionFactory.openSession():null;threadLocal.set(session);}return session;}public staitc void closeSession() throws HibernateExcaption{Session session = (Session) threadLocal.get();threadLocal.setnull();if(session == null ) {sesstion.close();}}public static void rebuildSesstionFactory(){try{confuguration.confugure.(/hibernate.cfg.xml);sessionFactory configuration.buildSessionFactory();}catch(Exception e){System.err.println("error ncreate session factory.");e.printStackTrace();}}public static void shutdown(){getSessionFactory().close();}}
UserADOImpl 实现类:public class UserADOImpl implements UserDAO{public void save(User user){Session session = HibernateUtil.getSession();Transaction tx =session.beginTransaction();try{session.save(user);tx.commit();}catch(Exception e){e.printStackTrace();tx.rollback();}finally {HibernateUtil.closeSession();}}public void delete(User user){Session session = HibernateUtil.getSession();Transaction tx =session.beginTransaction();try{session.delete(user);tx.commit();}catch(Exception e){e.printStackTrace();tx.rollback();}finally {HibernateUtil.closeSession();}}public void update(User user){Session session = HibernateUtil.getSession();Transaction tx =session.beginTransaction();try{session.update(user);tx.commit();}catch(Exception e){e.printStackTrace();tx.rollback();}finally {HibernateUtil.closeSession();}}public User findByyId(int id){User user = null;Session session = HibernateUtil.getSession();Transaction tx =session.beginTransaction();try{user = session.get(User.class, id);tx.commit();}catch(Exception e){e.printStackTrace();tx.rollback();}finally {HibernateUtil.closeSession();}return user;}
}
hibernate demo 搭建相关推荐
- 简单的hibernate环境搭建、自动生成model/配置/hibernate.xml配置文件
自己亲测的东西才是最有效果的,下面贴出整个编写的过程. 1 hibernate环境搭建,这个博客非常给力:http://www.111cn.net/wy/js-ajax/93142.htm 需要用到的 ...
- 【流媒体服务器Mediasoup】环境部署与demo搭建(二)
目录 前言 服务器环境 NodeJs的安装 下载Demo源码 配置服务端 部署及测试 可能会遇到的问题 前言 上篇文章对MediaSoup进行简单的介绍 [MediaSoup]多人音视频架构.流媒体 ...
- 定时任务框架Quartz-(一)Quartz入门与Demo搭建
一.什么是Quartz 什么是Quartz? Quartz是OpenSymphony开源组织在Job scheduling领域又一个开源项目,完全由Java开发,可以用来执行定时任务,类似于java. ...
- Spring+SpringMvc+Hibernate 框架搭建
2019独角兽企业重金招聘Python工程师标准>>> 框架篇:Spring+SpringMVC+hibernate整合开发 一.建立项目 1.新建一个空项目project 相当于e ...
- Hibernate环境搭建以及HelloWorld
Hibernate是 Java 领域中使用非常广泛的持久化框架.下面使用eclipse搭建并测试一个HelloWorld程序. 一.安装Hibernate插件 为Eclipse安装Hibernate插 ...
- [Spring+Hibernate系列]1.Spring+Hibernate 框架搭建
1. 示例环境 OS版本: Win 7 , 64位 Java 版本: java version "1.6.0_30" 开发IDE: Eclipse, Version: Indig ...
- Hibernate初次搭建与第一个测试例子
今年学了两个框架,今年重装了两次myeclipse,我能怎么办,我也很无奈 安装myeclipse2017 stable2.0 https://www.52pojie.cn/thread-687683 ...
- Licode Demo搭建
上一篇文章说明了如何搭建 appRtc,但那个 demo 只能提供 1对1 通讯的房间,这篇文章旨在搭建多人视频房间. 说明,Licode 是一个基于 webRTC 的开源项目,目前只支持 ubun ...
- rocketmq本地demo搭建
gitee的地址:RocketMQ: RocketMQ 是一款开源的分布式消息系统,基于高可用分布式集群技术,提供低延时的.高可靠的消息发布与订阅服务. - Gitee.com 我本地(windows ...
最新文章
- mysql 1455_关于Oracle 11g导出数据时 报 ORA-1455错误的处理
- oracle SQL性能优化
- 【OpenCV入门指南】第十三篇 人脸检测
- STM32中使用静态“字符串的方式”
- 【Transformer】ViT:An image is worth 16x16: transformers for image recognition at scale
- 一位40岁“老程序员”的经历,给你们说一些我的真实想法!
- [水煮 ASP.NET Web API2 方法论](1-6)Model Validation
- 华为消息推送 有透传通道吗_求解在推送用透传消息-使用厂商通道(我用的是基座测试) 用手机测试出现了“clientId离线”问题...
- java面试编程面试题_完美的编程面试问题
- arcgis javascript api 事件的监听及移除
- 具有审计表的实体框架
- sob攻略超详细攻略_2020成都超详细旅游,美食攻略
- 循环链表--约瑟夫问题
- SAP恭贺德国国家足球队夺冠!
- 开心网之开心餐厅游戏分析报告
- 正则,异常、Collection、List集合
- 用chrome按F12抓包 页面跳转POST一瞬间就闪没了
- CSS grid 网格布局
- 从0开始学股票第四课之量能的基本知识之成交量
- Python 必须掌握的知识
热门文章
- MySql中 delimiter 详解
- 操作系统 哈工大 李治军
- 机器学习——决策树的三种学习方法
- NMS(Non-Maximum Suppression)非极大值抑制
- 7.4.1 矩阵低秩近似、矩阵范数
- cpu倍频模式怎么调_CPU频率被锁定到800mhz怎么办?
- Android实现翻牌效果,android小游戏:翻牌
- 浅谈StringBuilder
- python使用rabbitMQ介绍五(话题模式)
- C/C++ 动态存储分配 malloc calloc realloc函数的用法与区别