构建hibernate 框架实现增删改查功能

第一步,新建一个项目 , 导包   一类是hibernate的jar包,一类是jdbc的jar包

hibernate的jar包是注意红框的地址就是jar包的位置,将这些jar包全都导入lib根下;然后将jdbc的jar包导入lib根下。

第二步:配置hibernate.cfg.xml文件

查看搜索出来的文件,将带有

划红框的五个属性名的文件复制到项目src根下,取名为hibernate.cfg.xml(可以取其他名字,不过要在配置中选择你取的名字,不然找不到)

红框中的1 是方言  可以到查找,将这个文件拖拽到Eclipse中打开,Ctrl+F 查找dialect

将我们需要的dialect.class的值复制粘贴到我们自己建的文件中  url,username,password 的值就用之前我们讲过的即可;

配置文件中的 <property name="show_sql">true</property> 是为了在控制台显示sql语句

这样hibernate框架环境就搭建好了

第三步,建好hibernate框架之后 需要我们有对应的数据库和实体类,所以我们要去创建数据库表和相应的实体类

同时要创建一个对应类名的hbm.xml文件,可以去在输入框中输入hbm.xml查询,查看我们查到的文件,拖拽到Eclipse中打开,

这里的class是类名,name这里是Fruit的实体类地址   这里的地址可以在class的上级属性package中设置,这里就只需要实体类名

这里的id是主键 (建议属性名和列名一致)

这里的property是非主键 (建议属性名和列名一致)

第四步,创建好库表和实体类之后我们新建一个mian来调用框架实现增删改查功能

红字1是读取hibernate.cfg.xml的配置,并加载hibernate的数据库和实体类,这里就必须要在hibernate.cfg.xml中加入

<mapping resource="com/itnba/maya/bean/Fruit.hbm.xml" /> 不然就找不到对应的hbm.xml文件,实现不了功能

红字2是根据配置生成session工厂

红字3是用工厂生成session

红字4 关闭session会话

第五步,实现功能

1.增

		Fruit data = new Fruit();           //new一个对象   这里是瞬时状态
		data.setIds("i001");
		data.setName("二萌");
		data.setPrice(1.0);
		data.setSource("山东");        //给对象赋值
		data.setNumbers(1);
		data.setImage("无");
		try{
			session.beginTransaction();        //开始事务 (不用事务会报错)
			session.save(data);           //session.sava()方法保存 瞬时状态改变成持久化状态
			session.getTransaction().commit();   //事务提交
		}
		catch(Exception es){  
			session.getTransaction().rollback();    //出错时事务回滚
		}
		session.close();

运行程序,在控制台显示sql语句

查看数据库结果:可以看到数据库增加了一个 i001的数据

2.查

分为查看单个和查看所有

查看单个

 

         try{
			session.beginTransaction();                     
			Fruit fruit = session.get(Fruit.class, "i001");     //也可以用session.load(Fruit.class,"i001") 查询单个
			System.out.println(fruit.getName()+fruit.getSource()+fruit.getNumbers());    在控制台显示名称产地和库存
			session.getTransaction().commit();
		}
		catch(Exception es){
			session.getTransaction().rollback();
		}
		

结果如下

查所有

          try{
			session.beginTransaction();
			List<Fruit> list = session.createQuery("from Fruit").getResultList();         //查询出来的是一个集合
			for(Fruit data : list){
				System.out.println(data.getName()+data.getSource()+data.getNumbers());
			}
			session.getTransaction().commit();
		}
		catch(Exception es){
			session.getTransaction().rollback();
		}

 结果如下 

3.删

删和改  都需要我们先查出来然后再进行操作

try{
			session.beginTransaction();
			Fruit data = session.get(Fruit.class, "i001");  //先查出来
		if(data != null){
			session.delete(data);                            //在进行删除操作
			session.getTransaction().commit();
		}
		}
		catch(Exception es){
			session.getTransaction().rollback();
		}
		

运行之后我们到数据库看下结果

可以看到i001的数据已删除

4.改

try{
			session.beginTransaction();
			Fruit data = session.get(Fruit.class, "k001");            //先查询
			if(data != null){
			data.setName("苹果");                    //修改我们要改的属性
			session.update(data);                    //再进行修改操作
			session.getTransaction().commit();
			}
		}
		catch(Exception es){
			session.getTransaction().rollback();
		}

运行结果看下数据库:

可以看到k001原来的name为二萌 现已改成苹果

这样就简单利用hibernate 框架实现增删改查功能。

 

  

 

转载于:https://www.cnblogs.com/dnf1612/p/6496702.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值