Hibernate连接mysql数据库并自动创建表

天才第一步,雀氏纸尿裤,Hibernate第一步,连接数据库。

Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的orm框架,hibernate可以自动生成SQL语句,自动执行,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 所以说,Hibernate讲白了就是简化了与数据库之间的操作,那么要玩转它自然就得连接上数据库咯。(与Hibernate对应的orm框架还有Mybatis,只不过Mybatis是半自动的,但是个人感觉更喜欢Mybatis,更自由,扩展性更强)。

今天就给大家分享一下Hibernate怎么连接mysql数据库并自动创建表,至于其他数据库的连接其实是同理的,大家自己学会举一反三。

第一步:随便创建一个java项目,麻痹的项目的都没有怎么玩对吧?New》Other...,输入java Project,如图:

点击Next,然后输入项目名称,选择使用的JDK版本等等,然后点击Finish,如图:

这样一个java项目就创建好了。

第二步:在项目的根目录创建一个lib目录用来存放项目所需的jar包,这里需要用到的有Hibernate的核心jar包、mysql jdbc的jar包以及Junit的jar包,这里会用Junit进行测试(哥们不用我教怎么去获取这些包吧?如果要,那哥们你还是放弃这个行业吧,作为职业IT屌丝,一定要从基层就学会获取资源,利用资源),如图:

然后,在项目中引入这些jar包,鼠标右键点击项目,选择Properties,弹出如图所示窗口:

点击Java Build Path,点击Libraries,点击Add JARs,弹出:

将lib目录下的jar包全部选中点击ok按钮就成了,如图:

第三步:创建Hibernate的配置文件,在src上点击鼠标右键选择New》Other...输入Hibernate,弹出Hibernate Tools插件相关的内容,然后选中配置文件,点击Next,如图:

点击Next,Next,Finish就好了。

第四步:在src路径下按照包命名规范创建包,并在entity包下创建一个实体类,这里我创建的是一个Student学生类,然后随便给上几个字段,用getter/setter封装一下就好,如图:

第五步:创建实体类的映射文件,New》Other...输入Hibernate,弹出Hibernate Tools插件相关的内容,然后选中映射文件,点击Next,如图:

弹出如图所示窗口,点击Add Class:

选择要映射的实体类,点击OK按钮,如图:

然后又是Next或者Finish啥的,不用多说,然后映射文件就创建成功了,Hibernate会帮我们自动写好映射文件,如图:

第六步:进行Hibernate配置文件的详细配置,包括连接数据库需要的配置,是否输出sql语句,导入映射文件等等,(各个配置的含义请自行了解,培养个人学习能力)如图:

第七步:创建数据库,配置文件中我用的是hibernate数据库,记得打开mysql服务,然后通过可视化工具创建一个hibernate数据库就好,如图:

最后一步:使用Junit进行测试,新建一个test包,在包下新建一个Junit测试类,如图:

然后敲上相应的代码:

 1 package com.alanlee.test;
 2
 3 import java.util.Date;
 4
 5 import org.hibernate.Session;
 6 import org.hibernate.SessionFactory;
 7 import org.hibernate.Transaction;
 8 import org.hibernate.cfg.Configuration;
 9 import org.hibernate.service.ServiceRegistry;
10 import org.hibernate.service.ServiceRegistryBuilder;
11 import org.junit.After;
12 import org.junit.Before;
13 import org.junit.Test;
14
15 import com.alanlee.entity.Student;
16
17 /**
18  * 测试类
19  * @author AlanLee
20  *
21  */
22 public class StudentTest
23 {
24     /**
25      * 会话工厂
26      */
27     private SessionFactory sessionFactory;
28     /**
29      * 会话对象
30      */
31     private Session session;
32     /**
33      * 事务对象
34      */
35     private Transaction transaction;
36
37     /**
38      * 初始化
39      * @throws Exception
40      */
41     @Before
42     public void setUp() throws Exception
43     {
44         // 创建配置镀锡
45         Configuration config = new Configuration().configure();
46         // 创建服务注册对象
47         ServiceRegistry serviceRegistry = new ServiceRegistryBuilder().applySettings(config.getProperties())
48                 .buildServiceRegistry();
49         // 创建会话工厂对象
50         sessionFactory = config.buildSessionFactory(serviceRegistry);
51         // 创建会话对象
52         session = sessionFactory.openSession();
53         // 开启事务
54         transaction = session.beginTransaction();
55     }
56
57     /**
58      * 释放资源
59      * @throws Exception
60      */
61     @After
62     public void tearDown() throws Exception
63     {
64         // 提交事务
65         transaction.commit();
66         // 关闭会话
67         session.close();
68         // 关闭会话工厂
69         sessionFactory.close();
70     }
71
72     /**
73      * 测试方法
74      */
75     @Test
76     public void testSaveStudent()
77     {
78         //生成学生对象
79         Student student = new Student();
80         student.setSid(1);
81         student.setName("AlanLee");
82         student.setSex("男");
83         student.setBirthday(new Date());
84         student.setAddress("湖南郴州");
85         //保存对象进入数据库
86         session.save(student);
87     }
88
89 }

通过Junit运行这个类进行测试,运行成功,如图:

然后我们看一下数据库,刷新一下表,如图:

这样,通过Hibernate连接mysql数据库并自动创建表就完美实现了。

小Alan之前有写关于eclipse安装Hibernate Tools的随笔,关于Hibernate Tools没弄明白的自己翻出来看看,小Alan都是尽量用图片展示就是喜欢大家能够尽量自己动手敲敲,别还没理解就是一个copy,那样子是很难把技术变成自己脑海里的东西的。

爸妈又在催吃饭了,下回见。

时间: 2024-10-08 23:48:21

Hibernate连接mysql数据库并自动创建表的相关文章

hibernate 项目启动时总会自动创建表

hibernate 项目启动时总会自动创建表,造成以下错误 Caused by: java.sql.SQLSyntaxErrorException: ORA-00955: 名称已由现有对象使用 经验证,是方言使用错误导致的.项目使用的数据库版本为Oracle11g,方言应该使用  org.hibernate.dialect.Oracle10gDialect 修改配置如下: jpa: show-sql: true database-platform: org.hibernate.dialect.O

Unity3D 连接MySQL数据库笔记3-SQL建表

打开  Navicat MySQL管理工具 连接到数据库 选择 test 数据库 点击 查询 输入对应的 sql命令 create table tuser( uname varchar(20) not null primary key, upwd varchar(20) not null ); create table p_info( pkey varchar(15) not null primary key, pname varchar(20) not null, psex varchar(2

Eclipse中hibernate连接mySQL数据库练习

(采用的是hibernate中XML配置方式连接数据库,以后在更新其他方式的连接) Hibernate就是Java后台数据库持久层的框架,也是目前企业用最多的数据库框架,主要是基于ORM -- object relationship Mapping,翻译成中文叫“对象关系映射”,也就是将SQL这种非面向对象语言转化成hibernation面向对象的写法,本文将通过在Eclipse下搭建HIbernate框架 我所使用的Hibernate版本是Hibernate3.3.2,Hibernate官网下

Hibernate连接MySQL数据库乱码相关问题

1.查看MySQL字符编码 >show variables like 'character%'; #执行编码显示 其中character_set_client,character_set_results,character_set_connection三个运行变量是造成乱码的关键 2.修改MySQL编码格式为UTF8 编辑my.ini,(注意:不是utf-8,也要注意大小写) 找到客户端配置[client] 在下面添加 ### 默认字符集为utf8 default-character-set=u

Python中使用SQLAlchemy连接Mysql数据库2(多表连接操作)

http://blog.csdn.net/u011573853/article/details/51355113 在上面我们已经说了单表的一些操作,现在我们说一下多表的连接 >>> from sqlalchemy import distinct >>> from sqlalchemy.orm import aliased >>> Astu = aliased(Stu,'Astu') >>> Acla = aliased(Cla,'Ac

利用powerDesigner16.5连接oracle数据库并自动生成表结构图

hibernate简单连接mysql数据库配置

使用hibernate连接mysql数据库 1:项目搭建好之后,在lib包中添加必要的jar包,和mysql数据库驱动jar包: jar包可以在hibernate的下载包(hibernate3.3.2.GA)中找到,这里所需要的jar包是: hibernate3.jar,lib/required目录下的所有jar包; 连接数据库所需要的jar包:mysql-connector-java-5.1.7-bin.jar; 如图: 2:jar包引入后编写实体类及映射文件: 实体类是xx.java文件;映

hibernate自动创建表报表不存在

在hibernate.cfg.xml配置了<property name="hibernate.hbm2ddl.auto">update</property>自动创建表,但是项目启动会报 table doesn't exists 可能原因是主键策略设置的是native 而类里的id类型是String 这个uid要换成Integer 原文地址:https://www.cnblogs.com/suni/p/8707538.html

nodeJS连接MySQL数据库

nodeJS连接MySQL数据库,首先创建一个数据库及表.如下: create databases node; create table test( id int AUTO_INCREMENT PRIMARY KEY , name char(50) )ENGINE=InnoDB DEFAULT CHARSET=utf8; 安装MySQL驱动: $ npm install mysql 下面是nodeJS代码: var sys = require('util'); console.log('正在连接