Hibernate基础增删改查语法
1、创建好Hibernate项目,创建好实体类和测试类,如果不会创建Hibernate项目的同学,点此处:http://www.cnblogs.com/zhaojinyan/p/9336174.html
2、数据库增删改查的操作都在测试类中写的。代码如下:
添加数据
import java.util.Date;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import org.hibernate.service.ServiceRegistry;
import org.hibernate.service.ServiceRegistryBuilder; public class Test { public static void test() {
//创建一个 SessionFactory 对象
SessionFactory sessionFactory = null; //创建Configuration对象:对应hibernate的基本配置信息和对象关系映射信息
Configuration configuration = new Configuration().configure(); //创建一个 ServiceRegistry 对象: hibernate 4.x 新添加的对象
//hibernate 的任何配置和服务都需要在该对象中注册后才能有效.
ServiceRegistry serviceRegistry =
new ServiceRegistryBuilder().applySettings(configuration.getProperties())
.buildServiceRegistry(); sessionFactory = configuration.buildSessionFactory(serviceRegistry); // 创建一个 Session 对象
Session session = sessionFactory.openSession(); // 开启事务
Transaction transaction = session.beginTransaction(); //执行保存和加载操作
//增数据 News news1 = new News("Java1", "lisi", new Date(new java.util.Date().getTime()));
News news2 = new News("Java2", "wangwu", new Date(new java.util.Date().getTime()));
News news3 = new News("Java3", "zhaoliu", new Date(new java.util.Date().getTime()));
News news4 = new News("Java4", "huhu", new Date(new java.util.Date().getTime()));
News news5 = new News("Java5", "dudu", new Date(new java.util.Date().getTime()));
//执行添加用save方法
session.save(news1);
session.save(news2);
session.save(news3);
session.save(news4);
session.save(news5); //5. 提交事务
transaction.commit(); //6. 关闭 Session
session.close(); //7. 关闭 SessionFactory 对象
sessionFactory.close();
} public static void main(String[] args) {
test();
} }
执行过程:
测试结果:
删除数据
//删除一条数据(ID=5)
//先获取id=5的一个对象
News p =(News) session.get(News.class, 5);
//执行删除用delete方法
session.delete(p);
执行过程:
测试结果(删除了id=5的一条数据):
修改数据:
//修改数据
//先获取id=4的一个对象
News p=(News)session.get(News.class,4); //修改数据用到的是实体类中的set成员方法
p.setTitle("c#");//Title字段
p.setContent("赵sir");//content字段
p.setDate(new Date(new java.util.Date().getTime()));//时间字段
执行过程:
执行结果(id=4的数据已经被修改成我们想要的数据):
查询数据:
加入了条件:
//查询数据
//得到Query对象,并写入hql语句
Query query = session.createQuery("from News where title='c#'");
//使用Query对象的list方法得到数据集合
List<News> list = query.list();
//遍历集合获取数据
for (News news : list) {
System.out.println(news);
}
执行结果:
在这里简单的介绍了,Hibernate最简单的操作语法,更深的知识在其他的篇章再写。
Hibernate基础增删改查语法的更多相关文章
- Python进阶----数据库的基础,关系型数据库与非关系型数据库(No SQL:not only sql),mysql数据库语言基础(增删改查,权限设定)
day37 一丶Python进阶----数据库的基础,mysql数据库语言基础(增删改查,权限设定) 什么是数据库: 简称:DataBase ---->DB 数据库即存放数据的仓库, ...
- EasyUI + Spring MVC + hibernate实现增删改查导入导出
(这是一个故事--) 前言 作为一个JAVA开发工程师,我觉得最基本是需要懂前端.后台以及数据库. 练习的内容很基础,包括:基本增删改查.模糊查询.分页查询.树菜单.上传下载.tab页 主管发我一个已 ...
- Hibernate全套增删改查+分页
1.创建一个web工程 2.导入jar包 3.创建Student表 4.创建实体类 package com.entity; public class Student { private Integer ...
- Hibernate的增删改查
一.搭建Hibernate开发环境,这里就不说了,直接说环境搭好后的事情. 二.项目的目录结构
- hibernate实现增删改查的各种方法
1>接口(主要是增删改查的接口)BaseDao.java /** * * @author fly.zhou */ public interface IBaseDao { //增加对应实体的一条记 ...
- hibernate之增删改查demo
package dao; import java.util.ArrayList; import java.util.List; import org.hibernate.Query; import o ...
- MongoDB 基础增删改查
增删改查 基础操作 use show dbs show collections db[当前所在数据库] 插入文档 db.collection.insert() db.collection.insert ...
- MongoDB学习笔记,基础+增删改查+索引+聚合...
一 基础了解 对应关系 -> https://docs.mongodb.com/manual/reference/sql-comparison/ database -> database ...
- mongodb linux基本启动 基础增删改 mysql语法的对比
一.主流数据源类型 还存在自定义数据源以及REST接口数据,共6中数据源. 二.linux下启动连接数据库 进去mongodb的目录启动服务:mongo --host 192.168.320.826 ...
随机推荐
- Mybatis 不同使用方式
前言 工作这么多年,ORM框架一直选择Mybatis框架. Mybatis的使用方式也一直在变,总体来说是越来越简单.写篇文章对各使用方式做个总结... 正文 一.Mybatis典型用法 1. 正常执 ...
- Js高设笔记1-2章 defer and async
1,js是由ECMAscript ,dom ,bom组成的专为网页交互而设计的脚本语言.js是脚本语言之一. 2,MIME,是设定某种扩展名的文件用一种应用程序来打开的方式类型,当该扩展名文件被访问的 ...
- 挖矿程序的工作原理(BTC为例)
Mining时代进化:CPU挖矿 -> GPU挖矿 -> FPGA挖矿 -> ASIC挖矿CPU挖矿时代:SENGENERATEGPU挖矿时代:GETWORK Miner:挖矿的程序 ...
- 关于Java程序流程控制的整理(未完善)
- Xml文件删除节点总是留有空标签
---恢复内容开始--- 在删除Xml文件时,删除成功后还有标签,让我百思不得其解,因为xml文档中留着这空标签会对后续的操作带来很多麻烦,会取出空值,人后导致程序中止. 导致这种情况的原因是删除xm ...
- day0315 迭代器
一. 迭代器 1.什么是可迭代器? 除了数字和布尔值之外,其他数据类型都是可迭代对象.(字符串,列表,元组,字典,集合) 2.可迭代协议 2.1 可以被迭代要满足的要求就叫可迭代协议,可迭代的定义非常 ...
- java jdk安装配置
1. 配置java_home 2. path添加: %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin; 3. 添加CLASSPATH路径: .;%Java_Home%\bin;% ...
- centos 安装ss
yum install python-setuptools && easy_install pip pip install shadowsocks vi /etc/shadowsock ...
- Servlet (二)ServletContext
package cn.sasa.serv; import java.io.IOException; import javax.servlet.ServletContext; import javax. ...
- 洛谷P4425 转盘 [HNOI/AHOI2018] 线段树+单调栈
正解:线段树+单调栈 解题报告: 传送门! 1551又是一道灵巧连题意都麻油看懂的题,,,,所以先解释一下题意好了,,,, 给定一个n元环 可以从0时刻开始从任一位置出发 每次可以选择向前走一步或者在 ...