利用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 ...
随机推荐
- Java并发基础:了解无锁CAS就从源码分析
https://segmentfault.com/a/1190000015881923
- linux kernel的cmdline參数解析原理分析
利用工作之便,今天研究了kernel下cmdline參数解析过程.记录在此.与大家共享.转载请注明出处.谢谢. Kernel 版本:3.4.55 Kernel启动时会解析cmdline,然后依据这些參 ...
- 地形混合shader
1.四个贴图混合 Shader "Custom/BlendTex_surface" { Properties { _RTexture("Red Channel Textu ...
- 如何正确对tomcat host进行配置
今天在对tomcat的host容器(即虚拟主机的配置)进行配置时,发现即使修改了host name的值(默认为localhost),但是仍无法访问web项目的问题(提示域名解析出错).只能使用默认的值 ...
- iOS 线程管理的学习记录
本文转载至 http://www.2cto.com/kf/201312/265451.html 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 2 ...
- Mark指针的指针(**)和链表使用(*&)
利用二级指针删除单向链表 彻底理解链表中为何使用指针的指针或者指针的引用 详解C++指针的指针和指针的引用
- python is == 的区别, 编码与解码.深浅拷贝
一. is == 的区别 双等表示的是判断是否相等, 注意. 这个双等比较的是具体的值.而不是内存地址 is 比较的是地址 编码回顾 除了了ASCII码以外, 其他信息不能直接转换 编码和解码的时 ...
- WCF基础之会话、实例和并发
这篇笔记是一些概念性的东西. 会话,借用百科上的描述就是一个客户与服务器之间的不中断的请求响应序列.wcf的会话模式是通过服务契约的SessionModel进行设置的,其值为枚举,分别为:Allowe ...
- IDEA 配置Tomcat 跑Jeecg项目
最近搞了个国人开发的开源项目,还不错,记录一下踩过得坑; 首先项目开源地址 下载就可以; 准备工作作者以介绍,不再详述; 1:我使用的IDEA作为开发工具- 首先导入pom.xml,下载依赖包(此过程 ...
- Write 语句
ABAP Write 语句 转载▼http://blog.sina.com.cn/s/blog_5ccd375b0100ghhi.html 1.Write 叙述 ABAP/4 用来在屏幕上输出数据 ...