实验六 hibernate技术

实验六 hibernate技术
实验六 hibernate技术

实验六 hibernate技术

在本实验中,将使用 NetBeans IDE 创建和部署显示数据库中数据的 Web 应用程序。该 Web 应用程序使用 Hibernate 框架作为持久层,用于检索简单传统 Java 对象(POJO)并将其存储到关系数据库中。

Hibernate 是一个为对象关系映射 (ORM) 提供工具的框架。本教程演示如何将 Hibernate 框架支持添加到 IDE 中并创建必要的 Hibernate 文件。创建 Java 对象并将应用程序配置为使用Hibernate 之后,向 Web 页中添加 Visual Web JSF 组件以显示数据。

本次实验有以下内容:

1.创建数据库

2.创建 Web 应用程序项目

3.修改 Hibernate 配置文件

4.创建 Java 对象

a.创建 Person Java 类

b.创建 Trip Java 类

5.将类映射到数据库表

a.将Person.java映射到 PERSON 表

b.将Trip.java映射到 TRIP 表

6.创建 Hibernate Helper 类

7.创建 Visual Web JSF 页面

8.将 Visual Web JSF 组件添加到页面中

9.从 SessionBean1 访问数据源

10.将组件绑定到数据

11.运行项目

本次实验需要具备以下软件和资源。

软件或资源要求的版本

NetBeans IDE 6.7,Java 版本

Java 开发工具包(Java Development Kit,JDK)版本 6 或版本 5

JavaServer Faces 组件/ 1.2(带有 Java EE 5*)或

Java EE 平台 1.1(带有 J2EE 1.4)

GlassFish 应用服务器V2

MySQL 数据库服务器版本 5.x

Sakila 数据库可以从更新中心获取插件

创建数据库

本实验使用一个名为sakila的 MySQL 数据库,这是一个免费的 MySQL 数据库,可从 MySQL 网站获得。安装 IDE 时并未包含 sakila 数据库,因此首先需要创建该数据库,以继续本实验。

要创建 sakila 数据库,可使用“插件”管理器下载并安装“Sakila 样例数据库”插件。安装该插件后,sakila 数据库即被添加到“创建 MySQL 数据库”对话框的数据库列表中。

1.打开“插件”管理器并安装“Sakila 样例数据库”插件。

2.安装插件后,在“服务”窗口展开“数据库”节点以启动 MySQL 数据库,右键单击“MySQL 服务

器”节点并选择“启动”。

3.右键单击“MySQL 服务器”节点并选择“创建数据库”。

4.在“创建MySQL”对话框的“新数据库名称”下拉列表中选择 Sakila 数据库。单击“确定”。

单击“确定”,“MySQL 服务器”节点下将出现一个 Sakila 节点。

5.右键单击 Sakila 节点并选择“连接”。

单击“连接”,Sakila 数据库(jdbc:mysql://localhost:3306/sakila [username on Default])的数据库连接节点将列示于“数据库”节点下方。打开连接时,可通过展开该连接节点查看数据库中数据。

创建 Web 应用程序项目

在本实验中,将创建一个 Web 应用程序项目并为该项目添加 Hibernate 库。创建该项目时,请在“新建项目”向导的“框架”面板中选择 Hibernate,并指定数据库。

1.选择“文件”>“新建项目”(Ctrl-Shift-N)。从 "Java Web" 类别中选择“Web 应用程序”并单击

“下一步”。

2.键入DVDStore作为项目名称,并设置项目位置。

3.取消选中“使用专用的文件夹来存储库”选项(如果该选项处于选中状态)。

在本实验中,没理由将项目库复制到一个专用文件夹中,因为您不需要和其他用户一起共享库。

单击“下一步”。

4.将服务器设置为 Apache Tomcat 6.0.18 并将 Java EE 版本设置为 Java EE 5。单击“下一

步”。

5.选中“Hibernate 3.2.5”复选框。

6.从“数据库连接”下拉列表中选择 sakila 数据库。单击“完成”。

注意:如果向导的“框架”面板中没有 sakila 数据库这一选项,请查看该连接是否列示于“服务”窗口的“数据库”节点下。如果此处没有该连接,则需要创建数据库连接。

单击“完成”,IDE 会创建 Web 应用程序并在编辑器中打开hibernate.cfg.xml文件和

index.jsp。

展开“项目”窗口中的“库”节点,可以看到 IDE 已向项目中添加了 Hibernate 库。

修改 Hibernate 配置文件

创建使用 Hibernate 框架的新项目时,IDE 自动在应用程序的上下文类路径的根路径(“文件”窗口中的 Web-INF/classes)上创建hibernate.cfg.xml配置文件。该文件位于“项目”窗口的“配置文件”节点下。该配置文件包含有关数据库连接、资源映射和其他连接属性的信息。可使用多视图编辑器编辑文件,或直接在 XML 编辑器中编辑 XML。

在本实验中,将编辑hibernate.cfg.xml中指定的缺省属性,以启用 SQL 语句的调试日志,并启用 Hibernate 会话的上下文管理。

1.在“设计”标签中打开hibernate.cfg.xml。可以通过展开“项目”窗口的“配置文件”节点并双

击hibernate.cfg.xml来打开该文件。

2.在“可选属性”下,展开“配置属性”节点。

3.单击“添加”以打开“添加 Hibernate 属性”对话框。

4.在对话框中,选择hibernate.show_sql属性并将值设为true。这样就启用了 SQL 语句的

调试日志。

5.展开“其他属性”节点并单击“添加”。

6.在对话框,选择属性 hibernate.current_session_context_class并将值设为

thread以启用 Hibernate 自动的会话上下文管理。

如果单击编辑器中的 XML 标签,则可以在 XML 视图中看到此文件。该文件应该如下所示:

name="hibernate.dialect">org.hibernate.dialect.MySQLDialect

name="hibernate.connection.driver_class">com.mysql.jdbc.Driver

name="hibernate.connection.url">jdbc:mysql://localhost:3306/sakila

root

name="hibernate.connection.password">######

true

name="hibernate.current_session_context_class">thread

7.保存对该文件所做的更改。

创建HibernateUtil.java Helper 文件

要使用 Hibernate,您需要创建一个 helper 类,该类处理启动并访问 Hibernate 的SessionFactory以获取“会话”对象。该类调用configure()并加载hibernate.cfg.xml配置文件,然后构建SessionFactory以获取“会话”对象。

在实验中,使用“新建文件”向导创建 helper 类HibernateUtil.java。

1.右键单击“源包”节点并选择“新建”>“其他”,打开“新建文件”向导。

2.从“类别”列表中选择 Hibernate,从“文件类型”列表中选择 HibernateUtil.java。单击“下一

步”。

3.键入HibernateUtil作为类名,并键入dvdrental作为包名。单击“完成”。

单击“完成”后,编辑器将打开HibernateUtil.java。由于不需要编辑该文件,因此可以关闭该文件。

生成 Hibernate 映射文件和 Java 类

在本实验中,将使用一个 POJO(简单传统 Java 对象)来表示您将要用到的数据库中的每个表中的数据。Java 类指定表的列字段,并使用简单的 setter 和 getter 方法检索数据和写数据。要将该 POJO 映射到表,可使用 Hibernate 映射文件或使用类标注。

可在“数据库”向导中使用“Hibernate 映射文件”和 POJO,创建多个 POJO 和基于选定数据库表的映射文件,或使用 IDE 向导帮助您从头开始单独地创建每个 POJO 和映射文件。

在数据库中创建 Hibernate 映射文件和 POJO

“在数据库中创建 Hibernate 映射文件和 P OJO”向导生成基于数据库表的文件。使用该向导时,选择希望从中创建 POJO 和映射文件的所有表,IDE 然后根据该数据库表生成文件并将映射条目添加到hibernate.cfg.xml。使用向导时可选择希望 IDE 生成的文件(比如,只生成 POJO)并选择代码生成选项(比如,生成使用 EJB 3 标注的代码)

1.在“项目”窗口中右键单击“源包”节点,并选择“新建”>“其他”以打开“新建文件”向导。

2.在 Hibernate 类别的数据库中选择 Hibernate 映射文件和 POJO。单击“下一步”。

3.保留“名称和位置”面板的缺省值。单击“下一步”。

4.在“配置文件”下拉列表中选择hibernate.cfg.xml(如果尚未选定)。

5.从“可用表”中选择以下表,并单击“添加”将表添加到“选定表”。

o actor

o category

o film

o film_actor

o film_category

o language

单击“下一步”。

6.在“常规设置”选项中选择JDK 5 语言功能。

7.确保域代码和Hibernate XML 映射选项为选定项。

8.选择dvdrental作为包名。单击“完成”。

单击“完成”,IDE 生成 POJO 和 Hibernate 映射文件,其字段映射到选定表的列中。IDE 也添加映射条目到hibernate.cfg.xml中。展开dvdrental包查看由向导生成的文件。

该向导也生成了一个hibernate.reveng.xml逆向工程文件并以编辑器中打开了该文件。可将该逆向工程文件关闭,因为无需对其进行编辑。

创建 Hibernate Helper 类

现在,您将在dvdrental包中创建另一个 helper 类,将用于在数据库中执行 Hibernate 查询。您将使用“Hibernate 查询语言(HQL)”编辑器来构造并测试用于检索数据的查询。测试了查询后,将在构造并运行查询的 helper 类中创建方法。随后将从 JSP 文件中调用 helper 类的方法。

创建类

这一部分中,使用“新建文件”向导在dvdrental包中创建 helper 类FilmHelper.java。您将通过调用HibernateUtil.java中的getSessionFactory来创建一个 Hibernate 会话,并创建一些helper 方法以创建查询来检索数据库中的数据。将从 JSP 页面中调用这些 helper 方法。

1.右键单击dvdrental源包节点,并选择“新建”>“Java 类”以打开“新建文件”向导。

2.键入FilmHelper作为类名。单击“完成”。

3.添加以下代码(粗体),创建一个 Hibernate 会话。

4.public class FilmHelper {

5.

6.Session session = null;

7.

8. public FilmHelper() {

9. this.session =

HibernateUtil.getSessionFactory().getCurrentSession();

10. }

11.

}

12.修复导入并保存更改。

现在将修改FilmHelper.java以添加查询数据库的 helper 方法。

使用 HQL 查询枚举 Film 标题

在此实验中,您将创建一个 HQL 查询,该查询对数据库进行查询以检索基于filmid主键的记录。将使用 Hibernate 查询语言(HQL)来查询数据库中的记录。Sakila 数据库中的 Film 表有 1000 条记录,因而我们创建的方法应能够检索基于 filmid 主键的记录。

1.在“项目”窗口中右键单击hibernate.cfg.xml并选择“运行 HQL 查询”以打开 HQL 查询编

辑器。

2.从工具栏的下拉列表中选择 hibernate.cfg。

3.在编辑器中键入以下内容并单击工具栏中的“运行 HQL 查询”按钮()来测试该连接。

from Film

单击“运行 HQL 查询”可在 HQL 查询编辑器的 botton 窗口看到查询结果。

如果单击 SQL 按钮,可以看到起相同作用的 SQL 查询。

select film0_.film_id as col_0_0_ from sakila.film film0_

4.键入以下查询在 film id 为 100 到 200 的 Film 表中检索记录。

from Film as film where film.filmID between 100 and 200

结果窗口中显示了一个记录列表。测试过该查询可返回期待的结果后,可在 helper 类中使用该查询。

5.将以下方法添加到FilmHelper.java以检索 film,其中 film id 介于由变量startID和

endID所指定的特定范围之间。

public List getFilmTitles(int startID, int endID) {

List filmList = null;

try {

org.hibernate.Transaction tx = session.beginTransaction();

Query q = session.createQuery ("from Film as film where

film.filmId between '"+startID+"' and '"+endID+"'");

filmList = (List) q.list();

} catch (Exception e) {

e.printStackTrace();

}

return filmList;

}

6.修复导入并保存更改。

修复导入时,要选择java.util.List和org.hibernate.Query.

枚举 Actors (使用 HQL Sub 查询)

在最后一个节中,将创建一个简单的 HQL 查询以枚举记录。现在要使用 sub 查询查询多个表,获取参与一个特定 film 的 actor。然后要将一个方法添加到 helper 类,该类包含一个 sub 查询用于从actor 表和 film_actor 表中获取记录。

1.在 HQL 查询编辑器中键入以下查询以测试该查询。

from Actor as actor where actor.actorID in (select actorID from

FilmActor filmActor where filmActor.filmId=10

此查询检索 film 中 filmid=10 的 actor。.

2.现在可以创建一个使用 filmID 作为输入变量构造查询的方法getActorsByID。

public List getActorsByID(int filmId){

List actorList = null;

try {

org.hibernate.Transaction tx = session.beginTransaction();

Query q = session.createQuery ("from Actor as actor where

actor.actorID in (select actorID from FilmActor filmActor where

filmActor.filmID='"+filmId+"')");

actorList = (List) q.list();

} catch (Exception e) {

e.printStackTrace();

}

return actorList;

}

添加额外的 helper 方法

现在将添加一些额外的 helper 方法,创建基于输入变量的查询。可在 HQL 查询编辑器中检查这些查询。

1.添加以下方法以根据filmId检索类别列表。

public Category getCategoryByID(int filmId){

List categoryList = null;

try {

org.hibernate.Transaction tx = session.beginTransaction();

Query q = session.createQuery ("from Category as category where category.categoryID in (select categoryID from FilmCategory filmCat where filmCat.filmID='"+filmId+"')");

categoryList = (List) q.list();

} catch (Exception e) {

e.printStackTrace();

}

return categoryList.get(0);

}

2.添加以下方法以根据filmId检索 film 列表。

public Film getFilmByID(int filmId){

Film film = null;

List filmList = null;

try {

org.hibernate.Transaction tx = session.beginTransaction();

Query q = session.createQuery ("from Film as film where

film.filmID='"+filmId+"'");

filmList = (List) q.list();

film = (Film) filmList.get(0);

} catch (Exception e) {

e.printStackTrace();

}

return film;

}

3.添加以下方法以根据langID检索语言列表。

public String getLangByID(int langID){

String language = null;

List langList = null;

try {

org.hibernate.Transaction tx = session.beginTransaction();

Query q = session.createQuery ("from Language as lang where https://www.360docs.net/doc/1e14804386.html,nguageID='"+langID+"'");

langList = (List) q.list();

language = ((Language) langList.get(0)).getLanguage();

} catch (Exception e) {

e.printStackTrace();

}

return language;

}

现在,您已经为应用程序创建了所有类。下一步,您将创建 JSP 页面并调用FilmHelper.java中的helper 方法。

创建 Web 页面

创建类之后,可以创建用于显示和修改数据的 Web 页。将修改index.jsp以列示 film 并创建browse.jsp以显示选定 film 的详情。

修改 index.jsp

1.展开“项目”窗口的“Web 页面文件夹”并在编辑器中打开index.jsp。

2.将以下导入标签(粗体)添加到 JSP 页面以加载所需 Java 类。

<%@page import="dvdrental.*"%>

<%@page import="java.util.List"%>

<%@page contentType="text/html" pageEncoding="UTF-8"%>

3.在body标签中间添加以下内容(粗体)。

<%

int startID = 1;

int endID = 10;

int prev_startID =1;

int prev_endID = 10;

int FILM_RECORD_COUNT = 1000;

boolean RECORD_START_PAGE = false;

boolean RECORD_END_PAGE = false;

if (request.getParameter("startid") != null) {

startID = Integer.parseInt(request.getParameter("startid")); }

if (request.getParameter("endid") != null) {

endID = Integer.parseInt(request.getParameter("endid"));

}

FilmHelper helper = new FilmHelper();

List filmTitles = helper.getFilmTitles(startID,endID);

if(startID == 1){

RECORD_START_PAGE = true;

}

if(endID == FILM_RECORD_COUNT){

RECORD_END_PAGE = true;

}

prev_startID = startID-10;

prev_endID = endID-10;

startID = endID+1;

endID = endID+10;

int filmTitlesSize = filmTitles.size();

%>

4.添加以下内容(粗体)以生成表来显示检索到的条目。

int filmTitlesSize = filmTitles.size();

out.print("

");

if(RECORD_START_PAGE){

out.print("

");

}

else if(RECORD_END_PAGE){

out.print("

");

}else{

out.print("

");

}

out.print("

");

for (int i = 0; i < filmTitlesSize; i++) {

Film film = (Film) filmTitles.get(i);

int filmID = film.getFilmId();

out.print("

");

out.print("

");

out.print("

");

out.print("

");

}

out.print("

href=\"index.jsp?startid="+startID+"&endid="+endID+"\">Next

TitleDescription
" + film.getTitle() + "" + film.getDescription() + "More</td>");

out.print("

Rent</td>");

out.print("

");

%>

5.保存所做的更改。

现在,您的 Web 页已具备了必要的组件。现在,需要将这些组件绑定到数据源。

创建 browse.jsp

现在需要创建一个 JSP 页面用来浏览详情。

1.在“项目”窗口中右键单击 DVDStore 并选择“新建New > JSP”。

2.键入browse作为 JSP 文件名。

3.单击“完成”。

单击“完成”,编辑器中打开了文件browse.jsp。

4.将导入标签(粗体)添加到 JSP 页面。

<%@page import="dvdrental.*"%>

<%@page import="java.util.List"%>

<%@page contentType="text/html" pageEncoding="UTF-8"%> 5.添加以下代码(粗体)获取标题 Id。

<%

//Get title ID

int filmID = 1;

if (request.getParameter("id") != null) {

filmID = Integer.parseInt(request.getParameter("id")); }

%>

6.添加以下代码(粗体)调用类方法。

filmID = Integer.parseInt(request.getParameter("id"));

}

%>

<%

boolean startPage = false;

boolean endPage = false;

FilmHelper helper = new FilmHelper();

Film film = helper.getFilmByID(filmID);

String filmTitle = film.getTitle();

String filmDescription = film.getDescription();

//Get Actors

List actors = helper.getActorsByID(filmID);

StringBuffer totalCast = new StringBuffer();

//Get Category

Category category = helper.getCategoryByID(filmID);

String catName = category.getName();

for(int i=0;i

Actor actor = (Actor)actors.get(i);

totalCast.append(actor.getFirstName());

totalCast.append(" ");

totalCast.append(actor.getLastName());

totalCast.append(" ");

}

int langID = film.getLanguageID();

String language = helper.getLangByID(langID);

int filmLength = film.getLength();

String filmRating = film.getRating();

String filmYear = film.getReleaseYear();

int rentalDuration = film.getRentalDuration().intValue();

float rentalRate = film.getRentalRate().floatValue();

String specialFeatures = film.getSpecialFeatures();

%>

7.添加以下代码(粗体)以生成显示 film 数据的表。

String specialFeatures = film.getSpecialFeatures();

out.print("

");

out.print("

"); out.print("");

out.print("

");

out.print("

"); out.print("");

out.print("

"); out.print("");

out.print("

"); out.print("");

out.print("

");

out.print("

");

out.print("

");

out.print("

"); out.print("

class='SPECIAL'>" + specialFeatures + "

");

out.print("

"); out.print("");

out.print("

class='COL2'>" + rentalDuration + " days

");

out.print("

class='RENT' href=\"browse.jsp?id="+filmID+"\">Rent Out

Title" + filmTitle + "
Description" + filmDescription + "
Genre" +

catName + "

Cast" + totalCast.toString() + "
Movie Length"

+ filmLength + " mins

Language" + language + "
Movie Rating"

+ filmRating + "

Released On" + filmYear + "
Special Features
Rental Rate" + rentalRate + " US$
Rental Duration
");

%>

运行项目

1.在主工具栏中单击“运行主项目”或在“项目”窗口中右键单击 DVDStore 应用程序并选择“运

行”。

IDE 保存所有更改过的文件,构建应用程序并将应用程序部署到服务器。 IDE 在浏览器窗口打开以下页面。

http://localhost:8080/DVDStore/

2.在浏览器中,单击 film 名旁边的“更多”以查看更多显示关于该 film 详情的浏览页面。

《JavaEE》课程设计报告实验

《JavaEE》课程设计报告 题目名称:基于struts2、Spring、Hibernate 构建一个网上投票系统 指导教师:_______ _________ _______ 专业班级:__ ____ ______ _ 组长:________ _____ ______ 成员:__ 娄宇杨浩亮张益民林强 __ __ 电子邮件:____ 15224891@https://www.360docs.net/doc/1e14804386.html,_ ______ _ 设计时间: 2011 年 11 月 16 日至 2011 年 12 月 21 日 成绩:______

目录 基于struts2、Spring、Hibernate构建一个网上投票系统 (3) 一、问题描述及设计思路 (3) 1.1 需求分析 (3) 1.2业务分析 (3) 1.3投票用例 (5) 二、详细设计过程 (8) 2.1 创建Struts2应用 (8) 2.2 添加Hibernate (8) 2.3 添加Spring应用 (9) 2.4 领域模型层设计 (9) 三、结论和体会 (13) 3.1 结论 (13) 3.2 体会 (13) 四、附录 (14) 附录A 其它图表 (14) 附录B 主要程序代码 (15) 五、参考文献 (21)

基于struts2、Spring、Hibernate构建一个 网上投票系统 一、问题描述及设计思路 对于开发一个投票管理系统来说,应该实现什么功能,如何实现这个功能都是开发人员必须了解的问题。将这个系统的需求、业务流程以及用例进行细致的分析、讲解。 1.1 需求分析 随着网络应用的日益普及,投票的形式也发生了很大的变化。目前在很多的场合,投票已经开始由原始方式转变为网上投票。由于具有方便、快捷、成本低、调查范围广等优点,网上投票已经被广泛的应用。如何管理好网上投票信息内容也变得十分的重要,我们所设计开发的投票管理系统,正是基于这种需求诞生的。 本投票管理系统分为用户提供网上投票和投票信息管理两大类功能。通过投票管理功能可以完成增加新投票、修改原有投票信息、查找投票等功能。本系统的界面友好、操作简便,适用于任何网站进行投票调查。 本系统的基本功能如下所述。 ●使用本系统的网上投票功能,用户只要登录指定的网页,就可以进行投票操作,并 可以得到投票结果信息。 ●使用本网站的登录功能,管理员可以登录系统,然后对相关的信息进行管理。 ●使用本系统的创建投票功能,管理员可以创建一个新的投票功能。。 ●使用本系统的管理投票功能,管理员可以对系统已经存在的投票进行更新,包括增 加投票子选项、删除投票子选项、修改投票类型、更改投票状态。 ●使用本系统的查找投票功能,管理员可以通过输入部分或者全部的投票主题查找对 应的投票信息。 ●使用本系统的管理员管理功能,管理员可以修改本人的密码或者创建一个新的管理 员。 ●使用本系统的注销功能,管理员可以安全的退出本系统。 1.2业务分析 投票管理系统由前台和后台两部分组成:前台显示投票并可以执行投票操作,后台是对投票信息和管理员信息进行管理。下面分别从使用前台和使用后台两个角度来分析本系统的业务流程。 1.2.1显示投票 用户进入投票页面如图,进行投票操作。

多媒体技术基础实验报告

多媒体实验报告 实验一数字音频实验(一) 实验时间: 2011 年 3 月 29 日 一、实验目的 1、了解不同数字音频指标对所生成声音文件音质的影响。 2、掌握音频播放器的基本使用方法。 3、对声音文件进行简单的编辑和特殊效果处理。 4、了解不同编码算法对音质的影响。 5、比较 wave 文件与 midi 文件在格式、容量及声音效果上的不同。 二、实验内容 一.COOLEDIT录制原声 二.声音文件的录制与比较: 1、使用声音编辑工具录制 30 秒的音乐文件,分别采用如下表给出的技术指标,生成两个 wave 文件,记录文件数据量,比较其声音的视听效果。 文件名采样率(KHz)量化位(bit)声道数数据量视听效果 11.0258单108kb 次 44.116双 1.69M 好 2、试听几个 midi 文件(自己选定),记录其文件名、数据量、播放时间,并比较其与 wave 文件不同的声音效果。 文件名数据量播放时间 世界名曲联奏93.9kb 4:33 莫斯科舞曲36.9kb 1:49 圆舞曲15.5kb 1:13 midi文件与wave文件比较 比较项目Midi文件Wave文件 文件内容世界名曲联奏44

占用空间93.9kb 1.69M 影响因素采样速率,音频采样大小频道 听觉效果次好 3、使用较高档声卡如 Sound Blaster 或其他音频编辑软件,完成如下内容的实验: (1)将采用双声道、22.05KHz采样率、16bit量化位所录制的 wave 文件用“特殊效果”菜单中的转换格式功能转化为单声道、11KHz采样率、8bit 量化位的文件。记录文件数据量,比较源文件及变化后文件的声音效果。 项目源文件转换后文件 文件名11-1 44 数据量108kb 1.69M 声音效果次好 (2)将录制的44KHz、16bit、双声道的 PCM 格式的 wave 文件用三种不同的压缩编码算法进行压缩,记录文件数据量,比较压缩后声音效果。 压缩格式数据量声音效果 PCM 1.69M 次 MP3157KB 好 WMA211KB 中等 三、心得体会 面对陌生的软件COOLEDIT,并不知道怎么使用,跟随着实验指导书,一步一步的实现功能,录制声音以及声音的合成,并且比较同一声音不同格式的声音效果。使得对该软件有了一定的了解,最后经过老师的一些讲解才能够很好的完成作业。 实验二数字音频实验(二) 实验时间: 2011 年 4 月 12 日 一、实验目的 1、学习与掌握使用COOLEDIT对声音文件处理的基本使用方法。 2、了解降噪处理、高音激励、压限处理、混响处理、混缩合成等声音处理技术的原理与方法。 3、采用降噪处理等声音处理技术对原始声音文件进行优化处理 二、实验内容

电子技术实验

半导体器件的测试实验 实验组号__ __学号姓名 实验日期成绩____ ___指导教师签名 一、实验目的 学会用万用表测试二极管、三极管的性能好坏,管脚排列。 二、实验器材 1.万用表1只(指针式)。 2.二极管、三极管若干。 三、注意事项: 1.选择合适的量程,使万用表指针落在万用表刻度盘中间的位置为佳。 2.测试电阻前应先调零。 3.测量时不要同时用手接触元件的两个引脚。 4.测量完毕时应将万用表的转换开关转向off位置或交流最高电压档。 5.不能用万用表测试工作中的元件电阻! 四、实验内容 1.半导体二极管的测试 ◆半导体二极管的测试要点: 用指针式万用表测二极管的正反向电阻,当测得阻值较小的情况下,黑笔所接的极是二极管的正极。 (1)整流二极管的测试 将万用表置于R?100Ω或R?1kΩ电阻档并调零,测量二极管的正、反向电阻,判断其极性和性能好坏,把测量结果填入表1中。 (2 将万用表置于R?10kΩ电阻档并调零,测量二极管的正、反向电阻,判断其极性和性能好坏,把测量结果填入表2中。 2.半导体三极管的测试 ◆半导体三极管的测试要点: 将万用表置于R?100Ω或R?1kΩ电阻档并调零。 ①首先判基极和管型 ?黑笔固定某一极,红笔分别测另两极,当测得两个阻值均较小时,黑笔所接的极是基

?红笔固定某一极,黑笔分别测另两极,当测得两个阻值均较小时,红笔所接的极是基极,所测的晶体管是PNP管。 ②其次判集电极和发射极 ?对于NPN管:用手捏住基极和假设的集电极(两极不能短接),黑笔接假设的集电极,红笔接假设的发射极,观察所测电阻的大小。然后将刚才假设的集电极和发射极对调位置,再重测一次,当测得电阻值较小时,黑笔所接的是集电极,另一电级是发射极?对于PNP管:用手捏住基极和假设的集电极(两极不能短接),红笔接假设的集电极,黑笔接假设的发射极,观察所测电阻的大小。然后将刚才假设的集电极和发射极对调位置,再重测一次,当测得电阻值较小时,红笔所接的是集电极,另一电级是发射极。(1)将万用表置于R?100Ω或R?1kΩ电阻档并调零,判别三极管的引脚排列、管型和性能好坏,把测量结果填入表3中。 (2)将万用表置于h fe档(×10Ω档并调零),测量三极管的β值,把测量结果填入表4中。 五、实验分析 1.用万用表的R?100Ω或R?1kΩ电阻档测量同一只二极管的正反向电阻值时,测量值为什么不同? 2.为什么不能用R?1Ω或R?10kΩ电阻档测量小功率晶体管?

电子技术基础实验课实验大纲

《电子技术基础实验课》实验大纲 实验面向的课程:模拟电子技术、数字电子技术、电工学、电工与电子技术、课程面向的专业:面向全校开设有电子技术和电工学的所有电类和非电类专业课程属性:专业基础课 课程是以下专业本科生(或专科生)教学的必修课程(或选修课程):电子信息科学与技术、微电子学、采矿工程、地质过程、材料科学与工程、机械设计制造及其自动化、测控技术与仪器、电器工程及其自动化、自动化、电子信息工程、通信工程、计算机科学与技术、电子科学与技术、软件工程、建筑学、土木工程、建筑环境与设备工程、测绘工程、环境工程、安全工程、化学工程与工艺、工业工程、电子商务(网络应用)。 课程教学大纲要求的总学时(包括理论教学学时、实验学时):最多76+76(模拟电子技术+数字电子技术) 其中理论教学学时:最多60(模拟电子技术) 实验学时:16 课程包括的实验个数:8(可开12) 实验目的:电子技术基础实验是一门应用广泛而实践性很强的技术基础课。是为培养学生能应用学到的基本理论进行分析与解决问题的基本技能。加深对电子技术基础课程实验内容的理解。 一、实验理论课教学实验内容 1、电子测量的基本知识: 电子测量的特点;测量与误差;基本误差分析、误差传递、减小误差方法、共地问题、共地与屏蔽 2、常用电子仪器的基本原理与使用: 晶体管图示仪 万用表(指针式、数字式) 晶体管电压表、数字电路实验箱 双通道示波器 信号发生器 直流稳压电源

3、电子测量的基本方法: 常用电子元件参数测量 集成电路的测量 电压与电流的测量 时间与频率及相位的测量 二、模拟电子技术基础单元实验 实验一常用电子仪器的原理与使用 实验类别:验证性实验 实验目的:了解所掌握实验常用仪器的基本原理与正确使用方法,能分析测量误差的来源与减少误差的方法。 实验内容:用示波器观察交流正弦波、方波及三角波信号并计算频率与振幅。晶体管毫伏表测量交流信号,正确判断幅值,用万用表测量直流信号,熟悉其功能。 实验要求:自觉遵守实验规则,熟悉仪器、仪表上各部分作用与功能,正确使用测量仪器。 主要仪器设备: 示波器、信号发生器、直流稳压电源、晶体管毫伏表、万用表。 实验中注意事项: 在测量中应正确进行测量、调节,防止因连接不当或过载造成仪器仪表损坏及出现较大误差。 实验二晶体二、三极管及电子元件的测试 实验类别:演示性实验 实验目的:了解晶体管图示仪的基本工作原理,掌握用图示仪测量晶体管主要参数的方法。 掌握用万用表测量二、三极管电极性的方法。熟悉各电阻电容电感等元器件的识 别方法。 实验内容:利用图示仪测量晶体管特性,画出观察到的曲线。利用万用表判断二极管的极性正反向电阻、三极管的类别、电极及放大能力,各电阻电 容的识别与测量。 实验要求:掌握晶体管图示仪及万用表对晶体管等电子元件的测量方法,判断各

hibernate练习题

1.下面创建Criteria对象的语句中正确的是 单选 A、Criteria c = query.createCriteria(); B、Criteria c = query.addCriteria(); C、Criteria c = session.createCriteria(); D、Criteria c = session.createCriteria(User.class); 2. Query对象执行查询结论正确的是 多选 A、list()方法返回结果为List对象,数据总量为0到多条 B、uniqueResut()方法返回结果为对象或对象数组,数据总量为0到1条数据 C、HQL:select userName from UserModel可以使用list()方法进行查询结果的获取 D、HQL:select userName from UserModel可以使用uniqueResut()方法进行查询结果的获取 3Hibernate实体对象制作规范不包含下列哪条规则 单选 A、声明无参公共的构造方法 B、提供用于作为OID的标识属性 C、为所有属性提供getter与setter方法 D、声明为最终类(final修饰) 4在HQL语句的参数查询中,执行以下代码,下列选项能够为参数正确赋值的操作是Query query = s.createQuery("from Customer o where https://www.360docs.net/doc/1e14804386.html,=?"); 单选 A、query.setParameter(1, "Tom"); B、query.setParameter(0, "Tom"); C、query.setString(0,Tom); D、query.setInteger (0,Tom); 5有关Hibernate瞬时对象状态说法错误的是 多选 A、瞬时状态的对象具有OID,与Session对象关联 B、瞬时状态的对象具有OID,不与Session对象关联 C、瞬时状态的对象不具有OID,与Session对象关联 D、瞬时状态的对象不具有OID,不与Session对象关联 6有关QBC查询短语,下列说法正确的 多选 A、Restrictions.between表示范围比对 B、Restrictions.eq表示等比对 C、Restrictions.le表示小于等于比对 D、Restrictions.ge表示大于等于比对 7下列操作对一级缓存的影响描述错误的是

数字电子技术实验教案

湖南工学院教案用纸 实验1基本门电路逻辑功能测试(验证性实验) 一、实验目的 1?熟悉基本门电路图形符号与功能; 2?掌握门电路的使用与功能测试方法; 3?熟悉实验室数字电路实验设备的结构、功能与使用。 二、实验设备与器材 双列直插集成电路插座,逻辑电平开关,LED发光显示器,74LS00, 74LS20 , 74LS86,导 线 三、实验电路与说明 门电路是最简单、最基本的数字集成电路,也是构成任何复杂组合电路和时序电路的基本单 元。常见基本集门电路包括与门、或门、与非门、非门、异或门、同或门等,它们相应的图形符号与逻辑功能参见教材P.176, Fig.6.1。根据器件工艺,基本门电路有TTL门电路和CMOS门电路之分。TTL门电路工作速度快,不易损坏,CMOS门电路输出幅度大,集成 度高,抗干扰能力强。 1.74LS00 —四2输入与非门功能与引脚: 2. 74LS20 —双4输入与非门功能与引脚: 3. 74LS86 —四2输入异或门功能与引脚: 四、实验内容与步骤 1.74LS00功能测试: ①74LS00插入IC插座;②输入接逻辑电平开关;③输出接LED显示器;④接电源;⑤拔

动开关进行测试,结果记入自拟表格。 湖南工学院教案用纸

2. 74LS20功能测试: 实验过程与74LS00功能测试类似。 3. 74LS86功能测试: 实验过程与74LS00功能测试类似。 4. 用74LS00构成半加器并测试其功能: ①根据半加器功能:S A B , C AB,用74LS00设计一个半加器电路; ②根据所设计电路进行实验接线; ③电路输入接逻辑电平开关,输出接LED显示器; ④通电源测试半加器功能,结果记入自拟表格。 5. 用74LS86和74LS00构成半加器并测试其功能: 实验过程与以上半加器功能测试类似。 五、实验报告要求 1. 内容必须包括实验名称、目的要求、实验电路及设计步骤、实验结果记录与分析、实验总结与体会等。2?在报告中回答以下思考题: ①如何判断逻辑门电路功能是否正常? ②如何处理与非门的多余输入端? 实验2组合逻辑电路的设计与调试(设计性综合实验) 一、实验目的 1?熟悉编码器、译码器、数据选择器等MSI的功能与使用; 2?进一步掌握组合电路的设计与测试方法; 3?学会用MSI实现简单逻辑函数。 二、实验设备与器材

电子技术实验课教学案例

电子技术实验课教学案例 引言: 模拟电子技术基础是电子技术应用专业的一门核心课程,也是电子信息类专业整个知识和能力体系的重要支柱之一,由于教学内容存在基本概念抽象,知识点分散,分析方法多样,器件和电路类型复杂等问题,加上学生学习基础较差,理解能力较弱,学生学习兴趣不高,教学效率不高,教学效果欠佳。围绕任何处理号教和学的关系,笔者尝试从淡化理论教学,加强实践(试验)教学入手,激发学生学习兴趣,增强教学的互动性,从而提高教学效果。 背景 按照教学计划的安排,第四周应该进行固定偏置式三极管放大电路的静态与动态工作过程的观察这个实验。这个实验的目的主要是结合理论知识,用仪器和仪表去测量电路的静态工作点和对比观察输入输出波形的大小和相位关系,验证理论教学的正确性。授课对象是五年制高职三年级学生,53人,男女生几乎各占一半。由于理论教学任务完成得较好,课前布置了学生预习实验内容,笔者估计这次实验应该能够顺利完成。 问题 可是,等到学生实验正式开始后,很多意想不到的事情发生了,教师的教学组织受到了很大的干扰,致使实验教学受到了很大的影响。 教学课程 教师:今天,我们在实验室上课,同学们分组做实验,研究固定偏置式三极管放大电路的静态与动态工作过程,课前布置了大家预习,相信大家对实验的过程,所有仪器,仪表的使用和操作已经有了比较全面的认识,我在教师台再把一些关键词强调一下。 学生:部分学生点头表示明白,小部分学生低头在摆弄实验教材。 教师:在实验台上接搭号电路,提醒大家注意:本次实验原理难度并不大,但测量项目较多,仪器仪表的接线也比较复杂,请务必注意测量放大电路的静态工作点时,万用表测量项目和量程的装换,红黑表笔极性要注意,不然很容易造成万用表损坏,影响实验的正常进行,信号发生器,示波器首先按照要求调试号,接线关系要弄清楚,正确接入电路,不然看不到波形,实验无法成功,也就无法对理论教学进行验证了。 学生:有的在思考老师讲的话,有的在小声议论,有的用万用表测量自身电阻大小。

Hibernate3.6(开发必看)

1.Java对象持久化概述 1.1.应用程序的分层体系结构 1.1.1.基于B/S的典型三层架构 说明: 1,展现层:提供与用户交互的界面。 2,业务逻辑层:实现各种业务逻辑。 3,数据访问层:负责存放和管理应用程序的持久化业务数据。 1.1. 2.数据访问层与Hibernate在Java应用程序中的 角色 数据访问层(持久化层)封装了数据访问的细节,为业务逻辑层提供了面向对象的API。完善的持久化层应该达到的目标: 1,代码重用性高,可完成所有的数据访问操作。 2,如果需要的话,能够支持多种数据库平台。 3,具有相对独立性,当持久化层变化时,不会影响上层实现。 在数据访问层(持久化层)中可以使用Hibernate框架以实现要求,如下图所示:

1.2.软件模型 1.2.1.各种模型的说明 概念模型: 模拟问题域中的真实实体。描述每个实体的概念和属性及实体间关系。不描述实体行为。实体间的关系有一对一、一对多和多对多。。 关系数据模型: 在概念模型的基础上建立起来的,用于描述这些关系数据的静态结构。有以下内容组成:1,若干表 2,表的所有索引 3,视图 4,触发器 5,表与表之间的参照完整性

域模型: 在软件的分析阶段创建概念模型,在软件设计阶段创建域模型。 组成部分: 1,具有状态和行为的域对象。 2,域对象之间的关联。 域对象(domain object): 构成域模型的基本元素就是域对象。对真实世界的实体的软件抽象,也叫做业务对象(Business Object,BO)。域对象可代表业务领域中的人、地点、事物或概念。 域对象分为以下几种: 1,实体域对象:通常是指业务领域中的名词。(plain old java object,简单Java 对象)。 2,过程域对象:应用中的业务逻辑或流程。依赖于实体域对象,业务领域中的动词。如发出订单、登陆等。 3,事件域对象:应用中的一些事件(警告、异常)。 1.2.2.域对象间的关系 关联: 类间的引用关系。以属性定义的方式表现。

电子技术实验指导..

电子技术实验指导 电子技术实验,实验仪器与被测电路的基本连接方法,如图1所示。 实验1 共发射极单级放大器 一、实验目的 1、学会放大器静态工作点的调试方法,分析静态工作点对放大器性能的影响。 2、掌握放大器电压放大倍数、输入电阻、输出电阻及最大不失真输出电压的测试方法。 3、熟悉常用电子仪器及模拟电路实验设备的使用。 二、实验原理 图1-1为电阻分压式工作点稳定单管放大器实验电路图。它的偏置电路由B1R 和B2R 分压电路组成,发射极接有电阻E R ,以稳定放大器的静态工作点。当放大器的输入端加入输入信号i u 后,在放大器的输出端便可得到一个与i u 相位相反、幅值被放大了的输出信号o u ,从而实现电压放大。 图1 测量模拟电子电路常用电子仪器的接法

在图1-1电路中,当流过偏置电阻B1R 和B2R 的电流远大于晶体管T 的基极电流B I 时(一般大5~10倍),它的静态工作点可用下式估算。 2 12 B B C C B B R U U R R ≈+, B B E C E U U I R -≈, C B I I β=,)(E C C CC CE R R I U U +-= 放大器的动态参数,电压放大倍数为 1 )1(//E be L C V R r R R A ββ ++-= 输入电阻为 121//[(1)]i B B be E R R R r R β=//++ 输出电阻为 C o R R ≈ 由于电子器件性能的分散性比较大,因此在设计和制作晶体管放大电路时,离不开测量和调试技术。在设计前应测量所有元器件的参数,为电路设计提供必要的依据,在完成设计和配装以后,还必须测量和调试放大器的静态工作点和各项性能指标。一个优质的放大器,必须是理论设计与实验调整相结合的产物。因此,除了学习放大器的理论知识和设计方法外,还必须掌握必要的测量与调试技术。 放大器的测量和调试包括:放大器静态工作点的测量与调试和放大器动态参数的测量与调试等。 1、放大器静态工作点的测量与调试 (1)静态工作点的测量:测量放大器的静态工作点,应在输入信号0=i u 的情况下进行。将放大器输入端与地端短接,用直流电压表分别测量晶体管各电极对地的电位B U 、C U 和E U 。然后算出 C I ≈E I =E U /E R ;BE U =B U —E U ,CE U =C U —E U 。为了减少误差,提高测量精度,应选用内阻 较高的直流电压表。 (2)静态工作点的调试:是指对管子集电流C I (或CE U )的调整与测试。 静态工作点是否合适,对放大器的性能和输出波形都有很大影响。以NPN 型三极管为例,如果工作点偏高,放大器易产生饱和失真,此时o u 的负半周被缩底,如图1-2a 所示。如果工作点偏低则易产生截止失真,即o u 的正半周被缩顶,如图1-2b 所示。所以在选定工作点以后还必须进行动态调试,即在放大器的输入端加入一定的i u ,检查输出电压o u 的大小和波形是否满足要求。如果不满足,则应调节静态工作点。 改变电路参数CC U 、C R 、B R (1B R 、2B R )都会引起静态工作点的变化,通常采用调节偏置电阻2B R 的方法来改变静态工作点,如减小2B R ,可使静态工作点提高。 最后还要说明的是:工作点“偏高”或“偏低”不是 绝对的,是相对信号的幅度而言,如果信号幅度很小,即使工作点较高或较低也不一定会出现失真。所以确切的说,产生波形失真是信号幅度与静态工作点设置配合不当所致。如需满足较大信号幅度的要求,静态工作点最好靠近交流负载的中点。 (a)截止失真 (b)饱和失真 图1-2 静态工作点对o u 的影响

模拟电子技术实验与课程设计

东华理工大学自编教材 模拟电子技术 实验指导书与课程设计 编者: 刘梅锋李百余 朱兆优邓文娟 审校:林刚勇 东华理工学院电子工程学院 二○○六年十月

前言 《模拟电子技术》是电类专业重要的基础课,也是非电类工科专业的重要学习内容。模拟电子技术是一门实践性很强的课程,实验是学习电子技术的一个重要环节,它对巩固和加深课堂教学内容、提高学生的实际动手能力和工作技能,培养科学的工作作风具有重要的作用,为今后学好后续课和从事实际技术工作奠定坚实的基础。 本门课程实验内容的安排遵循由浅到深、由易到难的规则,考虑不同层次的需要,既有基本测试验证性的内容,又有设计研究性的内容。为提高实验的思想性、科学性和启发性,有些实验只提出设计要求及电路原理简图,由学生自己完成方案的选择、实验步骤的安排和实验结果的表格记录等,充分发挥学生的创造性和主观能动性。 本书还编写了基本实验、设计性实验共二十个,还编写了三个模拟电子技术课程设计。每个实验均可以在模拟电路实验系统中完成,学生可根据情况从中选做,实验前由任课老师根据各专业的具体情况和教学内容确定实验项目,选择实验内容。 本课程是实践性、技能性和理论性很强的学科,必须理论联系实际,在理论知识的指导下,通过实践逐步加深对电子技术理论的理解,勤思考、多动手,不断地发现问题、分析问题和解决问题,注重自己能力的培养,才能有所收益、有所发展、有所创新。 电子技术日新月异,教学改革任重道远,由于水平有限,对书中的错误和缺点恳请读者批评指正,以便今后不断改进。 2006年10月17日

目录 第一部分模拟电子技术实验 (2) 实验一单级放大电路(一) (2) 实验二单级放大电路(二) (2) 实验三射极跟随器 (2) 实验四差动放大电路 (2) 实验五积分与微分电路 (2) 实验七 RC正弦波振荡器 (2) 实验八 LC正弦波振荡电路 (2) 实验九比较器 (2) 实验十波形发生器 (2) 实验十一集成功率放大器 (2) 实验十二整流滤波和并联稳压电路 (2) 实验十三串联稳压电路 (2) 实验十四集成稳压器 (2) 实验十五电流/电压转换电路 (2) 实验十六电压/频率转换电路 (2) 实验十七设计带负反馈的二级放大电路 (2) 实验十八运算放大器的应用设计 (2) 实验十九互补对称功率放大器 (2) 实验二十波形变换电路设计 (2) 第二部分模拟电子技术课程设计 (2) 课题一多级放大电路的设计 (2) 课题二 RC有源滤波器的快速设计 (2) 课题三函数发生器 (2) 附录一:《模拟电子技术》课程设计报告撰写要求 (2) 附录二:模拟电路实验系统使用说明 (2)

实验 五 Hibernate基础实验

实验五Hibernate基础实验 Part one Hibernate对表的添加 实验目的:掌握Hibernate的基本功能和基本用法 实验要求:通过Hibernate将一个Java对象插入到数据库表中 实验原理: (1)Hibernate是一个面向Java环境的对象/关系数据库映射工具,Hibernate不仅管理Java类型到数据库表的映射,还提供查询数据 和操作数据的OO方法。 (2)Hibernate对JDBC进行了轻量级的对象封装,使Java程序员可以随心所欲地使用OO编程思想来处理数据库。 (3)Hibernate采用映射元数据来描述对象-关系的映射细节,元数据通常采用XML。 (4)关系数据库中的元组通过ORM转换成应用程序中的对象;反之,应用程序中的对象通过ORM持久化成关系数据库中的元组。 (5)可以利用Hibernate框架根据配置和类及映射文件生成数据库表结构,反过来,也可以根据数据库表结构生成持久化类和映射文 件。 实验准备: 安装SQL Server20XY(如果是Windows XP上的SQL Server2000版,需要加补丁程序SP3)。 实验步骤: 一.创建Java Project TestH3_2 二.创建数据库及数据源 1.在test数据库中创建表News Use test CREATE TABLE news ( id int IDENTITY (1, 1) primary key ,

title varchar (20) NOT NULL , content text ) Go context的长度在Hibernate中可能闲长,不能插入,需改成较短的类型!设计表结构的图形界面如图5-1所示。 图5-1 设计News表结构的图形化界面 2.打开MyEclipse的Database Explore透视图,如图5-2所示。 图5-2 打开Database Explore透视图 3.创建数据库连接驱动,如图5-3所示。找到jtds-1.2.jar包所在位置。点击Add JARS,把该包包含进去即可。注意:SQL Server的Driver template 选Microsoft SQL Server(jTDS Driver)。

多媒体技术实验报告一

多媒体技术实验报告一 一、实验题目和目的 摄像头捕捉视频和静止图像 实验目的:熟悉和掌握使用Windows API 进行编程的基本原理和方法。熟悉各种不同的视频文件格式。 二、实验要求 基本要求:利用windows api实现简单的视频捕捉功能 Bonus:连续捕捉静止图像 提示:使用winxp版本可以考虑采用vfw(video for windows)来实现,使用win7版本可以考虑采用directshow来实现,使用win8版本可以考虑采用Media Foundation或directshow来实现。 三、实验内容 设计一个程序,有界面,可以调用摄像头进行视频捕捉并保存成文件。可以进行开始暂停。可以进行捕捉每一帧的画面并通过画图文件保存。 1、创建一个基于对话框的工程,如VideoPlay。 2、在对话框上添加相应的按钮,实现如动态捕捉、播放、连续捕捉等项功能。可考虑添加滑动条(slider 控件)用来反映目前的播放位置,等等。 3、为各个按钮添加相应的函数。 4、调试,运行。 四、实验平台 实验硬件:个人PC机,摄像头 实验软件:VS2013,摄像头驱动程序,VFW开发包 实验平台:windows 五、实验原理 Video for Windows 是WIN32 SDK 中多媒体编程SDK 的视频开发工具。在微软的Visual C++中提供了Video for Windows 的头文件vfw.h 和库文件vfw32.lib。 六、实验过程 1、用Visual C ++的AppWizard 生成一个基于对话框的应用程序,并在 StdAfx.h 中加入以下内容: #include < vfw.h > #pragma comment(lib,"vfw32.lib") 2、修改对话框资源,添加静态控制IDC_VIDEO 和按钮“捕捉”、“停止”、 “设置格式”、“设置图像源”、“设置压缩”、“单帧捕获”、“定帧”、“退出”。(其实最重要的是“设置格式”、“设置图像源”、“设置压

电子技术实验(6)

实验目的 1. 加深对差动放大器性能及特点的理解 2. 学习差动放大器主要性能指标的测试方法 实验仪器 1、模拟电路实验装置一台 2、数字万用表一只 3、毫伏表一台 4、示波器一台 5. 函数信号发生器一台 实验内容 1.按实验原理图,连接好电路。 2.开关K拨向左边构成典型差动放大器。 (1)测量静态工作点 ①调节放大器零点 信号源不接入,将放大器输入端A、B与地短接,接通±12V直流电源,用万用表的直流电压挡测量输出电压UO,调节调零电位器RP,使UO=0。调节要仔细,力求准确。 ②测量静态工作点 零点调好以后,用万用表的直流电压挡测量T1、T2管各电极电位及射极电阻Re 两端电压URE,记入表1.4.1。 测量静态工作点:放大器输入端A、B与地短接 3.测量差模电压放大倍数 断开直流电源,将函数信号发生器的输出端接放大器输入A端,信号源的地端(黑夹子)接放大器输入B端构成双端输入方式,调节输入信号为频率f=1KHz的正弦信号,并使信号源的幅度输出旋钮(AMPL)旋至零,用示波器监视输出端(集电极C1或C2与地之间)。

接通±12V直流电源,逐渐增大输入电压Ui(约100mV),在输出波形无失真的情况下,用交流毫伏表测量Ui,UC1,UC2 (注意:毫伏表后面板的开关打到“FLOAT”位置,保证两个被测信号不共地),记入表1.4.2中,并观察ui,uC1,uC2之间的相位关系。 测量差模电压放大倍数:差模信号 表1.4.2 4.测量共模电压放大倍数 将放大器A、B短接,信号源接A端与地之间,构成共模输入方式,调节输入信号f=1kHz,Ui=1V,在输出电压无失真的情况下,测量Ui,UC1,UC2之值记入表1.4.2,并观察ui,uC1,uC2之间的相位关系及URe随Ui改变而变化的情况。 5.具有恒流源的差动放大电路性能测试 将图1.4.1电路中开关K拨向右边,构成具有恒流源的差动放大电路。参照典型差动放大器性能测试的步骤对具有恒流源的差动放大器进行测试,将测得的静态工作点填入自行设计的表格中,而后测量表1.4.2右侧的相关数据。 测量差模电压放大倍数:差模信号 实验总结 1.计算静态工作点、差模共模电压放大倍数和共模抑制比CMRR 。 2.整理实验数据,列表比较实验结果和理论估算值,分析误差原因 3.回答思考题,总结实验收获。

使用Hibernate开发租房系统+(笔记)

第一章Hibernate入门 本章技能目标 理解持久化的概念 理解ORM的概念 了解Hibernate的基本原理 学会编写实体映射文件 学会使用hibernate完成数据增删改操作 学会在项目中使用Hibernate 本章单词 Hibernate:对象关系映射框架。Object:对象。Relational:关系模型。Mapping:映射。Get:得到。Load:加载。Transient:瞬时。Persistent:持久化。Detached:分离 本章简介 对象——关系映射。框架:hibernate Hibernate 的优势 是一个优秀的Java持久化层解决方案,主流的对象——关系映射工具。简化了JDBC繁琐的编码。Hibernate将数据库的连接信息都存放在配置文件中。 持久化与ORM ORM(Object Relational Mapping ,对象关系映射). 当程序退出后,这些数据就不复存在,所以,我们称这些数据的状态为瞬时的(Transient) 有些数据,在程序退出后,还以文件等形式保存在存储设备中,我们称这些数据的状态是持久的(Persistent) 在编写程序的时候,以面向对象的方式处理数据,保存数据的时候,却以关系型数据库的方式存储,所以,客观上我们需要一宗能在两者间进行转换的机制,这样的机制就是ORM(对象关系映射) 准备Hibernate 1.下载需要的jar包 2.部署jar包 3.创建Hibernate配置文件 4.创建实体类和实体映射文件 Hibernate.cfg.xml配置内容: Dialect:参数:用于配置Hibernate使用的不同数据库类型。 Connection.dirver_class参数:表示数据库驱动。 https://www.360docs.net/doc/1e14804386.html,ername参数:表示数据库用户名。 Connection.password参数:表示数据库用户秘密。 Connection.url参数:表示数据库URL。 Current_session_context_class参数:指定当前Session范围和上下文。 Show_sql参数:参数为true,则程序运行时在控制台输出SQL语句。 配置好Hibernate的配置文件,就要实现数据库表和实体对象之间的映射,映射信息在映射文件中。 一个实体类到数据库表??(表名)映射的配置,???.hbm.xml其中各元素的含义如下: Class元素:定义一个实体类的映射信息 常用属性如下: Name表示对象实体类的全限定名。Table表示对应的数据库表名。 Id元素:定义该属性到数据库表主键字段的映射。 常用属性如下: Name表示实体类属性的名字。Type表示实体类属性的类型。Column表示数据库表字段的名字,也可在子元素column 指定。 Generator元素:id元素的子元素用于指定主键的生成策略。 常用属性及子元素如下: Class用来指定具体主键生成策略。Param元素用来传递参数。 常用主键的生成策略如下:increment,identity,native。。。。 Property元素:定义实体类中属性和数据库中表的字段的对应关系。 常用属性如下: Name表示实体类属性的名字。Type表示实体类属性的类型。Column表示数据库表字段的名字,也可在子元素column

实验4

电子科技大学 实验报告 学生姓名:罗佳学号:2014120101013 指导教师:钟毅 实验四 一、实验名称 面向对象的信息系统设计 二、实验内容 根据实验材料的内容及实验三的实验结果,完成以下实验任务: 1. 完成系统的体系结构设计,利用Rational Rose软件进行系统的层次设计,并绘制系统的包图; 2. 根据实验三结果中的类图,对其进行细化,完成设计类的设计。 三、实验材料 ××物资储运公司长期从事物资储运业务,品种多,吞吐量大,有铁路专线直达公司的大型仓库。目前企业已经实现了一定程度上的计算机化管理,其中的财务系统应用已较为成熟。随着企业业务以及外部环境的变化,该公司原开发的信息系统已不能满足新业务、新环境以及客户对信息查询的要求,迫切需要开发一套新的系统以替代原有系统,并实现原有流程的优化,把一些原来未纳入系统管理的功能纳入到新的系统中来,并为转变到第三方物流和与电子商务接轨作好准备。 企业的主要部门包括:总经办、收货组、出货组、调运科、库管科和财务科。总经办主要负责货物出入库的审核、平帐及各种统计工作;收货组主要负责货物的验收入库及存放位置的登记;出货组主要负责货物的出库工作;调运科主要负责从货物的调运及相应报表编制等工作;库管科主要负责货物的装车及盘点等工

作;财务科负责企业的主要财务活动。 企业的主要业务活动包括出库、入库及盘点等。其各自的业务流程如下。 入库流程:总经办根据供货商提供的货品明细单(包括单据号、客户名、货品品名、规格型号、数量、运输车号等信息),创建入库单(主要包括入库业务号、应收数量、实收数量等信息),并打印入库单,将其交至收货组。 火车站发出到站预报,告知调运科“车号、发站、品名、件数、重量、到达时间”等信息。调运员进行卸车登记,编写“到站日报”,记录“卸车时间、情况(事故、破损、短件)、卸车区位”等信息,并通知收货组,进入货物入库流程。 货物卸车后,收货组进行验收,编制“码单”,记录“入库日期、实收数量、存放位置、件数、收货保管员”等信息。收货组查找与该批货物对应的入库单,在入库单上填写实收数量后,将入库单中货品所涉及的码单与入库单进行关联,并将入库单、码单交至总经办审核,总经办审核后,送至发货组。 如货物先于供货商的货品明细单到达,则收货组先进行验收入库,并创建码单。当货品明细单到达后,总经办创建入库单,收货组再查找该入库单,登记实收数量并关联码单。 出库流程:发货组审核用户提供的提货单(主要包括入库单号、品名规格、提货数量等信息),查找相应货品,判断是否有足够数量的货物进行出库,如数量足够出库,则创建三联出库单,产生出库业务号,三联出库单分别交给总经办、供货商、发货组自留。收货组在收取相关出库费用之后,查找货物存放位置,出具派车单。 发货组根据派车单调度车辆,指挥库管人员装车,过秤(可以理论计重的货物不需过秤),并在出库单上记录实出重量。用户缴纳装车费用后,发货组给用户出具出门条,用户凭出门条在门卫处检验放行。 总经办对收到的出库单进行审核。 当一张入库单上全部货物出货完毕后,发货组将入库单、码单、出货单送至总经办。总经办审核无误后,平帐,不得再修改;若出现偏差,则进入事故处理。 盘点流程:总经办根据码单信息创建盘点表,库管科的库管人员根据实际盘点情况填写货物实存数量,并返回总经办。总经办将信息进行汇总,如有误差则进行调帐,做到帐、物数量一致。 六、实验器材(设备、元器件):

《多媒体技术》实验报告

江西科技师范学院实验报告 课程多媒体技术 院系教育学院 班级2009教育技术 学号20092299 姓名ljh 报告规格 一、实验目的 二、实验原理 三、实验仪器四、实验方法及步骤 五、实验记录及数据处理 六、误差分析及问题讨论

目录 1. 多媒体软件、硬件基础 2. 多媒体素材采集 3. 片头动画 4. 多媒体制作 5. DVD视频光盘制作 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 每次实验课必须带上此本子,以便教师检查预习情况和记录实验原始数据。 实验时必须遵守实验规则。用正确的理论指导实践袁必须人人亲自动手实验,但反对盲目乱动,更不能无故损坏仪器设备。 这是一份重要的不可多得的自我学习资料袁它将记录着你在大学生涯中的学习和学习成果。请你保留下来,若干年后再翻阅仍将感到十分新鲜,记忆犹新。它将推动你在人生奋斗的道路上永往直前!

年级班学号姓名李进辉同组姓名实验日期2010年月日成绩 实验一:多媒体软件、硬件基础 一、实验课程名称 多媒体技术 二、实验项目名称 多媒体软件、硬件基础 三、实验目的和要求 了解媒体、多媒体概念, 了解多媒体技术软件、硬件相关知识 四、实验内容和原理 理解媒体、多媒体概念,分析并了解多媒体技术软件、硬件 五、主要仪器设备 PC计算机HP PRO2080 六、操作方法与实验步骤 1、多媒体素材制作软件 文字处理:记事本、写字板、Word、WPS 图形图像处理:PhotoShop、CorelDraw、Illustrator 动画制作:AutoDesk Animator Pro、3DS MAX、Maya、Flash 声音处理:Sound Forge、Adobe Audition 、goldwave 视频处理:Adobe Premiere ,Adobe after effects Ulead Media Studio 2、多媒体技术的硬件基础 ⑴新一代的处理器(CPU)。 ⑵光盘存储器(CD-ROM,DVD-ROM)。 ⑶音频信号处理系统,包括声卡、麦克风、音箱、耳机等。 ⑷视频信号处理子系统。 ⑸其它交互设备。如鼠标、游戏操作杆、手写笔、触摸屏等。 七、实验结果与分析、心得 了解了多媒体的硬件和软件基础

电工电子技术实验六预习

电工电子技术实验实验六预习报告 实验名称:三相异步电动机的继电接触控制及门电路 一、电动机的正、反转控制 1、熟悉电动机正、反转控制电路,并分析异步电动机正、反转控制及自锁、互锁的工作原 理 (简要分析写入实验报告中) 二、三变量表决电路 1、按照实验指导书中的P54的图15-1建立三变量表决仿真电路,其中输入A、B、C分别接 高低电平控制开关,输出利用发光二极管显示; 1)高低电平控制开关选择Basic 中SWITCH,型号选SPDT,分别连接VCC=5V和 GROUND 代表高、低电平,参考实验指导书P113: 2)发光二极管选择Place Diodes中的LED,颜色任选,但需串联一合适电阻; 3)与非门选择TTL中74STD,7400N、7410N、74R0N分别为两、三以及四输入与非门; 2、改变输入A、B、C的高低电平变化,观察发光二极管的显示,发亮为1,不亮为0,并将 结果填入下表: 表1 三变量表决电路测量

三、半加器 1、按照实验指导书中的P55的图15-3,利用异或门和与非门建立半加器仿真电路: 提示:异或门选择TTL中74STD,型号为7486N 2、改变输入A、B的高低电平变化,观察C、S对应发光二极管的显示,并将结果填入下表: 表R 半加器电路测量

四、全加器 1、按照实验指导书中的P55的图15-4,利用异或门和与非门建立全加器仿真电路: 2、改变输入A i、B i、C i-1的高低电平变化,观察S i、C i的变化,并将结果填入下表:

表3 全加器电路测量

五、抢答显示器电路 1、按照实验指导书中的P56的图15-5,建立抢答器仿真电路: 2、改变输入A、B、C的高低电平变化,观察Y1、Y R、Y3的变化,并将结果填入下表: 表4 抢答状态结果

相关文档
最新文档