本人根据视频学习了一下三大框架中比较简单的一个Hibernate,并简单完成了一个运用Hibernate的小程序

Hibernate是一个简化web程序Dao层的一个框架,应用他,可以完全脱离sql语句

第一步:创建一个java项目,没有必要创建一个web项目,因为Hibernate本身是针对后台对数据库的操作的

第二步:导入jar包:可以在根目录下创建一个lib文件夹用来存放导入的jar包,当然要先下载Hibernate的资源包并解压,打开之后首先将根目录的两个jar包导入,截图如下

然后打开lib文件夹将required文件夹里的jar包全部导入,再将jpa文件夹的jar包导入,最后导入mysql的连接的jar包,至此,需要的jar包全部导入完毕,最后右击创建的lib文件夹,进行一下build path

第三步:

创建一个实体类,为了简单,只创建一个user类,包含三个属性,id,username,pasword,并分别写出get和set函数,并在后台数据库中创建出相应的表

第四部:配置链接数据库的xml文件,该xml的全称是hibernate.cfg.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd"> <hibernate-configuration>
<session-factory >
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password">root</property>
<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/EE19Day01</property> <!-- 操作数据库时,会向控制台打印sql语句 -->
<property name="show_sql">true</property>
<!-- 在打印sql语句之前,首先对其进行转化,转化成程序员可以看懂的sql语句 -->
<property name="format_sql">true</property>
<!--是否自动生成表结构 -->
<property name="hbm2ddl.auto">update</property>
<!-- 事务自动提交 -->
<property name="hibernate.connection.autocommit">true</property>
<mapping resource="User.hbm.xml"/>
</session-factory>
</hibernate-configuration>

第五步:配置Hibernate的orm映射关系,代码如下:全称是User.hbm.xml(最好xml的名称与类的名称保持一致,以便后边的简单操作)

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="cn.heima_hello.User" table="t_user">
<id name="id" column="id">
<generator class="native"> </generator>
</id> <property name="username" column="username"></property> <property name="password" column="password"></property>
</class>
</hibernate-mapping>

第六步:创建一个测试类,对数据库进行操作

package cn.heima_hello;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration; public class test01 { public void fun1() {
//1.读取配置文件
Configuration conf = new Configuration().configure();
//2.根据数据创建factory对象
SessionFactory sessionFactory = conf.buildSessionFactory();
//3.获取操作数据库的session对象
Session session = sessionFactory.openSession();
//4.操作数据库
User user = new User();
user.setUsername("Tom");
user.setPassword("1234");
session.save(user);
//5.关闭资源
session.close();
sessionFactory.close();
}
public static void main(String[] args) {
// TODO Auto-generated method stub
test01 test01 = new test01();
test01.fun1();
} }

至此,一个简单的Hibernate程序已经搭建好,如果有什么问题,给以评论私聊

关于Hibernate的一个简单小程序的更多相关文章

  1. 手把手教你写一个RN小程序!

    时间过得真快,眨眼已经快3年了! 1.我的第一个App 还记得我14年初写的第一个iOS小程序,当时是给别人写的一个单机的相册,也是我开发的第一个完整的app,虽然功能挺少,但是耐不住心中的激动啊,现 ...

  2. 第一个mpvue小程序开发总结

    前言 说起小程序,其实在去年我都还只试着照着官方文档写过demo的,不过现在这家公司小程序做得比较多,我来之后也参与了几个小程序的开发了,最开始那几个是用的wepy,最近一个开始转用mpvue开发,最 ...

  3. 搭建Spring开发环境并编写第一个Spring小程序

    搭建Spring开发环境并编写第一个Spring小程序 2015-05-27      0个评论    来源:茕夜   收藏    我要投稿 一.前面,我写了一篇Spring框架的基础知识文章,里面没 ...

  4. 编写一个JAVA小程序取得IP地址

    在TCP/IP 互联网时,经常会需要查询自己主机的IP地址和www服务器的IP地址.虽然,我们可以使用IPCONFIG 和PING 进行IP地址查询,但是如果在应用程序或APPLET中使用此命令会破坏 ...

  5. 关于SIGSLOT的一个简单的程序

    废话少说直接看代码即可,这只是一个简单的程序,可以帮我们简单地明白SIGSLOT是怎么回事.至于深入研究自己去百度吧. #include "sigslot.h" using nam ...

  6. 如何快速地开发一个微信小程序

    如何快速地开发一个微信小程序呢?我觉得作为初学者,最好能有一个模板,然后改这个模板. 同样作为初学者,刚开始的时候我有下面的几个问题,后来通过问同学,我弄清楚了. 微信小程序可以连接MySQL或者Sq ...

  7. 基于C语言libvirt API简单小程序

    libvirt API简单小程序 1.程序代码如下 #include<stdio.h> #include<libvirt/libvirt.h> int getDomainInf ...

  8. Day1:第一个python小程序

    Day1:第一个python小程序与开发工具Pycharm 一.Hello World C:\Users\wenxh>python Python 3.6.2 (v3.6.2:5fd33b5, J ...

  9. 第一个servlet小程序

    第一个servlet小程序 com.fry.servlet.HelloServlet package com.fry.servlet; import javax.servlet.ServletExce ...

随机推荐

  1. merage语句

    MERGE  INTO  [credit].[record_rule_data] AS a  USING @tem AS b  ON  a.user_gid =@userLogGid  AND a.r ...

  2. 39-python 字符串替换+正则

    from bs4 import BeautifulSoup import urllib.request import re moduel =re.compile('<.*?>') st = ...

  3. 1-求组合数(c(n, m))的几种方法

    1.求C(n, m) 动态规划(递归+记忆数组) 递推关系为:C(n, m) = C(n-1, m) + C(n - 1, m - 1),C(n, m)表示为从n个数中选出m个出来,可以基于最后一个元 ...

  4. loadrunner--web_url函数用法

    web_url语法:        Int Web_url(const char *name, const char * url, <Lists of Attributes>, [EXTR ...

  5. Linux下的用户权限

    用户权限: drwxr-xr-x root root - : boot #权限位 硬连接数 所属用户 所属组 大小 最后修改时间 文件/目录# r w x 4 2 1 用户权限位分为3段,分别对应US ...

  6. ScreenCapture手动卸载教程-Xproer.ScreenCapture

    此教程包含WindowsXP,Windows7(x86) ,Windows7(x64),Firefox,Chrome卸载教程. 1.1. 手动卸载控件-Windows XP 主要步骤如下: 1.关闭所 ...

  7. (轉)Equal height boxes with CSS

    原文:http://www.456bereastreet.com/archive/200405/equal_height_boxes_with_css/ 下面是我翻译的内容,是根据我对文章的理解意译的 ...

  8. Oracle EBS Patch Demo

    Oracle EBS APP & DB 打补丁过程简述l例子: 打 Patch#   11843100:R12.CAC.B 打PATCH之前先查询一下是否已经有了这个PATCH. SELECT ...

  9. IIS部署网站常见问题

    有时候Web项目在VS开发环境下没有问题,但是在IIS服务器下却出现了问题. 这让人很抓狂. 在这里总结下通常发生这种问题的几个主要原因. 1.IIS注册.Net框架. 1.1:C:\WINDOWS\ ...

  10. [Erlang24]使用zotonic搭建网站记录

    zotonic的搭建网站(blog)记录:   zotonic:用Erlang做的一个web 框架:   和wordpress 类似,但是官网称比PHP CMS要快10倍以上   先看看我的成果:正弦 ...