我用的数据库是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. UVA11722概率问题之线性规划

    链接:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&am ...

  2. excel+requests管理测试用例接口自动化框架

    背景: 某项目有多个接口,之前使用的unittest框架来管理测试用例,将每个接口的用例封装成一个py文件,接口有数据或者字段变动后,需要去每个py文件中找出变动的接口测试用例,维护起来不方便,为了便 ...

  3. HDU1429:胜利大逃亡(续)

    传送门 题意 给出一个迷宫,门需要钥匙来打开,t秒内能否从起点到达终点 分析 这题我用以前一道题的代码改了改就过了,具体思想:设置vis[status][x][y],status记录到达该点拥有的钥匙 ...

  4. bzoj 3624: [Apio2008]免费道路【生成树+贪心】

    先把水泥路建生成树,然后加鹅卵石路,这里加的鹅卵石路是一定要用的(连接各个联通块),然后初始化并查集,先把必需的鹅卵石路加进去,然后随便加鹅卵石路直到k条,然后加水泥路即可. 注意判断无解 #incl ...

  5. 查找MySQL和 SQL sever data

    MySql SQL server

  6. 安装 Apache Commons Logging API步骤

    下载地址:  http://commons.apache.org/logging/ 

  7. [BZOJ3531] Peaks加强版

    Peaks Peaks 加强版 Description 在Bytemountains有N座山峰,每座山峰有他的高度h_i.有些山峰之间有双向道路相连,共M条路径,每条路径有一个困难值,这个值越大表示越 ...

  8. -Dmaven.multiModuleProjectDirectory system property is not set. Check $M2_HOME environment variable and mvn script match问题处理

    使用MyEclipse运行Maven项目时报如下错误信息: -Dmaven.multiModuleProjectDirectory system property is not set. Check ...

  9. Android 线程池系列教程(4) 启动线程池中的线程和中止池中线程

    Running Code on a Thread Pool Thread 上一课   下一课 1.This lesson teaches you to Run a Runnable on a Thre ...

  10. java中实参与形参的概念

    形参: public void fun(形参类型 形参名){ ... } 实参: public static void main(String[] args){ 类 对象名=new 类(); 对象名. ...