使用hibernate基本步骤

使用hibernate基本步骤

1,导入jar包

Pom.xml 中导入需要使用的jar包(可以直接百度maven repository查找你需要的jar包)

  <!--hibernate的核心jar包-->
   <dependency>
      <groupId>org.hibernate</groupId>
      <artifactId>hibernate-core</artifactId>
      <version>5.0.12.Final</version>
    </dependency>
  <!--mysql连接数据库的jar包-->
    <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>5.1.46</version>
    </dependency>

2,添加hibernate.cfg.xml配置文件

<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
        "-//Hibernate/Hibernate Configuration DTD//EN"
        "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
    <session-factory>
        <property name="connection.url">jdbc:mysql://localhost:3306/qingyun</property>
        <property name="connection.driver_class">com.mysql.jdbc.Driver</property>
        <property name="connection.username">root</property>
        <property name="connection.password">123456</property>

<!--使用注解模式,引入类的位置-->
<mapping class="com.qy.domain.StuEntity"/>

<!--使用配置文件,引入配置文件位置-->

        <mapping resource="com/qy/domain/Course.hbm.xml"/>
        <mapping resource="com/qy/domain/Employee.hbm.xml"/>
        <mapping resource="com/qy/domain/Grade.hbm.xml"/>
        <mapping resource="com/qy/domain/Record.hbm.xml"/>
        <!-- DB schema will be updated if needed -->
        <!-- <property name="hbm2ddl.auto">update</property> -->
    </session-factory>
</hibernate-configuration>

3,创建数据库表对应的实体类

public class Course {
    private String cno;
    private String cname;
}

4,创建类和表的映射 ***.hbm.xml

Course.hbm.xml
   
<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-mapping PUBLIC
    "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
    "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<!--name:类的全限定名  table:当前类对应的表名   schema:当前表所在的数据库名 -->
    <class name="com.qy.domain.Course" table="course" schema="qingyun">
        <!--id:主键   name:实体类中属性名   column:表中列名  -->
        <id name="cno" column="cno"/>
        <!--property 普通属性和列的对应 -->
        <property name="cname" column="cname"/>
    </class>
</hibernate-mapping>

5,测试

创测试类

package com.qy;   
import com.qy.domain.Course;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
import java.util.List;  
/**
 * Created by Administrator on 2018/11/13 0013.
 */
public class Test {
    public static void main(String[] args){
        //1.创建configuration对象
        Configuration cfg = new Configuration();
        //2.加载hibernate.cfg.xml
        cfg.configure("/hibernate.cfg.xml");
        //3.通过cfg创建会话工厂
        SessionFactory factory = cfg.buildSessionFactory();
        //4.从工厂中获取session连接
        Session session = factory.openSession();
        //5.执行操作
        List<Course>  list = session.createQuery("from Course ").list();          
        //6.关闭连接
        session.close();
        factory.close();
    }
}

6,内容补充

使用hibernate完成常见的增删改查功能?

1.查询所有  createQuery  list
2.查找一个对象   get  load
3.保存一个对象   save
4.更新一个对象   update
5.删除一个对象   delete
执行3,4,5操作需要开启事务,开启事务 : session.beginTransaction();
最后关闭之前提交事务:session.getTransaction().commit();

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券