利用Hibernate 框架,实现对数据库的增删改查
增:
package com.maya.test;
import org.hibernate.*;
import org.hibernate.cfg.*; import com.maya.model.Family;
public class Test2 { public static void main(String[] args) { Configuration config=new Configuration().configure();
SessionFactory factory=config.buildSessionFactory();
Session session=factory.openSession(); //增加
Family family=new Family();
family.setInfoCode("p004");
family.setName("张三");
family.setTitle("T003");
family.setFirm("齐鲁石化济南分公司");
family.setOrders(4); try{
session.beginTransaction(); //事务开始
session.save(family);
session.getTransaction().commit(); //事务提交
}
catch(Exception e){
session.getTransaction().rollback();//如果发生错误,事务回滚
} session.close();//关闭session
}
}
Hibernate框架自动生成如下语句,将数据插入数据库中
查询
package com.maya.test;
import java.util.List; import org.hibernate.*;
import org.hibernate.cfg.*; import com.maya.model.Family;
public class Test2 { public static void main(String[] args) { Configuration config=new Configuration().configure();
SessionFactory factory=config.buildSessionFactory();
Session session=factory.openSession(); // //查询(根据主键来查)
// Family fa=session.load(Family.class, 11);
// if(fa!=null){
// System.out.println(fa.getName()+" "+fa.getInfoCode());
// } List<Family> list=session.createQuery("from Family").getResultList(); //这里的Family对应的是实体类,不是sql语句中的family for(Family fa:list){
System.out.println(fa.getName()+" "+fa.getInfoCode());
} session.close();//关闭session
}
}
查询结果如下:SQL语句自动生成
删除:
package com.maya.test;
import java.util.List; import org.hibernate.*;
import org.hibernate.cfg.*; import com.maya.model.Family;
public class Test2 { public static void main(String[] args) { Configuration config=new Configuration().configure();
SessionFactory factory=config.buildSessionFactory();
Session session=factory.openSession(); Family fa=session.get(Family.class,13); //先查询
if(fa!=null){
session.beginTransaction();
session.delete(fa); //后删除
session.getTransaction().commit();;
} session.close();//关闭session
}
}
改
package com.maya.test;
import java.util.List; import org.hibernate.*;
import org.hibernate.cfg.*; import com.maya.model.Family;
public class Test2 { public static void main(String[] args) { Configuration config=new Configuration().configure();
SessionFactory factory=config.buildSessionFactory();
Session session=factory.openSession(); Family fa=session.get(Family.class,10); //先查询
if(fa!=null){
session.beginTransaction();
fa.setName("盲僧");
fa.setFirm("召唤师峡谷");
session.update(fa);
session.getTransaction().commit();
}
session.close();//关闭session
}
}
注意:但凡涉及到数据操作(增删改)都要加上事务,保证数据增删改的的一致性
利用Hibernate 框架,实现对数据库的增删改查的更多相关文章
- Android 利用xUtils框架实现对sqllite的增删改查
首先下载xUtils,下载地址:https://github.com/wyouflf/xUtils 把下载好的文件压缩,把里面的jar包拷进项目中如图所示: 这里新建一个User类进行测试增删改查 ...
- 初识Hibernate框架,进行简单的增删改查操作
Hibernate的优势 优秀的Java 持久化层解决方案 (DAO) 主流的对象—关系映射工具产品 简化了JDBC 繁琐的编码 将数据库的连接信息都存放在配置文件 自己的ORM框架 一定要手动实现 ...
- spring框架学习之--数据库操作增删改查
基于spring的NamedParameterJdbcTemplate操作数据库 首先在 resources 文件夹下添加数据库配置文件jdbc.properties 配置常用的数据库信息 consu ...
- 利用API方式进行数据库的增删改查
/* 将数据库的增删改查单独放进一个包 */ package com.itheima28.sqlitedemo.dao; import java.util.ArrayList; import java ...
- 利用koa实现mongodb数据库的增删改查
概述 使用koa免不了要操纵数据库,现阶段流行的数据库是mongoDB,所以我研究了一下koa里面mongoDB数据库的增删改查,记录下来,供以后开发时参考,相信对其他人也有用. 源代码请看:我的gi ...
- java jdbc 连接mysql数据库 实现增删改查
好久没有写博文了,写个简单的东西热热身,分享给大家. jdbc相信大家都不陌生,只要是个搞java的,最初接触j2ee的时候都是要学习这么个东西的,谁叫程序得和数据库打交道呢!而jdbc就是和数据库打 ...
- 9.5Django操作数据库的增删改查
2018-9-5 18:10:52 先贴上笔记 day61 2018-04-28 1. 内容回顾 1. HTTP协议消息的格式: 1. 请求(request) 请求方法 路径 HTTP/1.1\r\n ...
- [译]聊聊C#中的泛型的使用(新手勿入) Seaching TreeVIew WPF 可编辑树Ztree的使用(包括对后台数据库的增删改查) 字段和属性的区别 C# 遍历Dictionary并修改其中的Value 学习笔记——异步 程序员常说的「哈希表」是个什么鬼?
[译]聊聊C#中的泛型的使用(新手勿入) 写在前面 今天忙里偷闲在浏览外文的时候看到一篇讲C#中泛型的使用的文章,因此加上本人的理解以及四级没过的英语水平斗胆给大伙进行了翻译,当然在翻译的过程中发 ...
- springmvc+spring3+hibernate4框架简单整合,简单实现增删改查功能
转自:https://blog.csdn.net/thinkingcao/article/details/52472252 C 所用到的jar包 数据库表 数据库表就不用教大家了,一张表,很简 ...
- SSH框架下的多表增删改查
下载地址:SSH框架下的多表增删改查 点击进入码云Git下载 点击进入CSDN下载 项目结构: 项目代码就不全部贴出来了,只贴下核心代码.需要项目的自己可以去下载. package com.atgui ...
随机推荐
- 精准 iOS 内存泄露检测工具
MLeaksFinder:精准 iOS 内存泄露检测工具 发表于 2016-02-22 | zepo | 23 Comments 背景 平常我们都会用 Instrument 的 Lea ...
- mysql导出数据库提示警告在GTID模式下面
[root@db02 tmp]# mysqldump -S /tmp/mysql.sock -A -R --triggers --master-data=2 --single-transaction ...
- python函数-------python2.7教程学习【廖雪峰版】(三)
任务: 看完函数这一章 已完成 2017年6月8日16:23:491.函数的作用:写较少的代码实现较多的功能,可以多次被调用.2.可见,借助抽象,我们才能不关心底层的具体计算过程,而直接在更高的 ...
- Linux Samba文件共享服务配置
http://blog.csdn.net/xht555/article/details/4631063
- Elasticsearch宕机问题
个人博客:https://blog.sharedata.info/ Elasticsearch 突然宕机,每次重启都只生成错误日志报错信息:## There is insufficient memor ...
- php7下 xhprof安装与使用
需要测试下 代码的性能,使用了 xhprof + xhgui 1. 下载xhprof, 这里下载吧 :https://github.com/longxinH/xhprof.git 2, 安装 cd x ...
- Docker学习总结之docker创建私有仓库(private Repositories)
Docker 创建 Private Repositories 前言 基于GFW的缘故,国内大陆基本无法pull国外的镜像,更别说官方的index了.如果images无法pull下来,那么docker就 ...
- rails dependent
dependent 可以設定當物件刪除時,也會順便刪除它的 has_many 物件: class Event < ActiveRecord::Base has_many :attendees, ...
- RTMP & HLS
一,直播云架构 2. RTMP 协议 RTMP(Real Time Messaging Protocol)是Adobe Systems公司为Flash播放器和服务器之间音频.视频和数据传输开发的开放协 ...
- 详谈 MySQL Online DDL
作为一名DBA,对数据库进行DDL操作非常多,如添加索引,添加字段等等.对于MySQL数据库,DDL支持的并不是很好,一不留心就导致了全表被锁,经常搞得刚入门小伙伴很郁闷又无辜,不是说MySQL支持O ...