热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

【JAVA】SSH框架之Hibernate小例子

这两天在慕课看完了关于Hibernate的一个入门视频,里面简单介绍了hibernate的一些知识点,光是看视频的时候总感觉好像不是很难的样子ÿ

这两天在慕课看完了关于Hibernate的一个入门视频,里面简单介绍了hibernate的一些知识点,光是看视频的时候总感觉好像不是很难的样子,可是今天实际写代码的时候却发现自己一直报错~也是心累.

编写Hibernate例子的步骤

  1. 创建hibernate的配置文件(*.cfg.xml)

    这里主要配置和数据库连接的一些基本信息。常用的如下:

    <session-factory><property name&#61;"connection.url">jdbc:mysql://localhost:3306/jianqlimsproperty><property name&#61;"connection.driver_class">com.mysql.jdbc.Driverproperty>/* 配置hibernate数据库方言&#xff0c;hibernate可针对特殊的数据库进行优化 */<property name&#61;"dialect">org.hibernate.dialect.MySQL5Dialectproperty><property name&#61;"connection.username">rootproperty><property name&#61;"connection.password">rootproperty>/* 是否把hibernate运行时的SQL语句输出到控制台&#xff0c;编码阶段便于测试 */<property name&#61;"show_sql">trueproperty>/* 输出到控制台的SQL语句是否进行排版&#xff0c;便于阅读。建议设置为true */<property name&#61;"format_sql">trueproperty>/*可以帮助由java代码生成数据库脚本&#xff0c;进而生成具体的表结构。create | update | create-drop | vaildatecreate 既每次都会生成一张新表update 既在原来的表格基础上进行更新*/<property name&#61;"hbm2ddl.auto">updateproperty><mapping resource&#61;"domain/SchoolCourse.hbm.xml"/>session-factory>

  2. 创建持久类

    个人理解&#xff1a;既相当于生成一个domain对象&#xff0c;从而生成下述的映射文件。

  3. 创建对象-关系映射文件&#xff08;*.hbm.xml&#xff09;

  4. 通过hibernate API编写访问数据库的代码

    下面是一个简单的test文件&#xff0c;一开始按照视频时&#xff0c;采用了Junit单元测试的方式&#xff0c;但是一直都不能运行成功&#xff08;空指针错误&#xff09;&#xff0c;而且找了一晚上也不知道如何修改&#xff0c;后来只能改成下述代码。在运行的时候&#xff0c;有报过关于jdbc的错误&#xff0c;但是因为没有检查配置文件&#xff0c;白白浪费了N个小时&#xff0c;所以当错误提醒有关jdbc时&#xff0c;要好好检查配置文件是否正确。

    package Test;import domain.SchoolCourse;
    import org.hibernate.Session;
    import org.hibernate.SessionFactory;
    import org.hibernate.Transaction;
    import org.hibernate.cfg.Configuration;
    import org.hibernate.service.ServiceRegistry;
    import org.hibernate.service.ServiceRegistryBuilder;import java.sql.Date;
    import java.sql.Timestamp;public class SchoolCourseTest {private SessionFactory seesionFactory;private Session session;private Transaction transaction;public static void main(String[] args) {SessionFactory seesionFactory;Session session;Transaction transaction;Configuration cfg;ServiceRegistry serviceRegistry;Timestamp time &#61; new Timestamp(System.currentTimeMillis());SchoolCourse sc &#61; new SchoolCourse(5,"算法分析",2,1,time,"cxz","none");
    // sc.setId(4);
    // sc.setCourseName("JAVA");
    // sc.setSchoolTerm(1);
    // sc.setStatus(2);
    // sc.setCreatedDate(time);
    // sc.setCreater("cxz");
    // sc.setMemo("none");cfg &#61; new Configuration().configure();serviceRegistry &#61; new ServiceRegistryBuilder().applySettings(cfg.getProperties()).buildServiceRegistry();seesionFactory &#61; cfg.buildSessionFactory(serviceRegistry);session &#61; seesionFactory.openSession();transaction &#61; session.beginTransaction();session.save(sc);transaction.commit();}
    }

    最后附上一张hibernate的执行流程&#xff08;来自慕课的hibernate入门教程&#xff09;

这里写图片描述

最近一个月都没有更新了&#xff0c;虽然知道很多知识点不总结就会忘记&#xff0c;可是每次一总结都会浪费大量时间&#xff0c;而且感觉也不一定自己真正意会了其中的知识&#xff0c;但是最近的实习让我感受到自身很大的不足&#xff08;不管是基础还是知识的眼界&#xff09;&#xff0c;甚至会考虑自己以后是不是真的往技术发展这个问题。

不过&#xff0c;目前来说&#xff0c;还是想一步步再走下去&#xff0c;如果真的接受不了那就再说吧&#xff0c;路总是很多的&#xff0c;找到适合自己的才是最好的路。


推荐阅读
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • 本文介绍了在Mac上搭建php环境后无法使用localhost连接mysql的问题,并通过将localhost替换为127.0.0.1或本机IP解决了该问题。文章解释了localhost和127.0.0.1的区别,指出了使用socket方式连接导致连接失败的原因。此外,还提供了相关链接供读者深入了解。 ... [详细]
  • r2dbc配置多数据源
    R2dbc配置多数据源问题根据官网配置r2dbc连接mysql多数据源所遇到的问题pom配置可以参考官网,不过我这样配置会报错我并没有这样配置将以下内容添加到pom.xml文件d ... [详细]
  • 安装mysqlclient失败解决办法
    本文介绍了在MAC系统中,使用django使用mysql数据库报错的解决办法。通过源码安装mysqlclient或将mysql_config添加到系统环境变量中,可以解决安装mysqlclient失败的问题。同时,还介绍了查看mysql安装路径和使配置文件生效的方法。 ... [详细]
  • Iamtryingtomakeaclassthatwillreadatextfileofnamesintoanarray,thenreturnthatarra ... [详细]
  • 本文介绍了Java工具类库Hutool,该工具包封装了对文件、流、加密解密、转码、正则、线程、XML等JDK方法的封装,并提供了各种Util工具类。同时,还介绍了Hutool的组件,包括动态代理、布隆过滤、缓存、定时任务等功能。该工具包可以简化Java代码,提高开发效率。 ... [详细]
  • 原文地址:https:www.cnblogs.combaoyipSpringBoot_YML.html1.在springboot中,有两种配置文件,一种 ... [详细]
  • Mac OS 升级到11.2.2 Eclipse打不开了,报错Failed to create the Java Virtual Machine
    本文介绍了在Mac OS升级到11.2.2版本后,使用Eclipse打开时出现报错Failed to create the Java Virtual Machine的问题,并提供了解决方法。 ... [详细]
  • 在说Hibernate映射前,我们先来了解下对象关系映射ORM。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现。这样开发人员就可以把对数据库的操作转化为对 ... [详细]
  • 本文详细介绍了MysqlDump和mysqldump进行全库备份的相关知识,包括备份命令的使用方法、my.cnf配置文件的设置、binlog日志的位置指定、增量恢复的方式以及适用于innodb引擎和myisam引擎的备份方法。对于需要进行数据库备份的用户来说,本文提供了一些有价值的参考内容。 ... [详细]
  • 本文介绍了高校天文共享平台的开发过程中的思考和规划。该平台旨在为高校学生提供天象预报、科普知识、观测活动、图片分享等功能。文章分析了项目的技术栈选择、网站前端布局、业务流程、数据库结构等方面,并总结了项目存在的问题,如前后端未分离、代码混乱等。作者表示希望通过记录和规划,能够理清思路,进一步完善该平台。 ... [详细]
  • Android源码深入理解JNI技术的概述和应用
    本文介绍了Android源码中的JNI技术,包括概述和应用。JNI是Java Native Interface的缩写,是一种技术,可以实现Java程序调用Native语言写的函数,以及Native程序调用Java层的函数。在Android平台上,JNI充当了连接Java世界和Native世界的桥梁。本文通过分析Android源码中的相关文件和位置,深入探讨了JNI技术在Android开发中的重要性和应用场景。 ... [详细]
  • 本文介绍了如何使用C#制作Java+Mysql+Tomcat环境安装程序,实现一键式安装。通过将JDK、Mysql、Tomcat三者制作成一个安装包,解决了客户在安装软件时的复杂配置和繁琐问题,便于管理软件版本和系统集成。具体步骤包括配置JDK环境变量和安装Mysql服务,其中使用了MySQL Server 5.5社区版和my.ini文件。安装方法为通过命令行将目录转到mysql的bin目录下,执行mysqld --install MySQL5命令。 ... [详细]
  • MyBatis多表查询与动态SQL使用
    本文介绍了MyBatis多表查询与动态SQL的使用方法,包括一对一查询和一对多查询。同时还介绍了动态SQL的使用,包括if标签、trim标签、where标签、set标签和foreach标签的用法。文章还提供了相关的配置信息和示例代码。 ... [详细]
  • GreenDAO快速入门
    前言之前在自己做项目的时候,用到了GreenDAO数据库,其实对于数据库辅助工具库从OrmLite,到litePal再到GreenDAO,总是在不停的切换,但是没有真正去了解他们的 ... [详细]
author-avatar
抑制不L挑逗烛
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有