1、官网下载hibernate 5相关jar包
http://hibernate.org/orm/
2、解压后,在lib目录中找到required目录下的jar包添加至项目。再添加数据库驱动包,博主用MySQL
jar包添加后如下图:
3、创建数据库learndata、创建表userinfo,下面给出建表语句:
CREATE TABLE `NewTable` (
`id` int NULL AUTO_INCREMENT ,
`username` varchar(50) NULL ,
`password` varchar(50) NULL ,
PRIMARY KEY (`id`)
);
4、编写实体类对象
1. package model;
2.
3. public class Userinfo {
4.
5. private int id;
6. private String username;
7. private String password;
8.
9. public int getId() {
10. return id;
11. }
12. public void setId(int id) {
13. this.id = id;
14. }
15. public String getUsername() {
16. return username;
17. }
18. public void setUsername(String username) {
19. this.username = username;
20. }
21. public String getPassword() {
22. return password;
23. }
24. public void setPassword(String password) {
25. this.password = password;
26. }
27.
28. }
5、编写映射文件
<?xml version="1.0" encoding="UTF-8"?>
6、编写hibernate配置文件
<?xml version="1.0" encoding="UTF-8"?>
- com.mysql.jdbc.Driverjdbc:mysql://localhost:3306/learndatarootroot<!-- 数据库连接池的大小 -->5<!-- 每次从数据库中取出并放到JDBC的Statement中的记录条数。Fetch Size设的越大,读数据库的次数越少,速度越快,Fetch
- >50 <!--批量插入,删除和更新时每次操作的记录数。Batch Size越大,批量操作的向数据库发送Sql的次数越少,速度就越快,同样耗用内存就越大 -->23 <!-- SQL 方言 -->org.hibernate.dialect.MySQL5Dialect<!-- Enable Hibernate's automatic session context management -->thread<!-- 在控制台输出sql语句 -->true<!-- 在启动时根据配置更新数据库 -->update<!-- 注册我们的实体映射类 -->
7、编写测试Java文件
1. package action;
2.
3. import model.Userinfo;
4.
5. import org.hibernate.Session;
6. import org.hibernate.SessionFactory;
7. import org.hibernate.Transaction;
8. import org.hibernate.cfg.Configuration;
9.
10. public class Test {
11.
12. public static void main(String[] args) {
13. // 配置方法一
14. // final StandardServiceRegistry registry = new StandardServiceRegistryBuilder().configure("hibernate.cfg.xml").build();
15. // SessionFactory sessionFactory = new MetadataSources(registry).buildMetadata().buildSessionFactory();
16.
17. // 配置方法二
18. new Configuration().configure("hibernate.cfg.xml");
19. SessionFactory sessionFactory = cfg.buildSessionFactory();
20.
21. Session session = sessionFactory.openSession();
22. Transaction transaction = session.beginTransaction();
23. new Userinfo();
24. "root");
25. "123456");
26. session.save(user);
27. transaction.commit();
28. }
29. }
8、测试运行结果
9、异常总结
按照上面步骤,如果代码session.beginTransaction();报错,检查自己项目的jdk版本,hibernate5最好用jdk8