利用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 ...
随机推荐
- 史上最全的CSS hack方式一览(转)
做前端多年,虽然不是经常需要hack,但是我们经常会遇到各浏览器表现不一致的情况.基于此,某些情况我们会极不情愿的使用这个不太友好的方式来达到大家要求的页面表现.我个人是不太推荐使用hack的,要知道 ...
- NOJ1167 丑陋数 想法题
题意 丑陋数n的意思是n的全部素数因子仅仅有2,3,5. 求出前1500个丑陋数. (第一个丑陋数是1) 思路 用一个数组维护全部的丑陋数. 一開始数组中仅仅有一个数就是1. 如今能够确定的丑陋数还有 ...
- PHP性能:序——谈性能
PHP性能:序——谈性能 这里不谈PHP的性能和其他语言的性能,这里讨论PHP自身的性能问题. 性能是什么? 通俗的来讲,性能,就是在固定的环境下能做的事情的多少. 为什么要性能? 1.每一个软件或网 ...
- rsync 删除大量小文件
3 find with delete 复制代码代码如下: test time find ./ -type f -delete find ./ -type f -delete 0.4 ...
- java,jquery对json的解析
json常用于浏览器对服务器的数据传递,所以,我们会经常在浏览器和服务器段对json进行封装和拆装,下面对这些进行简单介绍吧 1,服务器端,也就是java方面,我们用的是 net.sf.json-li ...
- saltstack内置state模块file之append
添加文件文本在文件尾部 salt.states.file.append(name, text=None, makedirs=False, source=None, source_hash=None, ...
- 一般处理程序页ashx 序列化 Json数组
json传递数组到一般处理程序页,序列化为实体类的方法,可以解决.ENT framework 3.5以前的项目, 3.5以后的项目可以用System.ServiceModel.Web和System.R ...
- C语言基础知识【环境设置】
直接使用绿色版的VC++6.0就ok,后期我会写一个具体的使用教程
- (比赛)B - 棋盘问题(dfs)
B - 棋盘问题 Time Limit:1000MS Memory Limit:10000KB 64bit IO Format:%lld & %llu Practice POJ ...
- EasyDSS+EasyNVR实现幼儿园直播/工地直播等分权限观看直播视频的功能
在EasyNVR互联网直播服务器使用说明书中有关于EasyNVR分组的介绍: "EasyNVR的功能定位就是为视频应用层输出视频设备接入/标准视频输出的能力平台层,只做基础的视频通道接入.视 ...