和以往的增删改查不一样,这次的操作石完全把hibernateDao层功能实现,具体的操作不在Dao层内进行。

因为只是一个小的Dao层接口的实现,我们就省略控制层和服务层。

hibernate.cfg.xml与实体类.hbm.xml参考以往的博客。

首先是实体类

package com.jayson.entity;public class Equip {private int id;private String name;private int lv;private String propreties;public int getId() {return id;}public void setId(int id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getLv() {return lv;}public void setLv(int lv) {this.lv = lv;}public String getPropreties() {return propreties;}public void setPropreties(String propreties) {this.propreties = propreties;}public Equip(String name, int lv, String propreties) {this.name = name;this.lv = lv;this.propreties = propreties;}public Equip() {super();// TODO Auto-generated constructor stub}@Overridepublic String toString() {return "Equip [id=" + id + ", name=" + name + ", lv=" + lv+ ", propreties=" + propreties + "]";}}

Dao层接口

package com.DAO;import com.jayson.entity.Equip;public interface EquipDao {public Equip selectEquip(int id);public void updateEqiup(int id,Equip equip);public void daleteEquip(int id);public void addEquip(Equip equip);
}

接口实现类

package com.DAO;import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;import com.jayson.entity.Equip;public class EquipDaoImpl implements EquipDao {public Equip selectEquip(int id) {// TODO Auto-generated method stubSessionFactory sf = null;       Session session = null;Transaction ts = null;Equip p = new Equip();try {sf = HibernateUtil.getSessionFactory();session = sf.getCurrentSession();ts = session.beginTransaction();          p = session.get(Equip.class,id);System.out.println(p.toString());} catch (HibernateException e) {// TODO Auto-generated catch blockif(ts != null){ts.rollback();}e.printStackTrace();}        return p;}public void updateEqiup(int id,Equip equip) {// TODO Auto-generated method stubSessionFactory sf = null;     Session session = null;Transaction ts = null;try {sf = HibernateUtil.getSessionFactory();session = sf.getCurrentSession();ts = session.beginTransaction();equip.setId(id);session.update(equip);System.out.println("修改 "+equip.getId()+" 成功");ts.commit();} catch (HibernateException e) {// TODO Auto-generated catch blockif(ts != null){ts.rollback();}e.printStackTrace();}}public void daleteEquip(int id) {// TODO Auto-generated method stubSessionFactory sf = null;       Session session = null;Transaction ts = null;try {sf = HibernateUtil.getSessionFactory();session = sf.getCurrentSession();ts = session.beginTransaction();Equip p = session.get(Equip.class, id);session.delete(p);System.out.println("删除id为 "+p.getId()+" 的用户");ts.commit();} catch (HibernateException e) {// TODO Auto-generated catch blockif(ts != null){ts.rollback();}e.printStackTrace();}}public void  addEquip(Equip equip) {// TODO Auto-generated method stubSessionFactory sf = null;        Session session = null;Transaction ts = null;try {sf = HibernateUtil.getSessionFactory();session = sf.getCurrentSession();ts = session.beginTransaction();         session.save(equip);System.out.println("添加"+equip.toString()+"成功");ts.commit();} catch (HibernateException e) {// TODO Auto-generated catch blockif(ts != null){ts.rollback();}e.printStackTrace();}}}

进行测试

package com.DAO;import org.junit.Test;import com.jayson.entity.Equip;public class Tset {EquipDaoImpl equipDaoImpl = new EquipDaoImpl();@Testpublic void testadd(){Equip e = new Equip("暗影蔽日",90,"最终伤害+42%");equipDaoImpl.addEquip(e);    }@Testpublic void testselect(){    equipDaoImpl.selectEquip(1);}@Testpublic void testdel(){       equipDaoImpl.daleteEquip(1);    }@Testpublic void testupdate(){Equip e = new Equip("妖刀村正",91,"三攻+22%");equipDaoImpl.updateEqiup(2, e);       }
}

运行结果我就不放了,最终都是可以运行的。

数据库截图

hibernateCRUD操作。相关推荐

  1. 关于大型网站技术演进的思考

    关于大型网站技术演进的思考(一)--存储的瓶颈(1) 前不久公司请来了位互联网界的技术大牛跟我们做了一次大型网站架构的培训,两天12个小时信息量非常大,知识的广度和难度也非常大,培训完后我很难完整理出 ...

  2. HibernateCRUD基础框架(1)-实体类

    HibernateCRUD基础框架包括3篇文章,主要讲述整个CRUD基础框架的思路. 第1篇:讲述最基本的实体类,这些实体类是对SQL语言中的一些概念的封装. 第2篇:在这些实体类的基础上,开发一个& ...

  3. 使用JPA进行Update操作 @Query注解的用法,JPL

    使用jpa进行update操作有两种,第一种就是先查询,set,再进行save更新.这种做法过于繁杂,我只是要进行一个更新操作却变成了三步,所以我推荐使用第二种: @Modifying @Query( ...

  4. 使用JPA进行update操作时,报org.springframework.beans.factory.BeanCreationException: Error creating bean with

    使用JPA进行update操作时,报org.springframework.beans.factory.BeanCreationException: Error creating bean with ...

  5. 【golang程序包推荐分享】分享亿点点golang json操作及myJsonMarshal程序包开发的踩坑经历 :)

    目录[阅读时间:约5分钟] 一.概述 1.Json的作用 2.Go官方 encoding/json 包 3. golang json的主要操作 二.Json Marshal:将数据编码成json字符串 ...

  6. VScode的撤销操作的快捷键

    撤销刚才的操作:Ctrl+Z 恢复刚才的操作:Ctrl+Shift+Z

  7. python中排序英文单词怎么写_Python实现对文件进行单词划分并去重排序操作示例...

    本文实例讲述了Python实现对文件进行单词划分并去重排序操作.,具体如下: 文件名:test1.txt 文件内容: But soft what light through yonder window ...

  8. 提交表单自动刷新_Web自动化测试:元素的基础操作和浏览器基础操作

    上一节,我们了解了如何定位元素,其实也有涉及对于元素的操作,这一节我们就详细的介绍一下对于元素的操作和对于浏览器的一些操作 一.对于元素的基础操作: clear():清除输入框内的文本 send_ke ...

  9. 算法基础(09)— 字符串常用操作

    1. 字符串定义 字符串 string 是由 n 个字符组成的一个有序整体 n >= 0.例如,s = "BEIJING" ,s 代表这个串的串名,BEIJING 是串的值. ...

最新文章

  1. IRNet:弱监督实例分割 | 步步为营,隔山打牛
  2. 分布式服务跟踪及Spring Cloud的实现
  3. 数组拷贝问题的解决方法
  4. 五十八、如何对一个数进行分解质因数
  5. 小程序--显示图形效果
  6. 服务器搭建php mysql5_Windows下php5+apache+mysql5 手工搭建笔记
  7. CVE-2020-1472复现与完整利用
  8. php 每日一句名人名言,每日一句人生格言
  9. Cocos2d-x 3.2 大富翁游戏项目开发-第八部分 角色的散步路径
  10. 纳加服务器授权文件,VJSAC(纳加VJMS3服务管理终端)
  11. AllyCAD v3.5 R12 1CD(专业CAD软件)
  12. 嵌入式学习二:怎么学习Linux操作系统
  13. 如何下载微信支付证书(API证书)
  14. 数据包络分析法(DEA) R实现
  15. ai作文批改_网易有道词典再推AI作文批改新功能
  16. 网站技术分析报告之——开心网_转载
  17. 狂神Mybatis入门
  18. w i ndows,解释计算 机Windows的学习英语(10页)-原创力文档
  19. 燃尽图 (Burn up and Burn down Chart)—介绍
  20. 有哪些比较好用的录音软件【精品合集】

热门文章

  1. 读卡ReadCard
  2. 总结SLAM论文主要创新点和论文分类 —— 持续更新ing
  3. postgresql 切换数据库命令
  4. mysql字符集的排序规则_MySql字符集与排序规则详解
  5. 计算机一级考试选网络题广东,广东计算机一级考试试题
  6. QT中如何在主窗口中添加子窗口
  7. Adobe Dreamweaver CS5安装步骤
  8. JavaScript数字全角半角转换
  9. 调整Jupyter Lab中MarkDown表格字体大小
  10. [javaee基础] 常见的javaweb笔试选择题含答案