10.9 hibernate 更新操作

jQuery 选择器


jQuery 选择器允许

更新操作

我们在快速入门中使用到了save(Objcet o)方法,调用了这个方法就把对象保存在数据库之中了。Session对象还提供着其他的方法来进行对数据库的更新

  • session.save(obj); 【保存一个对象】
  • session.update(obj); 【更新一个对象】
  • session.saveOrUpdate(obj); 【保存或者更新的方法】
    • 没有设置主键,执行保存;
    • 有设置主键,执行更新操作;
    • 如果设置主键不存在报错!

我们来使用一下update()方法吧....既然是更新操作了,那么肯定需要设置主键的,不设置主键,数据库怎么知道你要更新什么。将id为1的记录修改成如下:


        user.setId(1);
        user.setPassword("qwer");
        user.setCellphone("1111");
        user.setUsername("zhongfucheng");

这里写图片描述


主键查询

通过主键来查询数据库的记录,从而返回一个JavaBean对象

  • session.get(javaBean.class, int id); 【传入对应的class和id就可以查询】
  • session.load(javaBean.class, int id); 【支持懒加载】

User重写toString()来看一下效果:


       User user1 = (User) session.get(User.class, 1);
        System.out.println(user1);

这里写图片描述


HQL查询

HQL:hibernate query language 即hibernate提供的面向对象的查询语言

  • 查询的是对象以及对象的属性【它查询的是对象以及属性,因此是区分大小写的!】

SQL:Struct query language 结构化查询语言

  • 查询的是表以及列【不区分大小写】

HQL是面向对象的查询语言,可以用来查询全部的数据!


        Query query = session.createQuery("FROM User");

        List list = query.list();
        System.out.println(list);

这里写图片描述

当然啦,它也可以传递参数进去查询

        Query query = session.createQuery("FROM User WHERE id=?");

        //这里的?号是从0开始的,并不像JDBC从1开始的!
        query.setParameter(0, user.getId());

        List list = query.list();
        System.out.println(list);

这里写图片描述


QBC查询

QBC查询: query by criteria 完全面向对象的查询

从上面的HQL查询,我们就可以发现:HQL查询是需要SQL的基础的,因为还是要写少部分的SQL代码....QBC查询就是完全的面向对象查询...但是呢,我们用得比较少

我们来看一下怎么使用吧:


        //创建关于user对象的criteria对象
        Criteria criteria = session.createCriteria(User.class);

        //添加条件
        criteria.add(Restrictions.eq("id", 1));

        //查询全部数据
        List list = criteria.list();
        System.out.println(list);

这里写图片描述


本地SQL查询

有的时候,如果SQL是非常复杂的,我们不能靠HQL查询来实现功能的话,我们就需要使用原生的SQL来进行复杂查询了!

但是呢,它有一个缺陷:它是不能跨平台的...因此我们在主配置文件中已经配置了数据库的“方言“了。

我们来简单使用一下把:


        //将所有的记录封装成User对象存进List集合中
        SQLQuery sqlQuery = session.createSQLQuery("SELECT * FROM user").addEntity(User.class);

        List list = sqlQuery.list();

        System.out.println(list);

这里写图片描述

beginTransaction方法

开启事务,返回的是一个事务对象....Hibernate规定所有的数据库操作都必须在事务环境下进行,否则报错!

您对 HTML 元素组或单个元素进行操作。


jQuery 选择器

jQuery 选择器允许您对 HTML 元素组或单个元素进行操作。

jQuery 选择器基于元素的 id、类、类型、属性、属性值等"查找"(或选择)HTML 元素。 它基于已经存在的 CSS 选择器,除此之外,它还有一些自定义的选择器。

jQuery 中所有选择器都以美元符号开头:$()。


元素选择器

jQuery 元素选择器基于元素名选取元素。

在页面中选取所有 <p> 元素:

$("p")

实例

用户点击按钮后,所有 <p> 元素都隐藏:

实例

$(document).ready(function(){ $("button").click(function(){ $("p").hide(); }); });

尝试一下 »

 

posted @ 2021-10-09 12:14  While!true  阅读(270)  评论(0编辑  收藏  举报