hibernate的CRUD
来源:互联网 发布:红米2移动版网络解锁 编辑:程序博客网 时间:2024/06/05 05:12
一.CRUD操作简述
既然hibernate这个框架是对数据库的访问,也就应该有对数据库的CRUD操作,即对数据的增加,删除,修改,查找。
二.回想下java的jdbc操作流程
我们以前用过jdbc来访问数据库,简单回想下以前的过程。
1. 加载驱动
2.建立连接
3.定义sql,发生sql语句
4.执行sql语句获得执行结果
5.处理返回结果
6.关闭资源
简单来说,也差不多是这几步骤,那hibernate框架是哪些流程呢?
三.hibernate的操作流程
- 首先需要建立数据库,这里我们要先建立数据库,在配置hibernate.cfg.xml需要在里面指出用哪个数据库。
create table hibernate( //省略具体代码 );
2.建立数据源连接,我们需要hibernate.cfg.xml把使用哪个数据库,mysql还是oracle,还有用户名和密码等信息写在这里面。
<property name="connection.driver_class">com.mysql.jdbc.Driver</property> <property name="connection.url">jdbc:mysql://localhost:3306/hibernate</property> <property name="connection.username">root</property> <property name="connection.password">123456</property>
3.建立一个实体类Teacher,写一些数据,相当于你要创建个表就参考这里面的属性。
4.再创建一个获取SessionFactory的单例类,也就是把数据存储到数据库里去。
5.再有一个类来实现hibernate的CURD操作。
四.hibernate的CRUD操作
一.插入操作
public void test(){ Session sess = HibernateUtils.getSession(); //打开一个新的session sess.beginTransaction(); User u = new User(); u.setName("张三"); sess.save(u); session.getTransaction().commit(); }
二.删除操作
下面是通过删除该id来删除数据
session = HibernateUtil.getSessionFactory().getCurrentSession(); session.beginTransaction(); user u = new user(); u.setId(1); session.delete(u); session.getTransaction().commit();
三.更新操作
session = HibernateUtil.getSessionFactory().getCurrentSession(); session.beginTransaction(); user u = (user)session.get(user.class,1);//获得id=1的数据 if(u != null){ u.setName("李四"); u.setAge(18); session.update(u); session.getTransaction().commit();
四.查询操作
hibernate查询方式有6种:HQL查询,对象化查询Criteria方法,动态查询DetachedCriteria,例子查询,sql查询,命名查询。
下面我就举HQL查询例子:
HQL是hibernate自己的一套查询语言,具有跨数据库的优点。
session = HibernateUtil.getSessionFactory().getCurrentSession(); session.beginTransaction(); Query query = session.createQuery("from user where age=23"); //此处user是类名,而不是数据库的表名,select * 不写 List<user> users = query.list(); for (user user : users) { System.out.println(user.getId()+" "+user.getName()+" "+user.getAge());}
阅读全文
0 0
- hibernate 的CRUD
- hibernate的crud操作
- hibernate的CRUD操作
- hibernate的CRUD操作
- Hibernate的CRUD操作
- hibernate的crud操作
- Hibernate的基本CRUD
- Hibernate的CRUD
- hibernate的CRUD
- hibernate简单的crud
- Hibernate实现简单的CRUD
- Hibernate之完整的CRUD
- Hibernate对象的CRUD操作
- Hibernate-简单的crud案例
- Hibernate 入门------简单的CRUD
- hibernate--关联关系的CRUD
- hibernate---CRUD
- hibernate-CRUD
- 字符串基础知识
- java--有关file的小程序
- 综合布线系统设备选型
- 二分法查找
- 1033旧键盘 #include<ctype.h> 中的toupper和tolower 转换大小写
- hibernate的CRUD
- 为什么C++没有finally
- 小白Java笔记——运行机制
- hdu 1848 Fibonacci again and again(sg函数的简单应用 模板题 )
- matlab中的rand使用
- 使用opencv_python进行视频分析遇到的bgsegm问题
- poj3373——Changing Digits
- MySQL 锁、事物、MVCC
- ArcGIS Data Store的只读事务