1.1 第一个Hibernate程序(MyEclipse+Hibernate)

本文详细介绍了如何在MyEclipse中构建第一个Hibernate程序,包括Hibernate的执行流程和具体实现步骤。首先讲解了Hibernate的5个核心接口,然后逐步指导创建Java项目、引入jar包、创建表和实体类、编写映射文件、配置hibernate.cfg.xml以及测试代码的编写,最后展示了程序运行成功的结果。

1.1 第一个Hibernate程序(MyEclipse+Hibernate)


1.1.1 Hibernate的执行流程

在Hibernate执行过程中通常会用到5个核心接口,分别为:Configuration接口、SessionFactory接口、Session接口、Transaction接口和Query接口。
下面是Hibernate的执行流程图:

在这里插入图片描述

1.1.2 实现第一个Hibernate程序

1. 下载Hibernate的开发环境并解压Hibernate
在这里插入图片描述
2. 创建一个Java项目Java,引入jar包
在这里插入图片描述
导入我们放进来的jar包
在这里插入图片描述

3. 创建表

CREATE DATABASE hibernatedemo;
USE hibernatedemo;
CREATE TABLE `user` (
  `user_id` bigint(32) NOT NULL AUTO_INCREMENT COMMENT '编号(主键)',
  `user_name` varchar(32) NOT NULL COMMENT '姓名',
  `user_password` varchar(32) DEFAULT NULL COMMENT '密码',
  `user_phone` varchar(64) DEFAULT NULL COMMENT '电话',
  PRIMARY KEY (`user_id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;

4. 创建实体类


package cn.corey;

/**
 * 创建实体类
 * @author Administrator
 *
 */
public class Users {
	private Long user_id;
	private String user_name;
	private String user_password;
	private String user_phone;
	public Long getUser_id() {
		return user_id;
	}
	public void setUser_id(Long user_id) {
		this.user_id = user_id;
	}
	public String getUser_name() {
		return user_name;
	}
	public void setUser_name(String user_name) {
		this.user_name = user_name;
	}
	public String getUser_password() {
		return user_password;
	}
	public void setUser_password(String user_password) {
		this.user_password = user_password;
	}
	public String getUser_phone() {
		return user_phone;
	}
	public void setUser_phone(String user_phone) {
		this.user_phone = user_phone;
	}
	
}

5. 创建映射(★★★很重点★★★)
映射需要通过XML的配置文件来完成。
可以任意命名,但尽量统一命名规范(类名.hbm.xml)
在实体类的包下创建xml文件 (Users.hbm.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.corey.Users" table="user">
	
		<!-- 建立类中的属性与表的主键的对应 -->
		<id name="user_id" column="user_id">
			<generator class="native"/>
		</id>
		
		<!-- 建立类中的普通属性和表的字段的对应 -->
		<property name="user_name" column="user_name"/>
		<property name="user_password" column="user_password"/>
		<property name="user_phone" column="user_phone"/>
	</class>
</hibernate-mapping>

6. 创建一个Hibernate的核心配置文件(★★★很重点★★★)

Hibernate的核心配置文件的名称: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.url">jdbc:mysql:///hibernatedemo</property>
		<property name="hibernate.connection.username">root</property>
		<property name="hibernate.connection.password">123456</property>
		<!-- 配置hibernate方言 -->
		<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
		
		<!-- 可选配置 -->
		<!-- 打印sql语句 -->
		<property name="hibernate.show_sql">true</property>
		<!-- 格式化sql -->
		<property name="hibernate.format_sql">true</property>
		
		<!-- 配置要引入的映射文件 -->
		<mapping resource="Users.hbm.xml"/>
	</session-factory>
</hibernate-configuration>

注意一点,做完这两步,如果命名没有出错的话,应该是这个样子的:
在这里插入图片描述
7. 编写测试代码(★★★很重点★★★)

在编写测试代码之前呢,我们在这里在过一下Hibernate持久化的流程
// 1. 创建 Configuration对象,进行配置的装载、读取和解析。
// 2. 创建 SessionFactory对象,通过 Configuration创建该类实例,是产生 session的“工厂”。
// 3. 创建 Session对象,可以理解为 为数据库建立一个连接。
// 4. 开启一个事务,在 Java中定义一个事务操作的开始。
// 5. 进行持久化操作。(编写实现代码)
// 6. 结束、提交事务。
// 7. 关闭 Session类释放资源。

在上述的七个步骤中:
①~③在系统初始化时执行一次就可以了
以后每次执行持续化操作重复④~⑦就可以了

开始编码:

package cn.corey;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;

/**
 * Hibernate的入门案例
 * @author Administrator
 *
 */
public class HibernateDemo1 {

	public static void main(String[] args) {
		
		// 1. 创建 Configuration对象,进行配置的装载、读取和解析。
		Configuration configuration = new Configuration().configure();
		// 2. 创建 SessionFactory对象,通过 Configuration创建该类实例,是产生 session的“工厂”。
		SessionFactory sessionFactory = configuration.buildSessionFactory();
		// 3. 创建 Session对象,可以理解为 为数据库建立一个连接。
		Session session = sessionFactory.openSession();
		// 4. 开启一个事务,在 Java中定义一个事务操作的开始。
		Transaction transaction = session.beginTransaction();
		
		// 5. 进行持久化操作。(编写实现代码)
		Users users = new Users();
		users.setUser_name("张三");
		users.setUser_password("123456");
		session.save(users);
		
		// 6. 结束、提交事务。
		transaction.commit();
		// 7. 关闭 Session类释放资源。
		session.close();
	}
}

8. 运行测试

好了,到这里我,我们的编程就结束了,接下来,运行测试类,进行测试
结果图:
在这里插入图片描述
MySQL:
在这里插入图片描述
程序运行成功,要实现的添加用户也实现了。

到这里,我们的第一个Hibernate程序也就算是编写完成了!

智慧医药系统(smart-medicine)是一款采用SpringBoot架构构建的Java Web应用程序。其界面设计简洁而富有现代感,核心特色在于融合了当前前沿的生成式人工智能技术——具体接入了阿里云的通义千问大型语言模型,以此实现智能医疗咨询功能,从而增强系统的技术先进性与实用价值。该系统主要定位为医学知识查询与辅助学习平台,整体功能结构清晰、易于掌握,既适合编程初学者进行技术学习,也可作为院校课程设计或毕业项目的参考实现。 中医舌诊作为传统医学的重要诊断手段,依据舌象的颜色、形状及苔质等特征来辨析生理状况与病理变化。近年来,随着计算科学的进步,人工智能技术逐步渗透到这一传统领域,形成了跨学科的研究与应用方向。所述的中医舌诊系统正是这一方向的实践产物,它运用AI算法对舌象进行自动化分析。系统以SpringBoot为基础框架,该框架依托Java语言,致力于简化Spring应用程序的初始化与开发流程,其突出优势在于能高效构建独立、可投入生产的应用,尤其契合微服务架构与云原生环境,大幅降低了开发者在配置方面的负担。 系统中整合的通义千问大语言模型属于生成式人工智能范畴,通过海量数据训练获得模拟人类语言的能力,可在限定领域内生成连贯文本,为用户提供近似专业医生的交互式咨询。该技术的引入有助于提升诊断过程的自动化水平与结果一致性。 在设计与体验层面,本系统强调逻辑明晰与操作简便,旨在降低用户的学习门槛,尤其适合中医知识的入门教学。整体交互模式接近百科全书式查询,功能模块精炼聚焦,因而非常适用于教育场景,例如学术项目展示或毕业设计答辩。通过直观的实践界面,使用者能够更深入地理解中医舌诊的理论与方法。 此外,系统界面遵循简约大气的设计原则,兼顾视觉美感与交互流畅性,以提升用户的专注度与使用意愿。结合AI的数据处理能力,系统可实现对舌象特征的快速提取与实时分析,这不仅为传统诊断方法增添了客观量化维度,也拓展了中医知识传播的途径。借助网络平台,该系统能够突破地域限制,使更多用户便捷地获取专业化的中医健康参考,从而推动传统医学在现代社会的应用与普及。 资源来源于网络分享,仅用于学习交流使用,请勿用于商业,如有侵权请联系我删除!
【掺铒光纤放大器(EDFA)模型】掺铒光纤放大器(EDFA)分析模型的模拟研究(Matlab代码实现)内容概要:本文介绍了掺铒光纤放大器(EDFA)分析模型的模拟研究,并提供了基于Matlab的代码实现方案。通过对EDFA的工作原理、增益特性、噪声系数等关键性能指标进行数学建模与仿真分析,帮助研究人员深入理解其在光通信系统中的作用机制。文档还列举了多个相关科研方向的技术支持内容,涵盖智能优化算法、路径规划、无人机应用、通信与信号处理、电力系统管理等多个领域,展示了Matlab在科学研究与工程仿真中的广泛应用能力。此外,文中附带网盘链接,便于获取完整的代码资源与开发工具包。; 适合人群:具备一定光学通信或电子信息背景,熟悉Matlab编程,从事科研或工程仿真的研究生、高校教师及技术研发人员。; 使用场景及目标:①用于光通信系统中EDFA性能的理论分析与仿真验证;②支持科研人员快速构建和测试EDFA模型,提升研究效率;③为教学实验、毕业设计及学术论文复现提供可靠的技术参考与代码基础。; 阅读建议:建议读者结合光通信基础知识,按照文档结构逐步运行并调试Matlab代码,重点关注模型参数设置与仿真结果分析,同时可利用提供的网盘资源拓展学习其他相关课题,深化对系统级仿真的理解。
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值