关于Hibernate的一个简单小程序
本人根据视频学习了一下三大框架中比较简单的一个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的一个简单小程序的更多相关文章
- 手把手教你写一个RN小程序!
时间过得真快,眨眼已经快3年了! 1.我的第一个App 还记得我14年初写的第一个iOS小程序,当时是给别人写的一个单机的相册,也是我开发的第一个完整的app,虽然功能挺少,但是耐不住心中的激动啊,现 ...
- 第一个mpvue小程序开发总结
前言 说起小程序,其实在去年我都还只试着照着官方文档写过demo的,不过现在这家公司小程序做得比较多,我来之后也参与了几个小程序的开发了,最开始那几个是用的wepy,最近一个开始转用mpvue开发,最 ...
- 搭建Spring开发环境并编写第一个Spring小程序
搭建Spring开发环境并编写第一个Spring小程序 2015-05-27 0个评论 来源:茕夜 收藏 我要投稿 一.前面,我写了一篇Spring框架的基础知识文章,里面没 ...
- 编写一个JAVA小程序取得IP地址
在TCP/IP 互联网时,经常会需要查询自己主机的IP地址和www服务器的IP地址.虽然,我们可以使用IPCONFIG 和PING 进行IP地址查询,但是如果在应用程序或APPLET中使用此命令会破坏 ...
- 关于SIGSLOT的一个简单的程序
废话少说直接看代码即可,这只是一个简单的程序,可以帮我们简单地明白SIGSLOT是怎么回事.至于深入研究自己去百度吧. #include "sigslot.h" using nam ...
- 如何快速地开发一个微信小程序
如何快速地开发一个微信小程序呢?我觉得作为初学者,最好能有一个模板,然后改这个模板. 同样作为初学者,刚开始的时候我有下面的几个问题,后来通过问同学,我弄清楚了. 微信小程序可以连接MySQL或者Sq ...
- 基于C语言libvirt API简单小程序
libvirt API简单小程序 1.程序代码如下 #include<stdio.h> #include<libvirt/libvirt.h> int getDomainInf ...
- Day1:第一个python小程序
Day1:第一个python小程序与开发工具Pycharm 一.Hello World C:\Users\wenxh>python Python 3.6.2 (v3.6.2:5fd33b5, J ...
- 第一个servlet小程序
第一个servlet小程序 com.fry.servlet.HelloServlet package com.fry.servlet; import javax.servlet.ServletExce ...
随机推荐
- ios 解决Wkwebview闪烁问题
// 网页闪烁问题 if ([self.webView.realWebView isKindOfClass:[WKWebView class]]) { ((WKWebView * ...
- sqlserver备份与还原
备份:数据库右键 默认: 还原成功: 还原: 1,新建同名数据库,右键 下步一定要,不然会报“备份集中的数据库备份与现有的数据库不同” 还原成功后
- ANGULAR 2 BITS: UNIFIED DEPENDENCY INJECTION
Angular 1.x has two APIs for injecting dependencies into a directive. These APIs are not interchange ...
- pycharm控制台出现python编译器的编辑功能
一.最近研究了下python,然后昨天发现新建项目后,出现如图的输入状况(Ctrl+Alt+F10) 二 二.更改方式 (1)点开如图位置,进入编辑模式 (2)将如图位置的√去掉就好了
- thinkphp 调用wsdl接口实例化SoapClient抛出异常
异常:Message:SOAP-ERROR: Parsing WSDL: Couldn't load from 'http://*****?wsdl' : failed to load externa ...
- 如何使用Word2016或Office365中的word撰写博客并发布
目前大部分的博客作者在用Word写博客这件事情上都会遇到以下3个痛点: 1.所有博客平台关闭了文档发布接口,用户无法使用Word,Windows Live Writer等工具来发布博客.使用Word写 ...
- 一个GIS系统需具备的功能
数据的存储(数据结构) 图形显示 功能:拓扑分析 开源的GIS系统:QGIS,SharpMap 各个功能组件
- (二分搜索 )Strange fuction -- HDU -- 2899
链接: http://acm.hdu.edu.cn/showproblem.php?pid=2899 Time Limit: 2000/1000 MS (Java/Others) Memory ...
- POJ3281 Dining 2017-02-11 23:02 44人阅读 评论(0) 收藏
Dining Description Cows are such finicky eaters. Each cow has a preference for certain foods and dri ...
- Hdu4280 Island Transport 2017-02-15 17:10 44人阅读 评论(0) 收藏
Island Transport Problem Description In the vast waters far far away, there are many islands. People ...