首页 > 其他分享 >简单hibernate5.2.10入门配置

简单hibernate5.2.10入门配置

时间:2022-12-30 11:00:37浏览次数:63  
标签:10 hibernate String id hibernate5.2 org password public 入门


1、官网下载hibernate 5相关jar包

​http://hibernate.org/orm/​

2、解压后,在lib目录中找到required目录下的jar包添加至项目。再添加数据库驱动包,博主用MySQL

jar包添加后如下图:

简单hibernate5.2.10入门配置_数据库

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"?>
  1. com.mysql.jdbc.Driverjdbc:mysql://localhost:3306/learndatarootroot<!-- 数据库连接池的大小 -->5<!-- 每次从数据库中取出并放到JDBC的Statement中的记录条数。Fetch Size设的越大,读数据库的次数越少,速度越快,Fetch   
  2. >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、测试运行结果

简单hibernate5.2.10入门配置_数据库_02


9、异常总结

按照上面步骤,如果代码session.beginTransaction();报错,检查自己项目的jdk版本,hibernate5最好用jdk8

标签:10,hibernate,String,id,hibernate5.2,org,password,public,入门
From: https://blog.51cto.com/u_13363083/5979274

相关文章

  • 操作系统实战45讲00010
    你好,我是LMOS。我们在前面的课程中探索了,开发操作系统要了解的最核心的硬件——CPU、MMU、Cache、内存,知道了它们的工作原理。在程序运行中,它们起到了至关重要的作用。在......
  • 10-Mysql注入漏洞
    手工注入:get:url中带参数xxx.asp/asp?id=123123单引号and1=1/-0baidu.com/xxx.php?id=12312string=hasdfsdstring=网站asp/aspxaccess/sqlserverpost:搜索框、登录、注册、......
  • Rust 语言新人入门指南
    首先,学习Rust不能急躁。如果你抱着之前1天上手Python,2天入门Go的经验和优越感来学习Rust的话,你可能会遭遇严重的失败感。如果你来自Haskell/Ocaml等函数式语......
  • 纯JavaScript入门级小游戏:兔子抢金币(附演示地址+源码)
    Hello,大家好,我是兔哥,我又来分享好玩的入门级项目啦。今天给大家带来的是一个纯JavaScript入门级小游戏:兔子抢金币,规则非常简单,控制屏幕上的兔子去接天上掉下来的金币,接满20......
  • CSS快速入门
    1、CSS基础知识CSS:专门用来美化HTML"标签"CSS应用方式:①直接在标签上应用<imgsrc="..."style="height:100px">②在head标签中写style标签<!DOCTYPEhtml><ht......
  • 将 VMware Tanzu Mission Control 和 vSphere 与 Tanzu Services 结合使用的快速入门
    Web流量和服务的爆炸式增长迫使组织对其基础架构进行现代化和优化。Kubernetes是战略和现代化故事的核心,但它只是其中的一部分。随着VMware与客户的互动,出现了重大的复......
  • Python处理Excel比Vba快100倍,媳妇连连夸赞今晚不用再跪搓衣板----python实战
    最近经历了一次把vb脚本改造成python脚本,并获得性能提升数倍的过程,当然,这个过程也不是一帆风顺,中间也经历了一些波折,但是,也收获了一波新的认知。正好最近有时间,姑且写下来记......
  • 模拟量直流信号隔离放大转换器0-75mV/0-±10V/0-5V转0-±100mV/0-20mA/4-20mAPCB模块
    ​概述:导轨安装DIN11IPOOC系列模拟信号隔离放大器是一种将输入信号隔离放大、转换成按比例输出的直流信号混合集成厚模电路。产品广泛应用在电力、远程监控、仪器仪表、医......
  • Linux 系統移植时在 kernel 中开启 I210 网卡驱动
    I210网卡是一个笔记通用的网卡,现在的kernel里面都带有对应的驱动,不过大部分kernel源码是默认不开启的,我们系统移植时需要用到就把它开启即可。1.makemenuconfig......
  • CF331C1 1100 *
    题意解析一开始以为是动态规划专题,想复杂了。其实就是模拟,每次挑最大的减。代码#include<bits/stdc++.h>usingnamespacestd;typedeflonglongll;constintN=......