hibernate框架入门(增删改查)

什么是hibernate?

hibernate框架简介
它是一个ORM框架/持久层框架,也是jdbc的一个框架,object reference mapping(全称:对象关系映射),什么意思呢,以前我们操作数据库分六部走,加载驱动、执行sql到关闭资源这一过程六个步骤,那么hibernate呢,他就做到一点,只需一步,操作数据库就可以了,不用我们写SQL语句,也不用配置servlet,可以动态调用方法,它简化的是我们数据库的操作这一块

简单描述:

ORM框架/持久层框架

全称为object reference mapping

通过管理对象来改变数据库中的数据

通过管理对象来操作数据库

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

创建maven项目:
 
1 添加hibernate相关依赖
  2 在resource目录下添加hibernate.cfg.xml(核心配置文件)

  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  4.0.0
  hmf
  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
                

            

        

 


 


    1 添加DTD支持
    2 添加Hibernate的配置


    "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
    "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">

        
        




        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
        
        

        

        


        

        


    


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


    "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
    "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">

    
        
            
        

        
        

        
        

        
        

        
        

        
        

                     type="java.sql.Timestamp" column="create_datetime">
        

        
        

    

 

查询

package com.hmf.one.test;

import java.util.List;

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

public class QueryDemo {
    public static void main(String[] args) {
        /**思路:
        1.对框架核心配置文件进行建模
        2.获取sessionFactory工厂
        3.获取session会话
        4.开启事务(查询不需要)
        5.session操作对象
        6.提交事务(查询不需要事务)
        7.关闭session

         */
        Configuration configure=new Configuration().configure("/hibernate.cfg.xml");
        SessionFactory sessionFactory = configure.buildSessionFactory();
        Session session=sessionFactory.openSession();
        List list = session.createQuery("from User").list();
        for(Object object:list) {
            System.out.println(object);
        }
        session.close();
    }

}
 

hibernate框架入门(增删改查)_第1张图片

 新增

hibernate框架入门(增删改查)_第2张图片

package com.hmf.one.test;

import java.sql.Date;
import java.sql.Timestamp;
import java.util.List;

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

import com.hmf.one.entity.User;

public class AddDemo {
    public static void main(String[] args) {
        /**
        1.对框架核心配置文件进行建模
        2.获取sessionFactory工厂
        3.获取session会话
        4.开启事务(查询不需要)
        5.session操作对象
        6.提交事务(查询不需要事务)
        7.关闭session
         */
        Configuration configure=new Configuration().configure("/hibernate.cfg.xml");
        SessionFactory sessionFactory = configure.buildSessionFactory();
        Session session=sessionFactory.openSession();
        Transaction transaction = session.beginTransaction();
        User user=new User();
        user.setBirthday(new Date(System.currentTimeMillis()));
        user.setCreateDatetime(new Timestamp(System.currentTimeMillis()));
        user.setId(18);
        user.setRealName("hmf");
        user.setRemark("yyy");
        user.setSex("6");
        user.setUserName("哈哈哈哈哈哈哈");
        user.setUserPwd("123");

        session.save(user);
        transaction.commit();
        session.close();
    }
}
 

结果

 修改

package com.hmf.one.test;

import java.sql.Date;
import java.sql.Timestamp;

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

import com.hmf.one.entity.User;

public class EditDemo {
    public static void main(String[] args) {
        /**
        1.对框架核心配置文件进行建模
        2.获取sessionFactory工厂
        3.获取session会话
        4.开启事务(查询不需要)
        5.session操作对象
        6.提交事务(查询不需要事务)
        7.关闭session
         */
        Configuration configure=new Configuration().configure("/hibernate.cfg.xml");
        SessionFactory sessionFactory = configure.buildSessionFactory();
        Session session=sessionFactory.openSession();
        Transaction transaction = session.beginTransaction();
        User user = session.get(User.class, 18);
        user.setRealName("晓哥");
        System.out.println(user);
        transaction.commit();
        session.close();
    }
}
 

 删除

package com.hmf.one.test;

import java.sql.Date;
import java.sql.Timestamp;

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

import com.hmf.one.entity.User;

public class DelDemo {
    public static void main(String[] args) {
        /**
        1.对框架核心配置文件进行建模
        2.获取sessionFactory工厂
        3.获取session会话
        4.开启事务(查询不需要)
        5.session操作对象
        6.提交事务(查询不需要事务)
        7.关闭session
         */
        Configuration configure=new Configuration().configure("/hibernate.cfg.xml");
        SessionFactory sessionFactory = configure.buildSessionFactory();
        Session session=sessionFactory.openSession();
        Transaction transaction = session.beginTransaction();
        User user = session.get(User.class, 18);
        session.delete(user);

        System.out.println(user);
        transaction.commit();
        session.close();
    }
}
 

方法一:

User user = session.get(User.class, 18);
        session.delete(user);

方法二:

User user=new User();
        user.setId(6);
        session.delete(user); 

hibernate框架入门(增删改查)_第3张图片

你可能感兴趣的:(hibernate,sql,数据库)