hlbernate_helloworld

本文详细介绍如何使用Hibernate框架搭建开发环境,包括配置文件、持久化类、类关系映射及数据库访问代码等关键步骤。


1.首先(F:\javasoft_chajian\)hibernate-release-4.2.4.Final\lib\required的jar包全部复制到项目的lib目录里面,同时bulid path加入路径中

2.在安装hibernatetools-Update-4.1.1.Final_2013-12-08_01-06-33-B605插件的基础上,在src下建立hibernate.cfg.xml文件,如:


一路next就行


hibernate.cfg.xml内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
		"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
		"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
    <session-factory>
    	
    	<!-- 配置连接数据库的基本信息 -->
    	<property name="connection.username">root</property>
    	<property name="connection.password">csc</property>
    	<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
    	<property name="connection.url">jdbc:mysql:///hibernate5</property>
    
    	<!-- 配置hibernate的基本信息 -->
    	<!-- hibernate 所使用的数据库方言 -->
    	<property name="dialect">org.hibernate.dialect.MySQLInnoDBDialect</property>
    	
    	<!-- 执行sql时是否在控制台上打印 -->
    	<property name="show_sql">true</property>
    	
    	<!-- 是否对sql进行格式化 -->
    	<property name="format_sql">true</property>
    	
    	<!-- 指定自动生成数据表的策略 -->
    	<property name="hbm2ddl.auto">update</property>
    	
    	<!-- 指定关联的xxx.hbm.xml文件 -->
    	<mapping resource="cn/edu/sdut/hibernate/helloworld/News.hbm.xml"/>
    </session-factory>
</hibernate-configuration>


注:数据库方言在F:\javasoft_chajian\hibernate-release-4.2.4.Final\project\etc下面的hibernate.properties里面能够找到。

注:如果hibernate.cfg.xml里面的http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd没有关联就不能提示相关信息。

关联方法:


点击add



将http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd复制到key里面key type选uri,路径是F:\LearnBook\javaweb\资料\开源框架jar包\SSH 框架\hibernate-release-4.2.4.Final\project\hibernate-core\src\main\resources\org\hibernate下面的hibernate-configuration-3.0.dtd


3.建立持久化类

package cn.edu.sdut.hibernate.helloworld;

import java.sql.Date;

public class News {

	private	Integer id;
	private String title;
	private String author;
	private Date date;
	public Date getDate() { return date;}
	public void setDate(Date date) {this.date = date;}
	public Integer getId() {return id;}
	public void setId(Integer id) {this.id = id;}
	public String getTitle() {return title;}
	public void setTitle(String title) {this.title = title;}
	public String getAuthor() {return author;}
	public void setAuthor(String author) {this.author = author;}

	public News() {
		super();
	}
	public News(String title, String author, Date date) {
		super();
		this.title = title;
		this.author = author;
		this.date = date;
	}
	@Override
	public String toString() {
		return "News [id=" + id + ", title=" + title + ", author=" + author + ", date=" + date + "]";
	}
	
	
}


4.建立类关系映射文件(相应的此文件与相应的持久化类在同一个包中)

1).


一路next就行


xxxx.hbm.xml如:News.hbm.xml

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!-- Generated 2016-10-26 10:37:48 by Hibernate Tools 3.4.0.CR1 -->
<hibernate-mapping>
    <class name="cn.edu.sdut.hibernate.helloworld.News" table="NEWS">
        <id name="id" type="java.lang.Integer">
            <column name="ID" />
            <!-- 制定native的方式 ,指本地生成的方式 -->
            <generator class="native" />
        </id>
        <property name="title" type="java.lang.String">
            <column name="TITLE" />
        </property>
        <property name="author" type="java.lang.String">
            <column name="AUTHOR" />
        </property>
        <property name="date" type="java.sql.Date">
            <column name="DATE" />
        </property>
    </class>
</hibernate-mapping>


5.编写访问数据库的代码

import java.sql.Date;

import org.hibernate.HibernateException;
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 org.junit.Test;

import cn.edu.sdut.hibernate.helloworld.News;
public class HibernateTest {
	@Test
	public void test(){
		//1.创建一个sessionFactory对象
		SessionFactory sessionFactory = null;
			try {
				//1).创建configuration对象,configuration指的是hibernate的基本信息及对象关系映射信息
				Configuration configuration = new Configuration().configure();
				//2).创建serviceRegistry对象,任何Hibernate 的任何配置和服务都要在serviceRegistry配置之后才生效
				ServiceRegistry serviceRegistry = new ServiceRegistryBuilder().applySettings(configuration.getProperties()).buildServiceRegistry();
				//3)。创建一个sessionFactory对象
				sessionFactory = configuration.buildSessionFactory(serviceRegistry);
				//2.创建一个session对象
				Session session = sessionFactory.openSession();
				//3.开启事务
				Transaction transaction = session.beginTransaction();
				
				//4.执行保存操作
				News news = new News("java", "csc", new Date(new java.util.Date().getTime()));
				session.save(news);
//				News news = (News) session.get(News.class, 1);
//				System.out.println(news);
//				news.setAuthor("pppp");
//				News news2 = (News) session.get(News.class, 1);
//				System.out.println(news2);
				//5.提交事务
				transaction.commit();
				//6.关闭session
				session.close();
				//7.关闭sessionFactory
				sessionFactory.close();
			} catch (HibernateException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
	}
}


小结:mysql数据库中只有hibernate5数据库,但是一开始没有NEWS表,这是根据hibernate生成的。


内容概要:本文档详细介绍了基于Cplex求解器的风光制氢合成氨系统优化研究,通过Matlab代码实现对这一复杂可再生能源系统的建模与优化分析。研究聚焦于风能、光伏等可再生能源耦合电解水制氢并进一步合成氨的综合能源系统,重点解决系统在容量配置与运行调度方面的协同优化问题。采用Cplex求解器进行高效的混合整数线性规划(MILP)求解,实现了对系统经济性、能效性、环境可持续性的多目标优化,涵盖设备选型与容量设计、能量流分配、运行策略制定、制氢与合成氨工艺集成等关键技术环节。该研究为高比例可再生能源消纳、绿氢规模化生产及绿色化工转型提供了重要的理论依据与可行的技术路径。; 适合人群:具备电力系统、能源系统、运筹学或化工过程系统工程等相关背景,熟悉Matlab编程与数学建模方法,从事新能源、氢能、综合能源系统、绿色化工等领域研究的研究生、科研人员及工程技术人员。; 使用场景及目标:① 学习并复现高水平学术论文中关于风光制氢合成氨系统的优化模型构建方法;② 掌握利用Cplex求解器解决复杂能源系统混合整数线性规划(MILP)问题的核心技术与实践流程;③ 为自身的科研项目或工程应用提供系统建模、优化算法实现与代码参考的坚实基础。; 阅读建议:学习者应结合所提供的Matlab代码与相关参考文献,深入剖析模型的物理意义、数学推导过程、约束条件的设定逻辑以及目标函数的设计思路,特别关注Cplex与Matlab的接口调用与数据传递机制,并建议通过调整关键参数(如可再生能源出力、设备效率、成本系数等)进行敏感性分析,以全面理解系统优化的内在机理与决策影响。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值