Hibernate入门

Hibernate入门,第1张

Hibernate入门 一、Hibernate概念

定义:是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装。可以通            过 *** 作实体类对象来进行 *** 作数据库。

理解:是一个ORM框架/持久层框架    jdbc的一个框架
          object reference mapping    对象关系映射

特点:通过管理对象来改变数据库中的数据
           通过管理对象来 *** 作数据库

优势:跨数据库的无缝移植

二、Hibernate框架(框架都有配置文件)的使用(在maven项目中) 1. 添加hibernate相关依赖

  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  4.0.0
  com.xhy
  hibernate
  war
  0.0.1-SNAPSHOT
  hibernate Maven Webapp
  http://maven.apache.org
 
        UTF-8
        1.8
        1.8
        4.12
        4.0.0
        5.3.0.Final
        8.0.19
    

    
 
        
            junit
            junit
            ${junit.version}
            test
        

        
            javax.servlet
            javax.servlet-api
            ${servlet.version}
            provided
        

        
            org.hibernate
            hibernate-core
            ${hibernate.version}
        

        
            mysql
            mysql-connector-java
            ${mysql.driver.version}
        

    
  
 
    hibernate
   
   
                org.apache.maven.plugins
                maven-compiler-plugin
                3.7.0
                
                    1.8
                    1.8
                    UTF-8
                

            

    
   

 


注意:mysql的版本要和你自己用的版本相匹配

2. 在resource目录下添加hibernate.cfg.xml(核心配置文件)

之前的都是要经过浏览器请求所以在web.xml中做配置,而hibernate不处理浏览器请求,是和数据库打交道的

hibernate的内置文件配置文件俩种

2.1 添加DTD支持(仿照内置文件中dtd文件)

 hibernate.cfg.xml


    "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
    "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
2.2 添加Hibernate的配置

 ①数据库相关(connection.username|connection.password|connection.url|connection.driver_class|dialect)
②调试相关(show_sql|format_sql)

 hibernate.cfg.xml


        




        
        root
        123456
        jdbc:mysql://127.0.0.1:3306/mybatis_ssm?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT&useSSL=true
        com.mysql.cj.jdbc.Driver
        org.hibernate.dialect.MySQLDialect
        

        
        thread

        
        true
        true
        
        

        

        


        

        


    
    

3. 在开发阶段再创建实体类和实体映射文件(*.hbm.xml)
      实体必须实现Serializable接口

去仿照以上的内置文件写实体类映射文件 (*.hbm.xml)

 在实体类建立一个xml文件绑定实体类(.hbm.xml)


    "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
    "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">//在内置文件中复制的

格式:
   
   
            //程序员自己控制
        //特殊的property标签


        
和id标签的一样
       。。。。
    
   

  小结:hibernate.cfg.xml(1)
        //第二种:new一个对象,删掉
        User user=new User();
        user.setId(11);
        session.delete(user);

//    6.提交事务(查询不用)
    transaction.commit();
//    7.关闭session
    session.close();
}
}

 

④修改

package com.xhy.one.test;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;

import com.xhy.one.entity.User;

public class UpdDemo {
public static void main(String[] args) {
//    1.对框架核心配置文件进行建模(框架自带)拿到configure对象
    Configuration configure = new Configuration().configure("/hibernate.cfg.xml");
//     2.获取sessionFactory工厂
    SessionFactory sessionFactory = configure.buildSessionFactory();
//    3.获取session会话
    Session session = sessionFactory.openSession();
//     4.开启事务(查询不用)
    Transaction transaction = session.beginTransaction();
    //    5.session *** 作对象

    User user = session.get(User.class,14);
    user.setRealName("hhhh");


//    6.提交事务(查询不用)
    transaction.commit();
//    7.关闭session
    session.close();
}
}
 

 

 

 

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4026025.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-10-22
下一篇 2022-10-22

发表评论

登录后才能评论

评论列表(0条)

保存