Hibernate 第一课

本文详细介绍了如何在NetBeans IDE中使用Hibernate框架进行Java项目的数据库操作。从项目创建到配置文件编写,再到实体类和映射文件的定义,最后通过一个实例展示了完整的配置流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第一步:在NetBeans下建一个java项目(在javaweb项目中可以选择自带了基本的库文件,而且还配置了hibernate_cfg.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">    ....................................1

<hibernate-configuration>
  <session-factory>
     <!--数据库配置-->
    <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
    <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
    <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/test</property>
    <property name="hibernate.connection.username">root</property>
    <property name="hibernate.connection.password"/>
    <!--sql-->
    <property name="hibernate.show_sql">true</property>
    <property name="hibernate.format_sql">true</property>
    <property name="hibernate.hbm2ddl.auto">update</property>
    <!--映射文件-->
    <mapping resource="instance.hbm.xml"/>
  </session-factory>
</hibernate-configuration>
  1、注意红色部分你需要对应你自己的版本。

  2、注意在NetBeans下,默认使用的Derby数据库什么的,我这是MySQL我就改成MySQL相关的配置。

第三步:创建一个持续类,我取得类名为Instance。

package Test;
public class Instance {
    Instance(int id, String name, int number) {
        this.id = id;
        this.name = name;
        this.number = number;
    }
    int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    public void setNumber(int number) {
        this.number = number;
    }
    public void setName(String name) {
        this.name = name;
    }
    int getNumber() {
        return number;
    }
    String getName() {
        return name;
    }
    private int id, number;
    private String name;
}
 1、所有的属性都要有get和set方法!!!!!

第四步:创建一个表,我的取名为hibernate_db。

注意:建议把设置主键  并且把你的主键设置为自增(数字的话)。


第五部:选择你的项目右键->hibernate映射想到 文件名 xxxx.hbm.xml 选择你刚刚建的类  我的就是上面的Instance类。。。。根据提示,然后填上自己类的信息下面是我的Instance.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="Test.Instance" table="hibernate_db">
        <id name="id" column="id">  //主键用id来描述 前一个是在类里面的名,后一个是在数据库里面的列名
            <generator class="native"/>
        </id>
        <property name="name" column="name"/>  //其他的属性用property标签
        <property name="number" column="number"/>
    </class>
</hibernate-mapping>

第六步:编写测试类,测试前边的配置。

package Test;

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


public class test {
    public static void main(String args[]) {
        Configuration cfg = new Configuration().configure();
        SessionFactory sf = cfg.buildSessionFactory();
        Session sesion = sf.openSession();
        Transaction ts = sesion.beginTransaction();

        Instance instace = new Instance(8,"jiangchunjie",457899);
        sesion.save(instace);
        ts.commit();
        sesion.close();
        sf.close();
    }
}
结果如下:

不用管这个id为6  因为刚刚已经设置了主键自增模式!数据库已经增到6;

基于据挖掘的音乐推荐系统设计与实现 需要一个代码说明,需要论文 采用python语言,django框架,mysql据库开发 编程环境:pycharm,mysql8.0 系统分为前台+后台模式开发 网站前台: 用户注册, 登录 搜索音乐,音乐欣赏(可以在线进行播放) 用户登陆时选择相关感兴趣的音乐风格 音乐收藏 音乐推荐算法:(重点) 本题需要大量用户行为(如播放记录、收藏列表)、音乐特征(如音频特征、歌曲元据)等据 (1)根据用户之间相似性或关联性,给一个用户推荐与其相似或有关联的其他用户所感兴趣的音乐; (2)根据音乐之间的相似性或关联性,给一个用户推荐与其感兴趣的音乐相似或有关联的其他音乐。 基于用户的推荐和基于物品的推荐 其中基于用户的推荐是基于用户的相似度找出相似相似用户,然后向目标用户推荐其相似用户喜欢的东西(和你类似的人也喜欢**东西); 而基于物品的推荐是基于物品的相似度找出相似的物品做推荐(喜欢该音乐的人还喜欢了**音乐); 管理员 管理员信息管理 注册用户管理,审核 音乐爬虫(爬虫方式爬取网站音乐据) 音乐信息管理(上传歌曲MP3,以便前台播放) 音乐收藏管理 用户 用户资料修改 我的音乐收藏 完整前后端源码,部署后可正常运行! 环境说明 开发语言:python后端 python版本:3.7 据库:mysql 5.7+ 据库工具:Navicat11+ 开发软件:pycharm
MPU6050是一款广泛应用在无人机、机器人和运动设备中的六轴姿态传感器,它集成了三轴陀螺仪和三轴加速度计。这款传感器能够实时监测并提供设备的角速度和线性加速度据,对于理解物体的动态运动状态至关重要。在Arduino平台上,通过特定的库文件可以方便地与MPU6050进行通信,获取并解析传感器据。 `MPU6050.cpp`和`MPU6050.h`是Arduino库的关键组成部分。`MPU6050.h`是头文件,包含了定义传感器接口和函声明。它定义了类`MPU6050`,该类包含了初始化传感器、读取据等方法。例如,`begin()`函用于设置传感器的工作模式和I2C地址,`getAcceleration()`和`getGyroscope()`则分别用于获取加速度和角速度据。 在Arduino项目中,首先需要包含`MPU6050.h`头文件,然后创建`MPU6050`对象,并调用`begin()`函初始化传感器。之后,可以通过循环调用`getAcceleration()`和`getGyroscope()`来断更新传感器读。为了处理这些原始据,通常还需要进行校准和滤波,以消除噪声和漂移。 I2C通信协议是MPU6050与Arduino交互的基础,它是一种低引脚的串行通信协议,允许多个设备共享一对据线。Arduino板上的Wire库提供了I2C通信的底层支持,使得用户无需深入了解通信细节,就能方便地与MPU6050交互。 MPU6050传感器的据包括加速度(X、Y、Z轴)和角速度(同样为X、Y、Z轴)。加速度据可以用来计算物体的静态位置和动态运动,而角速度据则能反映物体转动的速度。结合这两个据,可以进一步计算出物体的姿态(如角度和角速度变化)。 在嵌入式开发领域,特别是使用STM32微控制器时,也可以找到类似的库来驱动MPU6050。STM32通常具有更强大的处理能力和更多的GPIO口,可以实现更复杂的控制算法。然而,基本的传感器操作流程和据处理原理与Arduino平台相似。 在实际应用中,除了基本的传感器读取,还可能涉及到温度补偿、低功耗模式设置、DMP(字运动处理器)功能的利用等高级特性。DMP可以帮助处理传感器据,实现更高级的运动估计,减轻主控制器的计算负担。 MPU6050是一个强大的六轴传感器,广泛应用于各种需要实时运动追踪的项目中。通过 Arduino 或 STM32 的库文件,开发者可以轻松地与传感器交互,获取并处理据,实现各种创新应用。博客和其他开源资源是学习和解决问题的重要途径,通过这些资源,开发者可以获得关于MPU6050的详细信息和实践指南
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值