zoukankan      html  css  js  c++  java
  • Hibernate——简单的增、删、改、查操作

    思路:

    1.导入hibernate jar包

    2.导入mysql jar包

    3.创建数据库

    4.创建java实体类

    5.编写hibernate.cfg.xml配置文件

    6.编写dao类

    目录:

    数据表:

    实体类:

    package online.shixun.model;
    
    import java.util.Date;
    
    import javax.persistence.Column;
    import javax.persistence.Entity;
    import javax.persistence.GeneratedValue;
    import javax.persistence.GenerationType;
    import javax.persistence.Id;
    import javax.persistence.Table;
    
    
    /**
     * 实体类
     * @author Tom
     *
     */
    @Entity
    @Table(name = "commodity")
    public class Commodity {
        
        @Id
        @GeneratedValue(strategy = GenerationType.IDENTITY)//主键自增
        private Integer id;
        
        
        @Column(name = "createDate")
        private Date createDate;//创建日期
        
        @Column(name = "described")
        private String describe;//商品描述
        
        @Column(name = "modifyDate")
        private Date modifyDate;//修改日期
        
        @Column(name = "name")
        private String name;//商品名称
        
        //构造函数
        public Commodity(){
            
        }
        
        //带参构造函数
        public Commodity(Date createDate,String describe,Date modifyDate,String name){
            this.createDate = createDate;
            this.describe = describe;
            this.modifyDate = modifyDate;
            this.name = name;
        }
    
        public Integer getId() {
            return id;
        }
    
        public void setId(Integer id) {
            this.id = id;
        }
    
        public Date getCreateDate() {
            return createDate;
        }
    
        public void setCreateDate(Date createDate) {
            this.createDate = createDate;
        }
    
        public String getDescribe() {
            return describe;
        }
    
        public void setDescribe(String describe) {
            this.describe = describe;
        }
    
        public Date getModifyDate() {
            return modifyDate;
        }
    
        public void setModifyDate(Date modifyDate) {
            this.modifyDate = modifyDate;
        }
    
        public String getName() {
            return name;
        }
    
        public void setName(String name) {
            this.name = name;
        }
    
        @Override
        public String toString() {
            return "Commodity [id=" + id + ", createDate=" + createDate + ", describe=" + describe + ", modifyDate="
                    + modifyDate + ", name=" + name + "]";
        }
        
        
    }

    hibernate.cfg.xml:

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE hibernate-configuration PUBLIC
            "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
            "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
    <hibernate-configuration>
        <session-factory>
            <!-- 数据库连接四项driverclass,url,username,password -->
            <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
            <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/qsx_shop?characterEncoding=UTF-8</property>
            <property name="hibernate.connection.username">root</property>
            <property name="hibernate.connection.password">root</property>
            
            <!-- Hibernate方言,Hibernateh会根据配置的方言产生对应的sql语句 -->
            <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
            
            <!-- 是否显示sql -->
            <property name="hibernate.show_sql">true</property>
            
            <!-- 是否格式化sql -->
            <property name="hibernate.format_sql">true</property>
            
            <!-- 配置数据实体类 -->
            <mapping class="online.shixun.model.Commodity" />
        </session-factory>
    </hibernate-configuration>

    DAO:

    package online.shixun.test;
    
    //import java.sql.Date;
    import java.util.Date;
    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    
    import org.hibernate.Session;
    import org.hibernate.SessionFactory;
    import org.hibernate.boot.registry.StandardServiceRegistry;
    import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
    import org.hibernate.cfg.Configuration;
    
    import online.shixun.model.Commodity;
    
    public class HibernateDemo {
        
        public static void main(String[] args) throws ParseException {
            //获取配置文件
            Configuration configuration = new Configuration().configure();
            //注册服务对象
            StandardServiceRegistryBuilder serviceRegistryBuilder = new StandardServiceRegistryBuilder();
            StandardServiceRegistry serviceRegistry = serviceRegistryBuilder.applySettings(configuration.getProperties()).build();
            //获取SessionFactory
            SessionFactory sessionFactory = configuration.buildSessionFactory(serviceRegistry);
            //获取session
            Session session = sessionFactory.openSession();
            //开启事务
            session.beginTransaction();
            //************开始操作*************//
            //1. 利用 get 方法获取 id 为 1 的用户数据
            Commodity getCommodity = (Commodity) session.get(Commodity.class, 1);
            System.out.println("创建日期:" + getCommodity.getCreateDate() + "描述:" + getCommodity.getDescribe() + "修改日期:" + getCommodity.getModifyDate() + "名称:" + getCommodity.getName());
            
    //        Date date = new Date(0);
            String stringdate = "2019-05-07";
            Date date =  new SimpleDateFormat("YYYY-MM-DD").parse(stringdate);
            
            //2.增加商品
    //        Commodity newCommodity = new Commodity(date,"电器1",date,"电饭锅2");
    //        session.save(newCommodity);
            
            //3.删
    //        Commodity getCommodity1 = (Commodity) session.load(Commodity.class, 2);
    //        session.delete(getCommodity1);
    //        session.getTransaction().commit();
            
            //4.改
    //        Commodity getCommodity2 = (Commodity) session.get(Commodity.class, 1);
    //        getCommodity2.setName("洗脸盆");
    //        session.update(getCommodity2);
    //        session.getTransaction().commit();
            //************结束操作*************//
            
            
            //提交事务
            session.getTransaction();
            //关闭session
            session.close();
            //关闭SessionFactory
            sessionFactory.close();
        }
    }

    Hibernate 配置文件有以下两种加载方式,如下:

    //利用以下语句加载默认的 Hibernate 配置文件(名称:hibernate.cfg.xml)

    Configuration configuration = new Configuration().configure();
    //如果要自定义 Hibernate 配置文件名称,需要利用以下语句进行配置文件加载

    Configuration configuration = new Configuration().configure("my-hibernate.cfg.xml");

  • 相关阅读:
    希尔排序
    基数排序
    spring8——AOP之Bean的自动代理生成器
    spring7——AOP之通知和顾问
    spring6——AOP的编程术语
    spring5——Aop的实现原理(动态代理)
    spring4——IOC之基于注解的依赖注入(DI )
    spring3——IOC之基于XML的依赖注入(DI )
    spring2——IOC之Bean的装配
    spring1——IOC之原理
  • 原文地址:https://www.cnblogs.com/yzp666/p/7529151.html
Copyright © 2011-2022 走看看