一、hibernate简单插入
1)按照标准的官方标准
Configuration cfg = new Configuration().configure();
//获取会话工厂(一个数据库只能有一个会话工厂)
SessionFactory sf = cfg.buildSessionFactory();
//会话
Session session = sf.openSession();
//事务
Transaction tx = session.beginTransaction();
//设置user类的值
User user = new User();
// user.setUserId(7);
// user.setUserName("czy2");
// user.setPass("213");
// //保存更改
// session.save(user);
//关闭事务
tx.commit();
2)非标准的插入
如果有经常使用数据库的伙伴就知道插入根据业务要求,也是非常的多样化,官方的标准不一定可以满足我们的要求,我们也可以按照自己的要求去写自己insert语句
使用本地sql语句
Configuration cfg = new Configuration().configure();
//获取会话工厂(一个数据库只能有一个会话工厂)
SessionFactory sf = cfg.buildSessionFactory();
//会话
Session session = sf.openSession();
//事务
Transaction tx = session.beginTransaction();
//使用本地sql
String sql="insert into user_list(userName)values(?)";
SQLQuery sqlquery=session.createSQLQuery(sql);
sqlquery.setParameter(0, "sun");
sqlquery.executeUpdate();
//关闭事务
tx.commit();
二、hibernate简单查询
0)首先hibernate环境必须搭好,可以看我前面的教程
概述:
Query(查询)接口允许你在数据库上执行查询并控制查询如何执行。查询语句使用HQL或者本地数据库的SQL方言编写。
调用代码:
User是一个类
Query query = session.createQuery(“from User”);
1)绑定参数查询
以下userName为参数名称
查询用户名为“seehope”的用户:
例子1:使用?号传参
Query query = session.createQuery(“from User user where user.name = ?");
query.setParameter(0,user.getName());
2)使用变量名传参
从User类里面查找user.name的属性
Query query = session.createQuery("from User where user.name = :userName");
//设置参数
query.setParameter(“userName ",user.getName());
//打印出来看下
System.out.println(list.get(0).getUserId());
3)代码举例
String hql="from User";
// String hql="from User where userId=?";
String hql="from User where userName=:userName";
Query query=session.createQuery(hql);
//第二个参数传的是userId的值
// query.setParameter(0, 7L);
query.setParameter("userName", "czy2");
//查询的数据是放在集合的
List<User> list=query.list();
System.out.println(list.get(0).getUserId());
4)非标准的查询语句
三、update
//非标准的hql语句,更新
hql="update User set pass=? where userName=?";
query=session.createQuery(hql);
query.setParameter(0, "121");
query.setParameter(1, "sun");
四、delete
//非标准的hql语句,删除
hql="delete User where userName=?";
query=session.createQuery(hql);
query.setParameter(0, "czy2");
// query.executeUpdate();
五、使用本地sql语句
//使用本地sql,在这里可以写自己的sql语句
String sql="insert into user_list(userName)values(?)";
SQLQuery sqlquery=session.createSQLQuery(sql);
sqlquery.setParameter(0, "sun");
sqlquery.executeUpdate();
总结:我们从上面几个例子可以看出来,hibernate自己封装了很多对数据库的操作,可以极大的方便我们的编程,做到真正的面向对象,同时我们又可以写我们自己sql语句,非常的方便。在后面的学习还会有更加厉害的用法!