zoukankan      html  css  js  c++  java
  • 在IDEA中创建hibernate及对hibernate进行CRUD操作

    博主链接:https://www.cnblogs.com/xmai/p/8124383.html(自动根据已经存在的数据库表生成Hibernate实体与xml)

    博主链接:https://www.cnblogs.com/yangyquin/p/5438248.html(Hibernate与struts2整合)

    踩坑记录:

    1、mysql-connector-java 包的版本一定要导对,否则会报错:java.sql.SQLException: Unknown system variable 'query_cache_size'

    2、@Test测试是import org.junit.Test,而我导入另外一个类了,所以总是报错,这是对不够细心的惩罚,所以记得类也是要对应的

    3、依照博客测试练习,一定要细心+认真,否则就会卡在博主的某一步上,浪费掉大量的时间

    代码测试:

    <?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/rushi</property>
            <property name="connection.driver_class">com.mysql.jdbc.Driver</property>
            <property name="connection.username">root</property>
            <property name="connection.password">Sys935269</property>
            <property name="current_session_context_class">thread</property>
            <property name="show_sql">true</property>
            <property name="dialect">org.hibernate.dialect.MySQLDialect</property>
    
            <mapping resource="com/practice/data/entities/OrdersEntity.hbm.xml"/>
            <mapping class="com.practice.data.entities.OrdersEntity"/>
            <mapping resource="com/practice/data/entities/EmployeeEntity.hbm.xml"/>
            <mapping class="com.practice.data.entities.EmployeeEntity"/>
            <mapping resource="com/practice/data/entities/JobEntity.hbm.xml"/>
            <mapping class="com.practice.data.entities.JobEntity"/>
    
    
            <!-- DB schema will be updated if needed -->
            <!-- <property name="hbm2ddl.auto">update</property> -->
        </session-factory>
    </hibernate-configuration>
    
    import org.hibernate.Session;
    import org.hibernate.SessionFactory;
    import org.hibernate.Transaction;
    import org.hibernate.cfg.Configuration;
    
    import org.junit.Before;
    import org.junit.Test;
    
    
    public class TestHibernate {
        Configuration configuration = null;
        SessionFactory sessionFactory = null;
        Session session = null;
        Transaction tx = null;
    
        @Before
        public void init() {
            configuration = new Configuration().configure("/hibernate.cfg.xml");
            sessionFactory = configuration.buildSessionFactory();
            session = sessionFactory.openSession();
            tx = session.beginTransaction();
    
        }
    
        /**
         * 添加
         */
        @Test
        public void insert() {
            JobEntity jobEntity = new JobEntity();
            jobEntity.setId(5);
            jobEntity.setJob(2017);
            jobEntity.setJobName("大数据");
            session.save(jobEntity);
        }
    
        /**
         * 查询
         */
        @Test
        public void select() {
            JobEntity jobEntity = session.get(JobEntity.class, new Integer(4));
            tx.commit();
            session.close();
            System.out.println("id号:" + jobEntity.getId() + ",job号" + jobEntity.getJob() + ",工作专业:" + jobEntity.getJobName());
        }
    
        /**
         * 查询
         */
        @Test
        public void delect() {
            JobEntity jobEntity = session.get(JobEntity.class, new Integer(5));
            session.delete(jobEntity);
            tx.commit();
            session.close();
        }
    
        /**
         * 修改
         * 修改之后用save和update方法都可以的
         */
        @Test
        public void update() {
            JobEntity jobEntity = session.get(JobEntity.class, new Integer(4));
    //        jobEntity.setJobName("我是谁");
    //        session.save(jobEntity);
    //        tx.commit();
    //        session.close();
            jobEntity.setJobName("改回来");
            session.update(jobEntity);
            tx.commit();
            session.close();
        }
    
    }
    
  • 相关阅读:
    IPv6隧道技术——6to4实验分析
    IPV6地址解析与DAD机制实验分析
    交换机的高级特性
    组播IGMP实验分析
    BGP实验分析(二)
    BGP实验分析(一)
    路由策略实验分析(二)
    路由策略实验分析(一)
    一线互联网拼多多、饿了么、蚂蚁金服、哈啰出行、携程、饿了么、2345、百度等一些Java面试题
    Java中的匿名内部类
  • 原文地址:https://www.cnblogs.com/lindaiyu/p/10962716.html
Copyright © 2011-2022 走看看