HIBERNATE读书笔记

HIBERNATE读书笔记 

HIBERNAT的查询语言HQL:

当查询多个属性时,HIBERNATE默认返回的是一个数组来保存结果集,但是可以灵活改变为List,Map,和自定义的JAVA Bean。

1.默认情况,返回数组

String sql = "select id , title from Event" ;

       Query q  =  session.createQuery(sql);

       List<Object[]> list = q.list() ;

       for(Object[] o : list)

       {

           Integer id = (Integer)o[0];

           String title = (String)o[1];

           System.out.println(id);

           System.out.println(title);

       }

 

2.返回一个List

String sql = "select new List(id , title) from Event" ;

       Query q  =  session.createQuery(sql);

       List<Object[]> list = q.list() ;

       for(Object[] o : list)

       {

           Integer id = (Integer)o[0];

           String title = (String)o[1];

           System.out.println(id);

           System.out.println(title);

       }

 

3.返回一个Map

String sql = "select new Map(id , title) from Event";

       Query q = session.createQuery(sql);

       List<Map> list = q.list();

       for (Map o : list)

       {

           Set<Map.Entry> s = o.entrySet();

           System.out.println(s+"set");

           for(Map.Entry entry : s)

           {

              System.out.println(entry);

              System.out.println(entry.getKey());

              System.out.println(entry.getValue());

           }

       }

4.返回自定义的JAVA Bean

注意:自定义JAVA Bean 必须提供一个PUBLIC的构造函数,引用是必须包含完整的包点类名

String sql = "select new cn.coolbi.lcj.EventProxy(id , title) from Event";

       Query q = session.createQuery(sql);

       List<EventProxy> list = q.list();

       for (EventProxy o : list)

       {

           int date = o.getId() ;

           String title = o.getTitle() ;

          

           System.out.println(date);

           System.out.println(title);

          

       }

EventProxy代理类

package cn.coolbi.lcj;

 

public class EventProxy

{

    private int id ;

   

    private String title ;

   

    public EventProxy(int id ,String title)

    {

       this.id = id ;

       this.title = title ;

    }

 

    public int getId()

    {

       return id;

    }

 

    public void setId(int id)

    {

       this.id = id;

    }

 

    public String getTitle()

    {

       return title;

    }

 

    public void setTitle(String title)

    {

       this.title = title;

    }

}

 

 

 

Where条件查询时有四种方式设置条件的值,详细见上图:

1)通过set Properties();方法设置一下JAVABean时注意“:”后面没有空格

String sql = "select new cn.coolbi.lcj.EventProxy(id , title) from Event where id =:id and title =:title";

       Query q = session.createQuery(sql);

      

       //一个Event的代理类

       EventProxy up = new EventProxy(18,"hello");

       q.setProperties(up);

      

      

       List<EventProxy> list = q.list();

       for (EventProxy o : list)

       {

           int date = o.getId() ;

           String title = o.getTitle() ;

          

           System.out.println(date);

           System.out.println(title);

          

       }

 

 

<script></script>

内容概要:本文提出了一种考虑构网型储能支撑能力的微电网优化调度策略,通过Matlab代码实现,旨在提升微电网在复杂运行环境下的稳定性与经济性。研究聚焦于构网型储能系统(如虚拟同步发电机VSG)的动态特性及其对微电网频率、电压等关键参数的主动支撑能力,构建了包含光伏、储能、负荷等多元组件的微电网系统模型。采用优化算法(如改进灰狼算法、模型预测控制等)对系统进行日前或实时调度,优化目标涵盖运行成本最小化、可再生能源消纳最大化、储能寿命延长以及系统可靠性提升等多个方面。文中详细阐述了模型构建、算法设计与仿真验证全过程,并通过案例分析证明了所提策略在平抑功率波动、提高能源利用效率和增强系统韧性方面的有效性。; 适合人群:具备电力系统、自动化或相关专业背景,熟悉Matlab/Simulink仿真工具,从事微电网、分布式能源、储能控制等领域研究的研发人员和研究生;尤其适合有一定科研基础、希望深入理解构网型控制与优化调度结合应用的1-3年工作经验的研究者。; 使用场景及目标:① 掌握构网型储能(Grid-Forming Energy Storage)在微电网中的建模方法与控制原理;② 学习如何将储能的主动支撑能力融入优化调度框架,实现源-储-荷协同调控;③ 借助Matlab代码实现完整的微电网优化调度仿真流程,用于科研论文复现、课题开发或工程方案预研。; 阅读建议:此资源以实际Matlab代码为核心,理论与实践紧密结合,建议读者在理解基本电力系统知识的基础上,结合文档中的模型结构与算法逻辑,逐步调试并运行代码,深入掌握每一步的实现细节。同时可参考文中提及的智能优化算法与控制策略,拓展至其他类似电力系统优化问题的研究中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值