广告
返回顶部
首页 > 资讯 > 数据库 >hibernate开发步骤
  • 798
分享到

hibernate开发步骤

2024-04-02 19:04:59 798人浏览 安东尼
摘要

Hibernate框架开发步骤项目导入需要的jar包: Http://pan.baidu.com/s/1eRQ19C2编写hibernate.cfg.xml文件<?xml version='1.0'e

Hibernate框架开发步骤

项目导入需要的jar包:

Http://pan.baidu.com/s/1eRQ19C2

编写hibernate.cfg.xml文件

<?xml version='1.0'encoding='UTF-8'?>

<!DOCTYPE hibernate-configuration PUBLIC

         "-//Hibernate/Hibernate Configuration DTD3.0//EN"

         "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

<!-- Generatedby MyEclipse Hibernate Tools. -->

<hibernate-configuration>

    <session-factory>

        <!-- 配置连接数据库信息 -->

        <!-- 加载数据库的URL -->

        <property name="connection.url">jdbc:Mysql://127.0.0.1:3306/test</property>

        <!-- 数据库连接名 -->

        <property name="connection.username">root</property>

        <!-- 数据库的连接密码 -->

        <property name="connection.passWord">123456</property>

        <!-- 加载数据库驱动 -->

        <property name="connection.driver_class">com.mysql.jdbc.Driver</property>   

             <!-- 配置hibernate属性信息 -->

             <!-- 设置数据库方言 -->

             <property name="dialect">org.hibernate.dialect.MysqlDialect</property>

             <!-- 后台是否显示SQL语句 -->

             <property name="show_sql">true</property>

             <!-- 是否格式化SQL语句 -->

             <property name="fORMat_sql">true</property>

             <!-- 设置数据库生成策略默认为update-->

             <property name="hbm2ddl.auto">update</property>

             <!-- 加载hibernate映射文件 -->

             <mapping resource="com/edu/bean/User.hbm.xml"/>

    </session-factory>

</hibernate-configuration>

编写实体类,创建表

eg:

package com.edu.bean;

 

public class User {

         private intid;

         private String username;

         private String password;

         public intgetId() {

                   return id;

         }

         public voidsetId(int id) {

                   this.id =id;

         }

         public String getUsername() {

                   return username;

         }

         public voidsetUsername(String username) {

                   this.username= username;

         }

         public String getPassword() {

                   return password;

         }

         public voidsetPassword(String password) {

                   this.password= password;

         }

public User(Stringusername, String password) {

                   super();

                   this.username= username;

                   this.password= password;

         }

         public User() {

                   // TODO Auto-generated constructor stub

         }

}

编写映射文件

eg:

<?xml version="1.0"encoding="UTF-8"?>

<!DOCTYPE hibernate-mapping PUBLIC"-//Hibernate/Hibernate Mapping DTD 3.0//EN"

"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">

<hibernate-mapping>

         <!-- name对应实体类,table对应数据库中的表 -->

         <class name="com.edu.bean.User"table="user">

                   <!-- name对应实体类中属性名,column对应表中字段,type为表中字段类型-->

                   <id name="id"column="id">

                            <!-- 设置主键生成策略 -->

                            <generator class="identity"></generator>

                   </id>

                   <property name="username"type="string"column="username"></property>

                   <property name="password"type="string"column="password"></property>

         </class>

</hibernate-mapping>

将映射文件放入到hibernate.cfg.xml

<!-- 加载hibernate映射文件 -->

<mapping resource="com/edu/bean/User.hbm.xml"/>

编写代码:

eg:

package com.edu.test;

import org.hibernate.Session;

import org.hibernate.SessionFactory;

import org.hibernate.Transaction;

import org.hibernate.cfg.Configuration;

import org.junit.Test;

import com.edu.bean.User;

public class HibernateTest {

         @Test

         public voidtest(){

                   //读取hibernate.cfg.xml主配置文件

                   Configurationcfg=new Configuration().configure("hibernate.cfg.xml");

                   //创建SessionFactory工厂

                   SessionFactorysf=cfg.buildSessionFactory();

                   //获取session

                   Sessionsession=sf.openSession();

                   //创建事务

                   Transactiontc=session.beginTransaction();

                   //创建User对象

                   Useruser=new User("张三", "123456");

                   //持久化对象

                   try{

                            //保存数据

                            session.save(user);

                            //提交事务(不可少)

                            tc.commit();

                   }catch(Exception e){

                            //数据操作失败,回滚事务

                            tc.rollback();

                   }

                   //关闭session

                   session.close();

         }

}

代码分层优化:
获取Session的HibernateGetSession类:

package com.edu.dbconn;

import org.hibernate.Session;

import org.hibernate.SessionFactory;

import org.hibernate.cfg.Configuration;

public class HibernateGetSession {

         //保证SessionFactory工厂只创建一次

         private staticSessionFactory sf;

         static{

                   if(sf==null){

                            //读取hibernate.cfg.xml主配置文件

                            Configurationcfg=new Configuration().configure("hibernate.cfg.xml");

                            //创建SessionFactory工厂

                            sf=cfg.buildSessionFactory();

                   }

         }

         public staticSession getSession(){

                   //创建session

                   Sessionsession=sf.openSession();

                   return session;       

         }

}

Dao层的UserDao类:

package com.edu.dao;

import org.hibernate.Session;

import org.hibernate.Transaction;

import com.edu.bean.User;

import com.edu.dbconn.HibernateGetSession;

 

public class UserDao {

         public voidsaveUser(){

                   //获取session

                   Sessionsession=HibernateGetSession.getSession();

                   //创建事务

                   Transactiontc=session.beginTransaction();

                   //创建User对象

                   Useruser=new User("李四", "123456");

                   //持久化对象

                   try{

                            //保存数据

                            session.save(user);

                            //提交事务(不可少)

                            tc.commit();

                   }catch(Exception e){

                            //数据操作失败,回滚事务

                            tc.rollback();

                   }

                   //关闭session

                   session.close();

         }

}

测试层:

package com.edu.test;

import org.junit.Test;

import com.edu.dao.UserDao;

public class HibernateTest {

         @Test

         public voidtest(){

                   UserDaoud=new UserDao();

                   ud.saveUser();

         }

}

实例源码

http://pan.baidu.com/s/1eRPLFJO


您可能感兴趣的文档:

--结束END--

本文标题: hibernate开发步骤

本文链接: https://www.lsjlt.com/news/34664.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • hibernate开发步骤
    Hibernate框架开发步骤项目导入需要的jar包: http://pan.baidu.com/s/1eRQ19C2编写hibernate.cfg.xml文件<xml version='1.0'en...
    99+
    2022-10-18
  • golang开发步骤
    随着互联网时代的发展,编程语言技术也在不断更新和升级,Go语言(Golang)作为一款开源的静态类型编程语言,受到越来越多开发者的青睐。Go语言专注于面向对象编程,同时具有高效、可读性强、并发性能好等优点,不断成为开发云计算、微服务和网络编...
    99+
    2023-05-21
  • less开发方法步骤
    本篇内容介绍了“less开发方法步骤”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!【一】less简介LES...
    99+
    2022-10-19
  • java开发步骤是什么
    java开发步骤 (推荐学习:java课程)1、源程序的编写和保存:JAVA 程序的编译:...
    99+
    2014-10-31
    java入门 java
  • java程序的开发步骤
    java程序的开发步骤:找出类应该做的事情列出实例变量和方法列出方法和伪码编写方法的测试程序实现类测试方法除错或重新设计伪码伪码能帮你专注于逻辑而不需要顾虑到程序语法。测试码测试用的程序代码。真实码实际设计出的真正java程序代码。推荐教程...
    99+
    2017-10-07
    java基础 java 程序 开发 步骤
  • nodeJS开发网站的步骤
    在当今的互联网时代,网站开发变得越来越重要。而随着移动设备的普及和HTML的发展,开发网站的技术也在不断进步和变革。Node.js作为一款JavaScript运行环境,因为其高效、轻量、跨平台等特点,逐渐成为了网站开发的首选技术。本文将介绍...
    99+
    2023-05-16
  • golang开发步骤是什么
    golang开发步骤是:1、项目规划;2、环境搭建;3、编写代码;4、测试;5、构建和调试;6、优化和性能调整;7、文档编写;8、持续集成和部署;9、监控和维护。详细介绍:1、项目规划,包括明确项目的需求,功能和目标,确定项目所需的技术栈和...
    99+
    2023-12-13
    golang开发步骤 go语言 Golang
  • VSCode开发TypeScript的实现步骤
    目录第一个程序配置文件tsconfig.json调试模块化使用Webpack打包客户端代码TypeScript是JaveScript的超集,为JavaScript增加了很多特性,它可...
    99+
    2022-11-13
  • eclipse开发ejb的步骤是什么
    开发 EJB(Enterprise Java Beans)的步骤如下:1. 创建一个新的 Java 项目:在 Eclipse 中选择...
    99+
    2023-09-26
    eclipse
  • Vue Hello World应用的开发步骤
    本篇内容主要讲解“Vue Hello World应用的开发步骤”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Vue Hello World应用的开发步骤”吧!安...
    99+
    2022-10-19
  • 用vscode开发python的步骤详解
            一个老程序员,各种开发语言和技术都有涉及。每种语言都有相对应的IDE,提供比较完善的功...
    99+
    2022-11-12
  • iOS开发删除storyboard步骤详解
    目录删除iOS项目中的storyboard删除storyboard用上自己的ViewController删除iOS项目中的storyboard 删除项目中的storyboard, (...
    99+
    2022-11-13
    iOS删除storyboard步骤 iOS storyboard
  • 用vscode开发python的详细步骤
    本篇内容主要讲解“用vscode开发python的详细步骤”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“用vscode开发python的详细步骤”吧!安装python,去官网下载https://...
    99+
    2023-06-20
  • asp.net web开发的步骤是什么
    ASP.NET Web开发的步骤可以包括以下几个方面:1. 需求分析:与客户或项目负责人沟通,了解项目的需求和目标。2. 设计数据库...
    99+
    2023-09-05
    asp.net
  • hibernate框架环境搭建具体步骤(介绍)
    一. 概述:hibernate框架是作用于dao层的,实现对数据的持久化保存.通过面向对象的方式操作数据库。二. hibernate框架的搭建1.导包  lib目录下的required文件夹下的所有jar包.  mysq...
    99+
    2023-05-31
    hibernate 环境搭建 框架
  • Qt6.0开发环境搭建步骤(图文)
    一.简单介绍 2020/12/08 日,星期二,Qt6 正式发布了,这将是一个里程碑式新版本,这是新主要版本的第一个版本,标志着Qt的重要里程碑。 1.Qt的核心价值 它具有跨平台的...
    99+
    2022-11-11
  • C#/.Net开发chatGPT、openAI的简单步骤
    目录C#/.Net开发chatGPT、openAI获取TokenC#/.net调用接口API常用参数使用示例总结C#/.Net开发chatGPT、openAI 最近ChatGPT火爆...
    99+
    2023-02-06
    c#开发chatgpt chatGPT写代码 c#  openai
  • laravel网站的开发步骤是什么
    本文小编为大家详细介绍“laravel网站的开发步骤是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“laravel网站的开发步骤是什么”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。一、环境设置在开始Lara...
    99+
    2023-07-06
  • jstl标签基础开发步骤(详解)
    step1. 导包(导入要使用的标签的jar文件)。step2. 使用taglib指令引入要使用的标签。taglib指令:    uri:标签的命名空间。    prefix:命名...
    99+
    2023-05-31
    jstl 标签
  • 开发网站的大致步骤是什么
    这篇文章将为大家详细讲解有关开发网站的大致步骤是什么,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、前端开发做之前,要现在本上把自己想要做的内容、风格、设计等等都写下来,每个页面都要设计成什么样?如果心...
    99+
    2023-06-10
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作