我用的数据库是MySQL,实体类叫User

public class User {
private Integer uid;
private String username;
private String password;
private Integer age;
private String gender;
private String phoneNumber;
}

1.Hibernate添加数据操作

       // 操作流程:
// 1.通过session启动事务
Transaction transaction = session.beginTransaction();
// 2.执行添加操作
User user = new User("艾格尼丝","女","18977783654");
Serializable save = session.save(user);
System.out.println("save: " + save);
// 3.提交或回滚事务
transaction.commit();

2.Hibernate删除数据操作

        Transaction transaction = session.beginTransaction();
// 1.先从数据库查出来需要删除的对象
User user = session.get(User.class,3);
// 2.再进行删除
session.delete(user);
transaction.commit();

3.Hibernate修改数据操作

        Transaction transaction = session.beginTransaction();
// 1.从数据库中获取需要修改的对象
User user =session.get(User.class, 3);
// 2.对该对象中的数据进行修改
user.setUsername("李小龙");
// 3.将修改后的对象更新到数据库中
session.update(user);
transaction.commit();

4.Hibernate查询数据操作

        Transaction transaction = session.beginTransaction();
//根据用户编号进行查询
User user = session.get(User.class, 3);
System.out.println(user.getUsername());
transaction.commit();

5.Hibernate增删改查全部的代码文件

package com.bj186.test;

import com.bj186.entity.User;
import com.bj186.util.HibernateUtil;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import org.junit.Before;
import org.junit.Test;
import java.io.Serializable; public class TestUser { private Session session = null;
  
@Before
public void init() {
//1. 声明配置对象,加载配置文件
Configuration configuration = new Configuration();
configuration.configure("hibernate.cfg.xml");
//2. 将配置文件告诉session工厂
SessionFactory sessionFactory = configuration.buildSessionFactory();
//3. 通过session Factory来获取session
session = sessionFactory.openSession();
} /**
* 向数据库中添加一条记录
*/
@Test
public void testAdd() {
// 操作流程:
// 1.通过session启动事务
Transaction transaction = session.beginTransaction();
// 2.执行持久化操作
User user = new User("艾格尼丝","女","18977783654");
Serializable save = session.save(user);
System.out.println("save: " + save);
// 3.提交或回滚事务
transaction.commit();
} /**
* 从数据库中删除一条记录
*/
@Test
public void testDelete() {
Transaction transaction = session.beginTransaction();
// String sql = "delete from User where uid = :uid"; //第二种删除方式
// Query query = session.createQuery(sql);
// query.setParameter("uid",1);
// query.executeUpdate();
//先从数据库查出来对象
User user = session.get(User.class,3);
//再进行删除
session.delete(user);
transaction.commit();
} /**
* 测试修改数据
*/
@Test
public void testUpdate() {
Transaction transaction = session.beginTransaction();
// 1.从数据库中获取需要修改的对象
User user =session.get(User.class, 3);
// 2.对该对象中的数据进行修改
user.setUsername("李小龙");
// 3.将修改后的对象更新到数据库中
session.update(user);
transaction.commit();
} /**
* 测试查询数据
*/
@Test
public void testQuery() {
Transaction transaction = session.beginTransaction();
//根据用户编号进行查询
User user = session.get(User.class, 3);
System.out.println(user.getUsername());
transaction.commit();
} }

Hibernate修改操作 删除操作 查询操作 增加操作 增删改查 Hibernate增删查改语句的更多相关文章

  1. MySQL数据库表的数据插入、修改、删除、查询操作及实例应用

    一.MySQL数据库表的数据插入.修改.删除和查询 CREATE DATABASE db0504; USE db0504; CREATE TABLE student ( sno ) NOT NULL ...

  2. 关于C#和ASP.NET中对App.config和Web.config文件里的[appSettings]和[connectionStrings]节点进行新增、修改、删除和读取相关的操作

    最近我做的一些项目,经常需要用到对应用程序的配置文件操作,如app.config和web.config的配置文件,特别是对配置文件中的[appSettings]和[connectionStrings] ...

  3. vs2017 + miniUI + dapper 添加、修改、删除、查询操作

    A.数据库表引用先前建立的company 公司信息表. B.建立文件: views > Home > Company.cshtml(新建文件) ,代码如下(直接复制即可) @{ Layou ...

  4. Es图形化软件使用之ElasticSearch-head、Kibana,Elasticsearch之-倒排索引操作、映射管理、文档增删改查

    今日内容概要 ElasticSearch之-ElasticSearch-head ElasticSearch之-安装Kibana Elasticsearch之-倒排索引 Elasticsearch之- ...

  5. Jquery EasyUI的添加,修改,删除,查询等基本操作介绍

    http://www.jb51.net/article/42016.htm 初识Jquery EasyUI看了一些博主用其开发出来的项目,页面很炫,感觉功能挺强大,效果也挺不错,最近一直想系统学习一套 ...

  6. Python--day42--mysql操作数据库及数据表和基本增删改查

    sql语法规则: 一.操作文件夹 1.创建数据库db2:create database db2; 2.创建数据库db2并标明数据库的编码格式为utf8:create database db2 defa ...

  7. python全栈开发day61-django简单的出版社网站展示,添加,删除,编辑(单表的增删改查)

    day61 django内容回顾: 1. 下载: pip install django==1.11.14 pip install -i 源 django==1.11.14 pycharm 2. 创建项 ...

  8. Elasticsearch学习笔记(十)批量查询mget、批量增删改bulk

    一.批量查询  mget             GET /_mget {   "docs":[       {         "_index":" ...

  9. Elasticsearch由浅入深(六)批量操作:mget批量查询、bulk批量增删改、路由原理、增删改内部原理、document查询内部原理、bulk api的奇特json格式

    mget批量查询 批量查询的好处就是一条一条的查询,比如说要查询100条数据,那么就要发送100次网络请求,这个开销还是很大的如果进行批量查询的话,查询100条数据,就只要发送1次网络请求,网络请求的 ...

  10. asp.net LINQ连接数据库SQL执行数据的增加、修改、删除、查询操作

    查询数据库中的数据 using System; using System.Collections.Generic; using System.Linq; using System.Web; using ...

随机推荐

  1. 并不对劲的bzoj4012:loj2116:p3241: [HNOI2015]开店

    题目大意 有一棵\(n\)(\(n\leq1.5*10^5\))个节点的二叉树,有点权\(x\),边权\(w\),\(q\)(\(q\leq2*10^5\))组询问,每组询问给出\(u,l,r\),求 ...

  2. 12_传智播客iOS视频教程_注释和函数的定义和调用

    OC的注释和C语言的注释一模一样.它也分单行注释和多行注释. OC程序里面当然可以定义一个函数.并且定义的方式方法和调用的方式方法和我们C语言是一模一样的.OC有什么好学的?一样还学个什么呢? 重点是 ...

  3. 初探js闭包

    1.变量的作用域:全局变量.局部变量 函数内部可以直接读取局部变量 js代码 var n=2; function fun(){ alert(n); } fun();  //2 函数外部不能读取函数内部 ...

  4. CodeForces 723C Polycarp at the Radio (题意题+暴力)

    题意:给定 n 个数,让把某一些变成 1-m之间的数,要改变最少,使得1-m中每个数中出现次数最少的尽量大. 析:这个题差不多读了一个小时吧,实在看不懂什么意思,其实并不难,直接暴力就好,n m不大. ...

  5. Linux下 SSH远程管理服务

    第1章 SSH基本概述 1.1 SSH服务协议说明 SSH 是 Secure Shell Protocol 的简写,由 IETF 网络工作小组(Network Working Group )制定 在进 ...

  6. HDU3853:LOOPS(概率DP)

    传送门 题意 从(i,j)走到(i,j),(i,j+1),(i+1,j)的概率为p[i][j][1],p[i][j][2],p[i][j][3],花费2魔力,问从(1,1)走到(r,c)的期望 分析 ...

  7. 利用插件(jQuery-ui.js)实现表格行的拖拽排序

    template 模板(html) 首先要引入jQuery-ui.js的文件.import './../../scripts/base/jquery/jquery-ui.min.js';<tab ...

  8. bzoj 4521: [Cqoi2016]手机号码【数位dp】

    比较基础的数位dp,dfs的时候带上上一位,上上位,是否已经有连续3个相同位,是否有4,是否有8即可 但是要注意两点(在洛谷上一直70) 当l=1e10的时候,直接输出clc(r)即可,因为如果再减去 ...

  9. zoj 2532 Internship【最小割】

    就是求哪些边在最大流上满流,也就是找割边.把0作为t点,s向所有的1~n连流量为inf的边,其他的边按照流量连.跑一遍最大流,从s顺着有残余流量的正向边dfs打标记fr,从t顺着正向边有残余流量的反向 ...

  10. Spring boot下,集成任务调度中心(XXL-JOB)

    一.使用背景 目前项目中,采用的是微服务框架,由于在微服务中,存在需要定时的任务.但如果定时任务维护在每个微服务下,当微服务部署多个实例的情况下,会出现定事任务多次执行的情况.并且在解决问题的基础上, ...