hibernate初探

2018-01-04  本文已影响0人  Hoklam

说实话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());

}

上一篇下一篇

猜你喜欢

热点阅读