oracle和hibernate增删改查

一、打开oracle数据库,启动scott账户

1.在我的电脑--管理--服务和应用程序--服务中开启这两个服务

2.打卡PL/SQL登录system 账户

3.新建一个命令窗口

4.查询所有账户的状态

5.解锁scott账户,改密并登录

二、创建java项目,并用hibernate连接oracle数据库中的scott账户

1.打开MyEclipse,切换为MyEclips Hibernate 视图

2.在DB Browser中新建一个数据库连接

3.java项目添加hibernate配置文件

4.切换MyEclipse Java Enterprise视图,查看生成的hibernate配置文件

5.到DB Browser中下的scott账户下生成表dept,emp的hibernate映射文件

5.查看生成映射文件

三、在java项目中创建TestHibernate.java,测试增删改查的方法

1.主方法

	public static void main(String[] args) {
//		t1();//添加部门
//		t2();//修改部门
//		t3();//查询全部部门
		t4();//删除部门
	}
2.添加部门

	/**
	 * 添加部门
	 */
	private static void t1() {
		//1.加载hibernate配置文件
		Configuration config = new Configuration().configure();
		//2.创建sessionFactory
		SessionFactory sessionFactory = config.buildSessionFactory();
		//3.打开session
		Session session = sessionFactory.openSession();
		//4.开启事务
		Transaction transaction = session.beginTransaction();
		//5.数据库操作
		Dept dept = new Dept();
		dept.setDname("j1666");
		dept.setLoc("软件新城666");
		session.save(dept);
		//6.提交事务
		transaction.commit();
		//7.关闭session
		session.close();
		//8.关闭session工厂
		sessionFactory.close();
		
	}
运行时出现如下错误:

是主键生成策略的问题,修改映射文件

修改对应的类

修改完成后再运行,ok

查询oracle数据库

3.修改部门

	/**
	 * 修改部门
	 */
	private static void t2() {
		//1.加载hibernate配置文件
		Configuration config = new Configuration().configure();
		//2.创建sessionFactory
		SessionFactory sessionFactory = config.buildSessionFactory();
		//3.打开session
		Session session = sessionFactory.openSession();
		//4.开启事务
		Transaction transaction = session.beginTransaction();
		//5.数据库操作
		Dept d= (Dept) session.get(Dept.class, 41);
		d.setDname("j1700");
		session.save(d);
		//6.提交事务
		transaction.commit();
		//7.关闭session
		session.close();
		//8.关闭session工厂
		sessionFactory.close();
	}
运行:

查询数据库:

4.查询全部部门

	/**
	 * 查询全部部门
	 */
	private static void t3() {
		//1.加载hibernate配置文件
		Configuration config = new Configuration().configure();
		//2.创建sessionFactory
		SessionFactory sessionFactory = config.buildSessionFactory();
		//3.打开session
		Session session = sessionFactory.openSession();
		//4.开启事务
		Transaction transaction = session.beginTransaction();
		//5.数据库操作
		Query query = session.createQuery("FROM Dept");
		List<Dept> list = query.list();
		for(Dept d : list){
			System.out.println(d.getDeptno()+"\t\t"+d.getDname()+"\t\t"+d.getLoc());
		}
		//6.提交事务
		transaction.commit();
		//7.关闭session
		session.close();
		//8.关闭session工厂
		sessionFactory.close();
	}
运行:

5.删除部门

	/**
	 * 删除部门
	 */
	private static void t4() {
		//1.加载hibernate配置文件
		Configuration config = new Configuration().configure();
		//2.创建sessionFactory
		SessionFactory sessionFactory = config.buildSessionFactory();
		//3.打开session
		Session session = sessionFactory.openSession();
		//4.开启事务
		Transaction transaction = session.beginTransaction();
		//5.数据库操作
		Dept dept = (Dept) session.get(Dept.class, 41);
		session.delete(dept);
		//6.提交事务
		transaction.commit();
		//7.关闭session
		session.close();
		//8.关闭session工厂
		sessionFactory.close();
	}
运行:

查询数据库:

ok,整个hibernate操作数据库的增删改查就完成了^_^




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值