初始hibernate

什么是hibernate?

hibernate是一种orm框架,它的英文缩写是Object Relational Mapping(对象-关系映射),可以理解为一种数据持久化技术,

其主要是把对象模型,例如实体对象,和关系型数据库的表建立对应关系,并且提供了一个以面向对象形式操作数据库表的机制。


ORM的优势

ORM在对象模型和关系数据库表之间建立了一座桥梁。

程序员不再需要使用sql语句操作数据库中的表。

以面向对象的形式实现数据的存储、删除、查询、更改等操作。

通过ORM实现简单、高效的数据库迁移。


Hibernate应用程序开发实例

1.在MySQL数据库中创建一个数据库,例如库名为db_hibernate.

2.在创建的数据库中创建一张表,例如表名为tb_student.

3.创建Java项目

4.项目中添加hibernate所需jar包

5.项目中添加hibernate.cfg.xml配置文件,完善配置信息。

一般该配置文件都配置的是:

<hibernate-configuration>

<session-factory>

里面一般有配置驱动、数据库连接的url、数据库连接的用户名、数据库连接的密码、

开启session、数据库连接池、方言等等;还有映射文件的资源路径也需要在这里配置。

</session-factory>

</hibernate-configuration>

6.创建数据库表对应的实体类,例如类目为Student,为该类提供私有属性和get/set方法。

7.在Student类的包下添加一个映射文件Student.hbm.xml。

8.创建SessionFactory对象,获取Session对象。

9.通过Session对象以面向对象的形式操作关系型数据库。

下面是第八步和第九步的具体测试:

public class Test {


    public static void main(String[] args) {
        testSave();
//        testGet();
    }


    public static void testSave() {
        //调用配置文件类,加载配置文件
        Configuration config = new Configuration().configure();


        //创建服务注册对象
        //Hibernate4中获取SessionFactory的方法
        ServiceRegistry registry = new StandardServiceRegistryBuilder().applySettings(config.getProperties()).build();


        //最终我们要使用Configuration对象创建SessionFactory(Session工厂)
        SessionFactory factory = config.buildSessionFactory(registry);


        //通过SessionFactory获得Session(会话)
        Session session = factory.getCurrentSession();
        //获取到Session对象之后就可以通过该对象使用面向对象的方式操作数据库


        //开启事务
        session.beginTransaction();


        //创建一个Student对象
        //------------瞬态 start ,没有被和session进行关联,也没唯一标识(ID),也没有被持久化到数据库------------------
        Student student = new Student();
        student.setName("张学友");
        student.setSex("男");
        student.setAge(55);
        student.setBirthday(new Date());
        //------------瞬态 end------------------


        //通过Session对象的save方法保存Student对象
        //------------游离态态 start  被session关联,也没分配了唯一标识(ID),但是并没有持久化到数据库------------------------
        session.save(student);
        //------------游离态 end------------------------


        //提交事务
        session.getTransaction().commit(); //事务提交之后,Student对象被持久化到了数据库


        //Seesion关闭之后
        //Student对象处于游离态(脱管状态),分配了唯一标识ID,也被持久化到了数据库,但是脱离了Session的管理


        //瞬态和游离态的对象异同:
        //相同:都随时会被gc所回收
        //不同:瞬态没有唯一标识ID,没有被持久化到数据库,游离态仅仅是没有被session管理




    }


    public static void testGet() {
        //调用配置文件类,加载配置文件
        Configuration config = new Configuration().configure();


        //创建服务注册对象
        ServiceRegistry registry = new StandardServiceRegistryBuilder().applySettings(config.getProperties()).build();


        //最终我们要使用Configuration对象创建SessionFactory(Session工厂)
        SessionFactory factory = config.buildSessionFactory(registry);


        //通过SessionFactory获得Session(会话)
        Session session = factory.getCurrentSession();
        //获取到Session对象之后就可以通过该对象使用面向对象的方式操作数据库


        //开启事务
        session.beginTransaction();


        //查询一条记录
        Student stu = (Student) session.get(Student.class, 3);
       /* System.out.println(stu.getName());
        session.delete(stu);*/


        session.load(Student.class, 7);
        session.getTransaction().commit();
    }
















内容概要:本文介绍了基于SMA-BP黏菌优化算法优化反向传播神经网络(BP)进行多变量回归预测的项目实例。项目旨在通过SMA优化BP神经网络的权重和阈值,解决BP神经网络易陷入局部最优、收敛速度慢及参数调优困难等问题。SMA算法模拟黏菌寻找食物的行为,具备优秀的全局搜索能力,能有效提高模型的预测准确性和训练效率。项目涵盖了数据预处理、模型设计、算法实现、性能验证等环节,适用于多变量非线性数据的建模和预测。; 适合人群:具备一定机器学习基础,特别是对神经网络和优化算法有一定了解的研发人员、数据科学家和研究人员。; 使用场景及目标:① 提升多变量回归模型的预测准确性,特别是在工业过程控制、金融风险管理等领域;② 加速神经网络训练过程,减少迭代次数和训练时间;③ 提高模型的稳定性和泛化能力,确保模型在不同数据集上均能保持良好表现;④ 推动智能优化算法与深度学习的融合创新,促进多领域复杂数据分析能力的提升。; 其他说明:项目采用Python实现,包含详细的代码示例和注释,便于理解和二次开发。模型架构由数据预处理模块、基于SMA优化的BP神经网络训练模块以及模型预测与评估模块组成,各模块接口清晰,便于扩展和维护。此外,项目还提供了多种评价指标和可视化分析方法,确保实验结果科学可信。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值