Idea下Hibernate的基本操作

Idea下Hibernate的基本操作

Idea下Hibernate的使用

一、创建新的项目(New Project)

164721_7XKp_3537796.png

1.选择Hibernate(5.2.16)

2.点击Next继续

165041_BWsi_3537796.png

3.Project name:项目名称,自行命名

Project location:项目存储路径

4.点击Finish

注意点击后,将从网络上下载Hibernate,完成后,项目结构如下图所示

165049_Ynzq_3537796.png

5.配置Hibernate

165057_G5a7_3537796.png

6.配置hibernate.cfg.xml文件

配置如下:

165104_D7Eq_3537796.png

配置<property name="connection.driver_class">com.mysql.jdbc.Driver</property>

时需要先引入mysql驱动

7.连接数据库,自动生成实体类

165115_4Tde_3537796.png

165123_S21o_3537796.png

在src下创建包com.study.entity

165131_xrHL_3537796.png

165141_uLYh_3537796.png

8.在hibernate.cfg.xml中配置Mapping

<mapping class="com.study.entity.TbStudentinfoEntity"></mapping>

二、对数据库进行增删改查操作

import com.study.entity.TbStudentinfoEntity;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import java.util.List;
public class StudentServices {
    //新增数据
    public void addEntity(){
        //实例化配置对象,加载映射文件,加载hibernate.cfg.xml
        Configuration configuration=new Configuration().configure();
        // 创建会话工厂
        SessionFactory sessionFactory=configuration.buildSessionFactory();
        //创建会话
        Session session=sessionFactory.openSession();
        //开启事务
        Transaction transaction=session.beginTransaction();
        //创建对象
        TbStudentinfoEntity student=new TbStudentinfoEntity();
        student.setName("张无忌");
        student.setAge(24);
        student.setAddress("光明顶");
        //保存数据
        session.save(student);
        //提交事务
        transaction.commit();
        session.close();
        sessionFactory.close();
    }
    //查询所有数据
    public void studentFindAllByHQL(){
        //实例化配置对象,加载映射文件,加载hibernate.cfg.xml
        Configuration configuration=new Configuration().configure();
        // 创建会话工厂
        SessionFactory sessionFactory=configuration.buildSessionFactory();
        //创建会话
        Session session=sessionFactory.openSession();
        //编写HQL语句(面向类和属性的查询)
        String hql="from TbStudentinfoEntity";//注意,TbStudentinfoEntity不是表名,是类名,
        List<TbStudentinfoEntity> students=session.createQuery(hql).list();
        System.out.println("编号\t\t姓名\t\t年龄\t\t地址");
        for(TbStudentinfoEntity s:students){
            System.out.println(s.getId()+"\t\t"+s.getName()+"\t\t"+s.getAge()+"\t\t"+s.getAddress());
        }
        session.clear();
        sessionFactory.close();
    }
    //查询 根据
    public void studentFindBy(){
        //实例化配置对象,加载映射文件,加载hibernate.cfg.xml
        Configuration configuration=new Configuration().configure();
        // 创建会话工厂
        SessionFactory sessionFactory=configuration.buildSessionFactory();
        //创建会话
        Session session=sessionFactory.openSession();
        TbStudentinfoEntity student=(TbStudentinfoEntity)session.get(TbStudentinfoEntity.class,1);
        System.out.println(student);
        session.close();
        sessionFactory.close();
    }
    //删除
    public void studentDelete(){
        //实例化配置对象,加载映射文件,加载hibernate.cfg.xml
        Configuration configuration=new Configuration().configure();
        // 创建会话工厂
        SessionFactory sessionFactory=configuration.buildSessionFactory();
        //创建会话
        Session session=sessionFactory.openSession();
        //开启事务
        Transaction transaction=session.beginTransaction();
        TbStudentinfoEntity student=new TbStudentinfoEntity();
        student.setId(2);
        
        session.delete(student);
        //提交事务
        transaction.commit();
        session.close();
        sessionFactory.close();
    }
    //修改
    public void studentUpdate(){
        //实例化配置对象,加载映射文件,加载hibernate.cfg.xml
        Configuration configuration=new Configuration().configure();
        // 创建会话工厂
        SessionFactory sessionFactory=configuration.buildSessionFactory();
        //创建会话
        Session session=sessionFactory.openSession();
        //开启事务
        Transaction transaction=session.beginTransaction();
        TbStudentinfoEntity student=(TbStudentinfoEntity)session.get(TbStudentinfoEntity.class,1);
        student.setAddress("河南科技学院");
        session.update(student);
        //提交事务
        transaction.commit();
        session.close();
        sessionFactory.close();
    }
}

 

转载于:https://my.oschina.net/u/3537796/blog/1816787

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值