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操作数据库的增删改查就完成了^_^
还没有评论,来说两句吧...