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 ...
随机推荐
- Drying POJ - 3104 二分 最优
题意:有N件湿的衣服,一台烘干机.每件衣服有一个湿度值.每秒会减一,如果用烘干机,每秒会减k.问最少多久可以晒完. 题解:二分.首先时间越长越容易晒完. 其次判定函数可以这样给出:对于答案 X,每一个 ...
- 为什么“how to say”是错的?
2018-04-26 15:53 英语口语 吉米老师前言:如果让老外评选十大Chinglish之最,老师猜"how to say"一定榜上有名.几乎每一位学习英语的童鞋,都曾有过脱 ...
- JavaScript面向对象之闭包的理解
首先了解一下什么是闭包,闭包是一个函数,通常被称为闭包函数或者绑定函数,该函数运行在一个特殊的环境里,该环境定义了一些本地变量,当该函数被调用时,仍可以使用这些本地变量. 当一个函数在不位于它所处的环 ...
- 中位数&贪心
谁能想到基本算法就这么难呢?我想去冲省选,但是迟迟在这些地方 花时间 算是提升自己的思维算了. 这道题呢 答案其实很简单每个数在a的位置和在b的位置之差的累加/2即是答案为什么呢?考虑当前数字 要向后 ...
- Maven项目常见的小问题
pom.xml文件头报错 场景 例Failure to transfer org.apache.maven.plugins:maven-surefire-plugin:pom:2.12.4 from ...
- php 的Boolean类型
1. bool值不用区分大小写 $flag = Ture; $flag = TRUE $flag = true; 2. 其他类型在运算中转换为bool值 var_dump((bool) '0'); / ...
- Eclipse ADT中的logcat不显示解决方法
今天维护android的程序,也不知道几百年前写的,elipse,一个日志文件都不显示,做的想哭,我使用的方法二,这里给自己留一个备份,怕再忘记了 1.在Eclipse界面中找到DDMS,然后找到 ...
- shell字符串数组
数组 声明数组 declare -a ARRAY_NAME declare -A ARRAY_NAME: 关联数组 注意:两者不可相互转换 数组名和下标(索引) 索引:编号从0开始,属于数值索引 注意 ...
- Kinect2.0获取数据
最近事情真是多,今天抽空研究一下Kinec2.0的数据获取! 系统要求 https://developer.microsoft.com/en-us/windows/kinect/hardware-se ...
- mysql数据具体操作
1.建表操作 前面提到的是简单的建表,这里需要提到一下外键. create table userinfo2( id int auto_increment primary key, name ), ge ...