hibernate初探

说实话hibernate配置与使用随便百度一下都很多,但对于新手来说还是存在很多问题,我就是那个在网上复制代码然后运行,随后各种异常出现,配了很久才搞定,所以记录下

一、为什么我们要使用hibernate

hibernate用于访问数据库,我们直接通过Java类来操作数据库,是对JDBC的轻量级的对象封装,它是一个独立的对象持久层框架

二、hibernate 配置

       1、下载hibernate依赖包  下载地址hibernate

       2、添加hibernate jar包

hibernate jar

                解压hibernate压缩包选择required包

        3、在SRC下新建hibernate.cfg.xml文件


hibernate.cfg.xml

          4、SRC下新建实体映射文件


三、通过实体类操作数据库

               实体类属性需对应数据库字段

               1、新建实体类

Employee实体类


数据库字段

                2、获取事物


Configuration cfg=new Configuration(); cfg.configure("hibernate.cfg.xml");//populates the data of the configuration file //creating seession factory object SessionFactory factory=cfg.buildSessionFactory(); //creating session object Session session=factory.openSession(); //creating transaction object Transaction t=session.beginTransaction();

      3、操作数据库

                 1)、添加数据

                 2)、删除数据


删除

注:参数二为int类型,如果表中存在多个相同ID会抛出org.hibernate.jdbc.BatchedTooManyRowsAffectedException

 方式二:Employee e1=new Employee();

                 e1.setId(0); 

                  session.delete(e1);


                 3)、更新数据

方式一:

Employee e1=new Employee();

e1.setId(1);

e1.setFirstName("121");

session.update(e1);;

方式二:

Employee user = (Employee )session.load(User.class,1);      

user.setName("周日");

session.update(user);

               4)、查询数据

方式一:全部查询查询

Query query=session.createQuery("from Employee");

List user=query.list();

for(int i=0;i<user.size();i++){

    Employee  emp= (Employee)user.get(i);

    System.out.println("id="+e.getId() + "firstName="+e.getFirstName());

}

注:session.createQuery("from Employee"); 参数Employee为所对应的实体类而不是数据库表

方式二:分页查询

Query query=session.createQuery("from Employee"); //

query.setFirstResult(10);//开始行( 0开始)

query.setMaxResults(14);//结束行

List user=query.list();

for(int i=0;i<user.size();i++){

  Employee  emp= (Employee)user.get(i);  

  System.out.println("id="+e.getId() +  "firstName="+e.getFirstName());

}


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • ORM(Object/Relationship Mapping):对象 / 关系映射 利用面向对象映射编写的数据库...
    曹达兴阅读 258评论 0 0
  • Hibernate: 一个持久化框架 一个ORM框架 加载:根据特定的OID,把一个对象从数据库加载到内存中OID...
    JHMichael阅读 2,015评论 0 27
  • 本文中我们介绍并比较两种最流行的开源持久框架:iBATIS和Hibernate,我们还会讨论到Java Persi...
    大同若鱼阅读 4,355评论 4 27
  • 本文包括:1、Hibernate的持久化类2、Hibernate 持久化对象的三个状态(难点)3、Hibernat...
    廖少少阅读 1,500评论 0 13
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,785评论 18 399