在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();
}
}

浙公网安备 33010602011771号