当前位置:Gxlcms > 数据库问题 > Hibernate学习笔记(一)-->数据库单表操作

Hibernate学习笔记(一)-->数据库单表操作

时间:2021-07-01 10:21:17 帮助过:29人阅读

static void main(String[] args) { //获取Session对象 Session s = HibernateSessionFactory.getSession(); //开启事务 // s.beginTransaction(); //数据库数据添加 // s.save(new DateTxt(new Date(), "ss")); //提交事务 // DateTxt data = (DateTxt)s.get(DateTxt.class, 50); // data.setTime(new Date());
     //修改数据
// s.update(data); //删除信息 // s.delete(data); // s.getTransaction().commit(); //关闭事务 // s.close(); }

通过代码已经很清晰的看到如何操作了,下面总结一下

beginTransaction()开启事务

getTransaction().commit()提交事务

getTransaction().rollback()回滚事务

save(对象)保存数据

update(对象)修改数据

delete(类名.class,主键ID)删除数据

2.查询。

查询方法比较多,就比进行太多代码演示了。

     //基础查询,其他查询都是在此基础上进行扩展
        //查询语句createQuery(HQL查询语句) from + 表对应的类名 返回Query对象
        //list(): 返回一个List集合
        String hql = "from DateTxt";
        List<DateTxt> lists = s.createQuery(hql).list();
        for (DateTxt dateTxt : lists) {
            System.out.println(dateTxt.toString());
        }
        //分页查询
        List<DateTxt> lists2 = s.createQuery("from DateTxt").setFirstResult(0).setMaxResults(2).list();
        for (DateTxt dateTxt : lists2) {
            System.out.println(dateTxt.toString());
        }
        //聚合函数查询,count()查询数据总数类型要使用Long
        Integer max = (Integer) s.createQuery("select min(id) from DateTxt").uniqueResult();
        System.out.println(max);

 

hibernate单表查询总结
* 1.from + 表对应的类名 : 查询所有
* 2.select new 表对应的类(变量1,变量2,。。。) from 表对应的类名:查询给定列的数据
  需要在bean里面给出对应的构造器
* 3.from 类名 where 属性名 = ?:条件查询
  在createQuery()方法后调set*(下标或属性名,value)方法给值
* 4.from 类名 where 属性名 like ?:模糊查询
  在createQuery()方法后调set*(下标或属性名,%value%)方法给值
* 5.from 类名 where 属性名 like =:别名 :通过 别名查询
  在createQuery()方法后调set*(别名,value)方法给值
* 6.在查询语句后调用.uniqueResult()返回单条查询结果
* 7.在查询语句后调用.setFirstResult(第几条数据开始).setMaxResults(查询的最大条数)实现分页查询
* 8.Long max = (Long) s.createQuery("select count(id) from DateTxt").uniqueResult():聚合函数查询,返回数据的总数
* 9.把上面的count换成max/min : 返回最大索引/最小索引
* 10.session.createSQLQuery(原生SQL语句).addEntity(类名.class) : 使用原生sql语句查询
* 11.select 别名 from 类名 as 别名 : 通过别名返回结果集,通常用于多表查询
* 12.session.get(类名.class ,主键ID):通过主键id快速查找单条数据



 

Hibernate学习笔记(一)-->数据库单表操作

标签:str   学习   开始   color   result   基础上   开启   ati   family   

人气教程排行