Hibernate

单词

unquestResult 唯一结果
lazy 延迟加载
cascade 级联
inverse 反转
Entity 实例

创建工厂


Configuration cfg = new Configuration().configure();
SessionFactory sf = cfg.buildSessionFactory();

得到session

Session session = sf.openSession();

增删改查

Transaction ts = session.beginTransaction(); //开启事务
        try {
            User user2=new User();
            user2.setId(28);
//          session.save(user2);   insert 添加
//          session.delete(user2);  delete  删除
              ts.commit();       //提交事务          
            List<User> list = session.createQuery("from User").list(); //select 查找
            for (User user : list) {
                System.out.println(user);
            }
        } catch (Exception e) {
            ts.rollback();
        } finally {
            session.close();
            sf.close();
        }

查找单个对象

User user = (User)session.get(User.class, 27);

唯一结果

Object object = session.createSQLQuery("select count(*) from Employee").uniqueResult();

hql查询

普通增删改建议使用

 from 类名 where 字段名
 例如 :from User where empno=111

占位符赋值


//通过?赋值
String hql="from User where empno=? and username=?";
session.createQuery(hql).setParameter(0, "111").setParameter(1, "小迪").list();

//通过:赋值
String hql="from User where empno=:a and username=:b";
setParameter("a", "111").setParameter("b", "小迪").

//通过对象赋值
String hql="from User where empno=:empno and username=:username";
setProperties(new User("小迪","111"))

原生sql

  String sql="select * from employee";
               List<Object[]> list = session.createSQLQuery(sql).list();    
           for (Object[] objects : list) {
            System.out.println(objects[0]); //输出无法直接进行模型化 ,复杂查询建议使用
        }
        
List<User> list2 = session.createSQLQuery(sql).addEntity(User.class).list();
           for (User user : list2) {
                System.out.println(user);
            }

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • [TOC] Hibernate 1 直译:冬眠 数据持久化框架 ORM框架2 用处: 最终将JDBC 替换 uni...
    長又长阅读 2,435评论 0 1
  • ORM(Object/ReLationshop Mapping):对象关系映射,尽量少写与底层相关的sql语句,便...
    yzw12138阅读 3,290评论 0 0
  • (一)Struts、Spring、Hibernate、Mybatis框技术 1.Struts2.0有几种标签库 【...
    独云阅读 8,542评论 0 62
  • 持久化对象的三种状态 瞬时态由new命令创建,开辟内存空间的对象,不存在持久化标记OID(相当于主键值),尚未与H...
    蕊er阅读 1,256评论 0 0
  • Hibernate 复习 基本演示: hibernate创建的 java 工程,需要的 jar包: hiberna...
    inke阅读 3,813评论 0 1

友情链接更多精彩内容