使用hibernate框架连接oracle数据库进行简单的增删改
初始化配置和session
关于配置文件这里就不在赘述了,假设配置文件配好后我们需要加载配置和sessionFactory,并获取session,因为每次进行增删改查时都需要session,所以封装成了一个工具类
package tool; import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration; public class HibernateUtil {
private static Configuration configuration;
private static SessionFactory sessionFactory;
//初始化配置和sessionFactory
static {
try {
configuration = new Configuration().configure();
sessionFactory =configuration.buildSessionFactory();
} catch (HibernateException e) {
throw new ExceptionInInitializerError();
}
}
private HibernateUtil(){}
//获取session对象
public static Session currentSession(){
return sessionFactory.getCurrentSession();
}
}
添加
dao层
public void addEmp(Emp emp){
//添加 保存所传过来的对象
HibernateUtil.currentSession().save(emp);
}
service层
public void add(Emp emp){
Transaction tx=null;
try {
//打开事务
tx=HibernateUtil.currentSession().beginTransaction();
empDao.addEmp(emp);
//提交
tx.commit();
} catch (HibernateException e) {
e.printStackTrace();
if (tx!=null)
//回滚
tx.rollback();
}
}
测试类
public static void main(String[] args){
EmpSerivce empSerivce = new EmpSerivce();
Emp emp = new Emp();
emp.setEmpno(7903);
emp.setEname("张三");
emp.setDeptNo(20);
emp.setHiretDate(Date.valueOf("2015-06-24"));
emp.setJob("CLERK");
emp.setSal(9000);
empSerivce.add(emp);
}
结果
修改
dao层
public Emp update(Serializable id){
//加载需要修改的对象
return (Emp)HibernateUtil.currentSession().get(Emp.class,id);
}
service层
public void updateEmp(){
Transaction tx = null;
try {
tx= HibernateUtil.currentSession().beginTransaction();
Emp empUpdate = empDao.update(7903);
empUpdate.setSal(9999);
tx.commit();
} catch (HibernateException e) {
e.printStackTrace();
if(tx!=null)
tx.rollback(); //回滚事务
}
}
测试类
public static void main(String[] args) {
EmpService empService = new EmpService();
empService.updateEmp();
}
结果:可以看到修改成功了 从9000 变成了 9999
删除
dao层
public void delete(Emp emp){
//删除指定的对象
HibernateUtil.currentSession().delete(emp);
}
service层
public void delEmp(Integer id){
Transaction tx =null;
try {
tx=HibernateUtil.currentSession().beginTransaction();
empDao.delete(empDao.update(id));//使用update获得指定对象 通过delete删除
tx.commit();
} catch (HibernateException e) {
e.printStackTrace();
if(tx!=null)
tx.rollback();
}
}
测试类
public static void main(String[] args) {
EmpService empService = new EmpService();
//删除
empService.delEmp(7903);
}
结果:
使用hibernate框架连接oracle数据库进行简单的增删改的更多相关文章
- Delphi - cxGrid连接Oracle数据库 实现数据的增删改查
cxGrid连接Oracle数据库 实现数据的增删改查 cxGrid连接Oracle数据库 1:通过OraSession连接数据库.OraDataSet实现OraSession和OraDataSour ...
- python3.6 使用 pymysql 连接 Mysql 数据库及 简单的增删改查操作
1.通过 pip 安装 pymysql 进入 cmd 输入 pip install pymysql 回车等待安装完成: 安装完成后出现如图相关信息,表示安装成功. 2.测试连接 import ...
- idea中创建web项目搭建Hibernate框架连接oracle数据库
hibernate框架 hibernate是数据化持久工具,也是一个开源代码的ORM解决方案.hibernate内部封装了通过jdbc访问数据库的操作,向商场应用提供面向对象的数据访问api. hib ...
- 使用JDBC分别利用Statement和PreparedStatement来对MySQL数据库进行简单的增删改查以及SQL注入的原理
一.MySQL数据库的下载及安装 https://www.mysql.com/ 点击DOWNLOADS,拉到页面底部,找到MySQL Community(GPL)Downloads,点击 选择下图中的 ...
- 用JDBC连接 数据库 进行简单的增删改查
JDBC为java的基础.用jdbc实现对数据库的增删改查的功能是程序员的基本要求.本例以mysql为例,首先要使用本例需要添加mysql-connector-java-5.1.7-bin.jar包. ...
- 数据库中简单的增删改查(CRUD)
一切都是基于数据,而对数据的管理都离不开数据库.最近学到数据库的简单操作,所以写下这篇文章,总结一下学习到的知识.浅陋之处,多多见谅. 补充一下:一直弄不清SQL Server,Mysql ,以及Or ...
- Maven+SSM框架,实现单表简单的增删改查
目录 1.创建web Maven项目 2.创建java源码文件和resources资源文件 3.创建数据库配置文件:jdbc.properties 4.项目总体目录: 5.添加spring配置文件:a ...
- Hibernate和jsp做数据库单表的增删改查
虽然很基础,但是我转牛角尖了~~~~这是几个文件 1.最重要的.Java文件 package com.chinasofti.hibb.struts; import org.hibernate.Sess ...
- JDBC连接Greenplum数据库,封装了增删改查
要启动好gp服务,再尝试连接 192.168.94.135是主节点(master)的ip 驱动Jar包在官网获取 嫌麻烦,可以直接用我在网盘分享的Jar包,版本较老 链接:https://pan.ba ...
随机推荐
- CSS文字有关属性
font-size|family|weight|style 大小字体加粗斜体 color|opacity 颜色透明度 height+line-height:垂直居中 overflow:hidden|v ...
- 【代码笔记】Java Web初入:XML的进一步深入了解
2015-12-25 文件名 guojia.xml <?xml version="1.0" encoding="GB2312"?> <! ...
- Microsoft BI - SSRS
1. Shared Dataset 功能在 SQL Server 2008 R2 / 2012 / 2014 的下列三个版本中不支持,详情请参考此处: Express Edition with Adv ...
- 彻底解决INSTALL_FAILED_UPDATE_INCOMPATIBLE的安装错误
利用adb shell进入系统,进入/data/app或者/data/data,删除跟你安装的apk同样的包名: 按Ctrl+C退出系统,利用adb pull /data/system/package ...
- ArcGIS Enterprise 10.5.1 静默安装部署记录(Centos 7.2 minimal)- 3、安装Portal for ArcGIS
安装Portal for ArcGIS 解压portal安装包,tar -xzvf Portal_for_ArcGIS_Linux_1051_156440.tar.gz 切换到arcgis账户静默安装 ...
- select * from pet where species regexp '^c';
select * from pet where species regexp '^c';
- java面试题之----spring与struts2的比较
我们从以下几个维度来区分两者的概念: 1. 机制:spring mvc的入口是servlet,而struts2是filter. 补充几点知识: < Filter 实现javax ...
- 定时备份SQL Server数据库
一.手动备份: 1.整个数据库备份:选择数据库 => 右键任务 => 备份: 2.导出一张表的框架:选择表 => 编写表脚本为 => CREATE到: 3.导出一张表的数据: ...
- pb getchild获取DropDownDW子窗体后进行取值
datawindowchild ldwc if dw_1.getchild("dwmc", ldwc) = 1 then long ll_f ll_f = ldwc.find( ...
- 【Leetcode】【Easy】Remove Nth Node From End of List
Given a linked list, remove the nth node from the end of list and return its head. For example, Give ...