软件框架整合开发技术复习题

更新时间:2023-12-15 00:31:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

软件框架技术复习试题

一、选择题

1. 在值栈中查找某个值时,会按照从上至下的顺序依次遍历每个对象,下列对象中,( A )的遍历优先级最高。

A. 临时对象 B. 模型对象 C. Action对象 D. 命名对象

2. OGNL除了可以访问Bean外,还提供了对Struts2应用上下文的访问机制,它通过( D )对应用上下文进行访问。 A. . B. of C. ? D. # 3 Struts2标签中,( B )标签用于迭代输出集合中的元素,包括List、Set和数组。

A. bean B. iterator C. param D. i18n

4. 经常需要在页面中输出某变量的值,Struts2中是采用( D )标签输出一个属性值。

A. param B. if C. bean D. property

5. ( C )是动态拦截Action调用的对象,它提供了一种机制,使开发者可以定义一段代码在Action执行之前或之后被调用执行,也可以在一个Action执行前阻止其执行。

A. 类型转换器 B. 输入校验 C. 拦截器 D. 文件上传下载

6. 文件上传时,表单上传数据的编码方式设置为二进制数据方式,这时表单的enctype属性值为( B )。

A. application/x-www-form-urlencoded B. multipart/form-data C. textplain D. null

7. Hibernate是一个( A )框架,它对JDBC进行了轻量级的封装,通过此框架开发人员能以面向对象的思维方式来操作数据库。 A. ORM B. MVC C. IoC D. AOP

8. 在Hibernate的配置文件hibernate.cfg.xml中,可以使用 true 在控制台输出SQL语句。 A. show_sql B. format_sql C. dialect D. driver_class 9. Hibernate的运行核心是( D )类,它负责管理对象的生命周期、事务处理、数据交互等。

A. Configuration B. Transaction C. Query D. Session 10. Spring的事务管理应该在DAO模式的哪一层?( C ) A. 实体层 B. 数据访问层(dao层) C. 业务层(service层) D. 控制层

11. Struts2应用程序中,所有的Action类在处理完成之后,返回的都是一个字符串类型的结果,这个结果作为一个( B )视图而存在。 A. 物理 B. 逻辑 C. 控制 D. 映射

12. 当一个Action执行完后需要直接跳转到另一个Action,此时要用到Action链。在Struts2中Action链是通过一个叫( A )的拦截器实现的。 A. chain B. redirect C. stream D. dispatcher

13. 在struts.xml文件中,标签的type属性值默认为dispatcher,表示返回结果对应的视图类型为( C )。 A. Velocity B. Action C. JSP D. FreeMarker

14. 使用Struts2框架开发应用程序时,如果一个工程是一个大型项目,struts.xml文件中配置信息可能非常多,势必造成该文件的可读性差和后期难以维护。此时可以使用( C )

元素,将一个struts.xml文件按照配置的功能分割成多个配置文件,然后在struts.xml中使用上述元素引入其它配置文件。

A. B. C. D.

15. Struts2的Action类中有多个方法时,可以使用标签的( C )属性来指定需要调用的方法。 A. name B. class C. method D. type 16.struts.xml文件中定义的Action如下:

suc.jsp

请问以下请求中能正确访问myaction的是( D )。 A. B.< s:form action=”myaction.action”> C. D. 17.truts2标签中,( B )标签用于迭代输出集合中的元素,包括List、Set和数组。

A.bean B.iterator C.param D.i18n

18.果需要在页面中输出某变量的值,则在Struts中采用( D )标签输出改变量的值。

A.param B.if C.bean D.property 19.与SQL相比,HQL有哪些优点( C )。

A.HQL能够简单的操作表 B.HQL是简单的sql语言组成 C.HQL是面向对象的检索语言 D.HQL对应的是表和表的字段 20.Hibernate中实体类对象的状态不包括下列哪一项(B )。 A.瞬时态 B.查询态 C.持久态 D.托管态 21.以下集合中不能直接取第一个元素的是( C )。 A.List B.map C.set D.Array 22.下面代码的执行结果是( A )。

String hql=“from Student s order by s.score desc”; Query query=session.createQuery(); Query.setFirstResult(1); Query.setMaxResult(10); return query.list();

A.返回分数最高的10个学生 B.返回分数最高的11个学生 C.返回分数最低的10个学生 D.返回分数最低的11个学生

23( A )是Hibernate持久化操作的基础,提供了众多持久化方法,如save、

update、delete等。通过这些方法,透明地完成对象的增加、删除、修改、查找等操作。

A.Session B.SessionFactory C.Transaction D.Query 24.Hibernate的运行核心是( D )类,它负责管理对象的生命周期、事务处理、数据交互等。

A.Configuration B.Transaction C.Query D.Session

25.在Spring容器中如果想在方法执行过程中抛出错误的时候执行某个功能,则使用的通知类型是(D )。

A.Before B.After C.AfterRunning D.AfterThrowing 26.在Hibernate中,假如有两个实体:书、作者,一个作者可以写多本书,而一本书可以同时有多个作者,那么书与作者之间的关联是( D )。

A.many-to-one B.one-to-many C.one-to-one D.many-to-many 27. 在一个web应用中,添加的jar包应该放到哪个文件夹中( B )。 A.WEB-INF/class B.WEB-INF/lib C.WEB-INF/ D.WEB-INF/src

28.如果要实现hibernate删除一个对象时,同时级联删除与其相关联的其他对象,cascade属性的值应该设置为( B )。

A.Delete B.true C.false D.none 29.下面哪个选项不属于MVC设计模式的三个核心模块(C ) A.模型 B.视图 C.数据库连接 D.控制器

30.在struts 实现的MVC框架中( A)类是包含了excute方法的控制器类,负责调用模型的方法,控制应用程序的流程

A.Action B.ajax C.actionservlet D.JSP 31.下列说法中错误的是(C )

A.使用通配符可以优化action的配置

B.约定优于配置。约定的如果好,可以使action配置非常的简洁 C.如Action中存在多个方法时,只能使用method属性指定调用方法

D.在struts2中超级链接通常都采用绝对路径,而不使用相对路径,这样便于链接的实现

32. 下列说法中错误的是(D )。

A.从值栈中取值value=“参数名”,参数名是action中的参数

B.从actioncontext中取值#parameters.参数名,参数名是struts中的参数 C.在客户端跳转时一次request只有一个valueStack D.在客户端跳转时一次request可以有多个valueStack 33. Struts2标签中,( B)标签用于迭代输出集合中的元素,包括List、Set和数组。

A.bean B.iterator C.param D.i18n

34.如果需要在页面中输出某变量的值,则在Struts中采用(D )标签输出改变量的值。

A.param B.if C.bean D.property

35. Struts2的Action类中有多个方法时,可以使用标签的(C )属性来指定需要调用的方法。

A.name B.class C.method D.type

36.Hibernate是一个(A )框架,它对JDBC进行了轻量级的封装,通过此框架开发人员能以面向对象的思维方式来操作数据库。

A.ORM B.MVC C.IoC D.AOP 37.以下集合中不能直接取第一个元素的是(C )。 A.List B.map C.set D.Array

38.在hibernate主配置文件(hibernate.cfc.xml)中,是通过( D )来配置映射文件的。 A.元素 B.元素 C.元素 D.元素 39.Transaction接口主要是用于管理事务,它的哪个方法用于事务的提交(C )。 A.wasRollback()方法 B.isactive()方法 C.commit()方法 D.wacommitted()方法 40.如果要实现hibernate删除一个对象时,同时级联删除与其相关联的其他对象,cascade属性的值应该设置为(A )。

A.Delete B.true C.false D.none 41.( A )是Hibernate持久化操作的基础,提供了众多持久化方法,如save、update、delete等。通过这些方法,透明地完成对象的增加、删除、修改、查找等操作。 A.Session B.SessionFactory C.Transaction D.Query

42.在spring容器中如果想在方法执行之前执行某个功能,则使用的通知类型是(B )。

A.Before B.After C.AfterRunning D.AfterThrowing 43.下面是某程序中的两个实体类: public class Author{ //作者类 private int authorId;

private String authorName; } public class Book{ //图书类 private String bookISBN; private String bookName;

private Author author;//作者对象 } 依次可以得到(C)。

a) Author与Book是单向一对多的关联 b) Author与Book 是双向一对多的关联 c) Book与Author是单向多对一的关联 d) Book与Author是双向多对一的关联

44.在学院信息管理系统中每个班级对象映射多个学员对象,现在按班级编号查询到班级对象时,不想同时查询班级关联的多个学员对象,应该设置(A)属性。 A.cascade属性 b) lazy属性 c) inverse属性 d) name属性

45.在Hibernate框架的应用中,对于Query对象的引用query,当查询结果包含多个时,以下(A)方法可以直接获得这个结果。 A.query.list() b) query.uniqueResult()

c) query.setMaxResult(pageSize) d) query.setFirstResult();

46.在hibernate的多对多关系中,对inverse属性描述正确的是(d)。 a) 关系双方都在节点中设置inverse=\属性 b) 关系双方都在节点中设置inverse=\属性 c) 关系双方都在节点中去掉inverse属性

d) 一方在节点中设置inverse=\属性,另一方不设置

47.在hibernate开发中,关于POJO类对象的状态说法不正确的是(d)。

a) 自由状态(Transient):实体在内存中自由存在,与数据库中的记录无关

b) 持久状态(Persistent):实体处于由Hibernate框架所管理的状态,对应了数据库中的一条记录,同时与某个session实例发生了关联

游离状态(Detached):处于持久状态的对象,其对应的session关闭之后 d) 不能将对象从游离状态转换成持久态

48.在hibernate的分页中,假设页大小为5,那么取第2页的操作如下:

List list=session.createQuery(hql) .list();

在下划线上填入(c)。

a) .setFirstResult(2 * (5 - 1)) .setMaxResults(2) b) .setFirstResult(5 * (2 - 1)) .setMaxResults(2) c) .setFirstResult(5 * (2 - 1)) .setMaxResults(5) d) .setFirstResult(2 * (5 - 1)) .setMaxResults(5)

49.在 hibernate中, Customer.java映射客户表(customer) Orders.java 映射定单表(orders) 有如下HQL语句,查询出所有的客户信息,包含没有定单的客户信息: String hql=\Query q=session.createQuery(hql); List list=q.list(); 下面说法正确的是(b)。

a) list集合中的每个对象都是Customer类型 b)list集合中的每个对象都是Object[]类型 c) list集合中的每个对象都是Orders类型 d) list集合中的每个对象都是Object类型

二、填空题

1.Struts 2框架由__WebWork_________和____XWork_______框架发展而来。 2.Struts 2以__过滤器_________为核心,采用____拦截器_______的机制来处理用户的请求。 3.构建Struts 2应用的最基础的几个类库是_____struts2-core____、____xwork___、__freemaker___、ognl___以及___commons-logging_____。 4.Struts 2中的控制器类是一个普通的____POJO_______。 5.如果要在JSP页面中使用Struts 2提供的标签库,首先必须在页面中使用taglib编译指令导入标签库,其中taglib编译指令为___<%@ uri=”/struts-tags” prefix=”s”%>______。

6.在Struts 2表单标签库中,表单标签为__________。 7.ActionSupport类实现了__Action__接口和ValidationAware等接口。 8.通过控制器类中的___validate___方法来输出校验错误信息。

9. Struts 2以___FilterDispatcher_____为核心控制器,它的初始化方法为__init(FilterCongif filterConfig)_____。

10.Hibernate配置数据库连接的四种属性名是 connection.driver_class 、connection.username 、 connection.password 、connection.url 。

11. 在Hibernate XML影射文件中描述主键生成机制,其属性描述了主键的生成策略,至少写出三种策略名 identity 、native 、increment 。

12.基于Hibernate用标注(annotations)描述映射关系,映射实体类中表示主键

的属性的标注是___@Id_____ ;映射实体类中普通属性的标注是___@Column_;实体属性对应的列用标注__@Entity___。

13.Hibernate的会话接口中声明了持久化的操作,删除一个实体的方法是__delete(obj)__,合并一个实体的方法是___merge____,获得事务处理接口的方法是_getTransaction()_。

14. Hibernate的会话接口同时又是一个工厂类型:创建一个HQL查询接口的方法是_createQuery_,创建基于公式(标准)接口的方法是 _createCriteria__。 15. 对象关系映射(ORM)的基本原则是:类型(class)映射__表__,属性(property)映射_列_, 类型的实例或对象(instance | object)映射一条记录_。

16. Hibernate应用缺省的XML格式的配置文件名是hibernate.cfg.xml_, 放置在__classpath_下;配置数据库方言的属性名是__dialect_。

17. 在Hibernate中级联操作的属性值至少写出三个_save-update 、_none__、_delete__。

18 基于Hibernate用标注(annotations)描述映射关系,实体类型用标注__@Entity__ ;体对应的表用标注___@Table____。

19 Hibernate的会话接口是_Session__,它由接口_SessionFactory__创建; 20.Hibernate处理事务的接口是Transaction_;封装HQL的接口是_Query_ 。 21.现阶段在JAVA WEB开发中的开源框架很多,其中主流的当属SSH,即Struts,Spring和 Hibernate 。

22.Hibernate实体间通过关系来相互关联,关联关系主要有一对一关系、一对多关系和 多对多 关系3种关系。

23.目前流行的数据库连接池有JNDI、C3P0和__JDBP__等。 24.Spring容器的两大基本概念是IOC和 AOP 。 25.ORM中的“O”代表对象(Object),“R”代表关系(Relation),“M”代表映(Mapping)。ORM的原理是将对象与表、 属性 与 字段 分别建立映射关系。 26.版本控制是一种软件工程技巧,在开发的过程中确保由不同人所编写的同一文件都得到更新。目前流行的版本控制软件有SVN和__CVS____等。

28.Struts2的Action类中有多个方法时,使用标签的 method 属性来指定需要调用的方法.

29.在实际应用中为了提高struts.xml文件的可读性,可以将一个struts.xml配置文件分解成多个配置文件,然后在struts.xml文件中包含其他配置文件,该标记是 include 。

30.如果将${}用在配置文件struts.xml中表示从 值栈 中读取数据。

31.假设在工程的SRC目录下存在两个资源文件:第一个用来存放中文编码,文件名为:ssh2014_zh_CN.properties,第二个存放英语(作为默认语言)编码,文件名为:ssh2014_en_US.properties。当使用上面的资源文件时需在struts.xml中配置常量加载全局资源文件:

32.实体对象的生命周期有3种状态即:瞬时态、 游离态 和脱管态。

33.Hibernate实体间通过关系来相互关联。其关联关系主要有一对一关系、一对多 关系和 多对多 关系3种。

34.Spring是一个以 IOC 和 AOP 为核心的轻量级容器框架。

35.若从Kcb中查询kch为\的详细信息,则执行的命令如下所示,请补充完整(前后代码略去)。

Query query=session.createQuery(\query.setParameter( 0 , \

36.在spring中为List类型的对象注入数据时应当采用如下格式: value1 value2 < /list >

37.在Struts2中如果某个动作使用了自定义拦截器,则必须使用 默认 拦截器,否者Sturts2的流程不能正确执行下去。

38.版本控制是一种软件工程技巧,确保由不同人所编辑的同一档案都得到更新。目前流行的版本控制软件有CVS、_SVN_____等。

39.目前流行的数据库连接池有__C3P0___、__DBCP___和JDNI等。

三、简答题

1、简述Struts的工作流程。 答:(1)客户端初始化一个指向Web容器的请求。

(2)请求经过一系列过滤器(Filter)的过滤并传递给FilterDispatcher。 (3)FilterDispatcher接收到请求信息后,会根据URL在ActionMapper中搜索指定Action的映射信息。

(4)如果找到符合的映射信息,ActionProxy通过Configuration Manager在配置文件struts.xml中搜索被请求的Action类。

(5)ActionProxy创建一个被请求Action的实例,该实例用来处理请求信息。 (6)如果在配置文件struts.xml中存在与请求Action相关的拦截器配置,那么该Action的实例被调用的前后,这些拦截器也会先被执行。

(7)Action对请求处理完毕后返回一个逻辑视图,此逻辑视图寻找对应的物理视图,并返回给客户端。 2、简述struts的工作原理。 答:struts的工作原理如下:

第一,客户端向服务器发出一个纸箱servlet容器的请求。 第二,该请求经过过滤器处理后将信息传递给action。

第三,找到相应的action后将其交给actionproxy并创建一个actioninvocation的实例。

第四,执行相应的action并返回结果。

3、关系数据库的表之间不存在继承关系,为了将面向对象中的继承关系映射关系数据库中,可以使用以下三种继承映射策略:每个继承层次一张表;每个具体类一张表;每个类一张表。试请分析三种策略在实际应用中各自的优缺点? 答:三种方式各有优缺点:

第一,每个类层次一张表优点是操作简单,执行效率高;但是表中存在额外的字段,不允许对应的字类成员作not null约束。(2分)

第二,每个具体类一张表优点是实现简单,可以为每个表的字段添加not null约束;但是每个表中都包含相同的多余字段,太多的冗余。(1分)

第三,每个类一张表优点是实现简单,可以为每个表的字段添加not null约束;

但是该数据表的结构不符合关系模型的设计规则,存在太多的冗余。(1分) 4、Hibernate是一种ORM框架,请问它的工作流程是什么? 答:Hibernate工作过程按照以下步骤进行:

(1)读取并解析配置文件:这是使用Hibernate框架的入口,由Configure类来创建。

(2)读取并解析映射信息:调用Configure中的buildSessionFactory()方法来实现,同时创建SessionFactory。(3)开启Session:调用SessionFactory的openSession()方法实现。

(4)创建事务管理对象Transaction:调用Session对象的beginTransaction()来实现。

(5)数据交互操作:调用Session对象的各种操纵数据库的方法来处理数据,如增加、删除、修改和查询等操作。(6)提交事务:完成了对数据库的操作后应该提交事务,完成一次事务处理。

(7)关闭Session:结束了对数据库的访问以后,应该立即关闭Session对象,释放其占用的内存。(8)关闭SessionFactory:完成了全部的数据库操作后关闭SessionFactory对象。

6、为了解决事务并发过程中出现的问题,数据库系统提出了一种特殊的处理方式——锁。锁有两种形式:悲观锁和乐观锁。请简述乐观锁的版本控制机制实现的具体步骤。 答:(1)首先在数据表中增加一个版本字段,如增加int类型的version字段。 (2)然后在该表对应的持久化类中增加int类型的version属性,并提供相应的get和set方法。

(3)在映射文件中配置该字段和属性的映射,配置的版本字段和属性值间的映射必须填写在字段下面。

8、Hibernate 有哪5 个核心接口?它们的作用分别是什么?

答:Configuration 接口:配置Hibernate,根据其启动hibernate,创建SessionFactory 对象; SessionFactory 接口:初始化Hibernate,充当数据存储源的代理,创建session 对象,sessionFactory 是线程安全的,意味着它的同一个实例可被应用的多个线程共享,是重量级、二级缓存; Session 接口:负责保存、更新、删除、加载和查询对象,是线程不安全的,避免多个线程共享同一个session,是轻级、一级缓存; Transaction 接口:管理事务; Query 和Criteria 接口:执行数据库的查询。 9、什么是ORM?

答:对象关系映射(Object—Relational Mapping,简称ORM)是一种为了解决面向对象与面向关系数据库存在的互不匹配的现象的技术;简单的说,ORM 是通过使用描述对象和数据库之间映射的元数据,将java 程序中的对象自动持久化到关系数据库中;本质上就是将数据从一种形式转换到另外一种形式。 10、解释数据持久化的好处? 答:数据库的读写是一个很耗费时间和资源的操作,当大量用户同时直接访问数据库的时候,效率将非常低,如果将数据持久化就不需要每次从数据库读取数据,直接在内存中对数据进行操作,这样就节约了数据库资源,而且加快了系统的反映速度。

11、谈谈您对OOP和AOP两种编程思想的认识。 答:Oop与aop两则之间既有区别也有联系

第一,Oop是面向对象的编程方式。 第二,aop是面向切面的编程方式。 第三,两则处理的对象不同。

第四,aop不是对oop的否定,而是对oop的有效补充。

12、Struts2 + Hibernate + Spring三个框架集成一起,简称为SSH。您认为这三个框架的主要内容是什么?各应用在什么地方?

答:struts2是基于MVC模式的一个web框架技术,拦截器是其重要的内容,主要应用于控制层和显示层。

hibernate是一个ORM框架,对JDBC进行了轻量级的封装,主要是对数据库的操作进行处理,主要是用在模型层及业务逻辑层。

spring是以Ioc和Aop为核心的轻量级的容器框架,主要是对程序中用到的属性进行初始化操作,对方法进行注入,对事务进行管理。应用在数据开发的整个过程中。

13.简述load()和get()的区别?

答:hibernate对于load方法认为该数据在数据库中一定存在,可以放心的使用代理来延迟加载,load默认支持延迟加载,在用到对象中的其他属性数据时才查询数据库,但是万一数据库中不存在该记录,只能抛异常ObjectNotFoundEcception;所说的load方法抛异常是指在使用该对 象的数据时,数据库中不存在该数据时抛异常,而不是在创建这个对象时。由于session中的缓存对于hibernate来说是个相当廉价的资源,所以在 load时会先查一下session缓存看看该id对应的对象是否存在,不存在则创建代理(load时候之查询一级缓存,不存在则创建代理)。

get() 现在一级缓存找,没有就去二级缓存找,没有就去数据库找,没有就返回null ;而对于get方法,hibernate一定要获取到真实的数据,否则返回null。 14、Hibernate中的update()和saveOrUpdate()的区别? 答:saveOrUpdate()做下面的工作:

如果对象已经在本session中持久化了,不做任何事 如果另一个与本session关联的对象拥有相同的持久化标识(identifier),抛出一个异常 如果对象没有持久化标识(identifier)属性,对其调用save() 如果对象的持久标识(identifier)表明其是一个新实例化的对象,对其调用save() 如果对象是附带版本信息的(通过 ) 并且版本属性的值表明其是一个新实例化的对象,save()它。 否则update() 这个对象

四、程序阅读题

1、在类MyInter中有方法intercept,请说明intercept方法中每个行代码作用。 package com.cn;

public class MyInter implements Interceptor {

public String intercept(ActionInvocation invocation) throws Exception {

Object user=ActionContext.getContext().getSession().get(\if(user!=null && user.equals(\ return invocation.invoke(); }

ActionContext.getContext().put(\您还没有登录,请登陆系统\

return \} }

答:获取session对象中的user值。

判断user的值是否为admin,如是则调用原理的动作和流程。

如user的值不是admin或为空,则把“您还没有登陆,请登陆系统”放入tip变量中。

2、有如下程序代码,请写出运行Test类后输出的结果。 // beans.xml文件部分配置信息

//类User

package com.cn; public class User { private int userid;

private String username;

setter方法和getter方法略去 }

//测试类Test package com.cn;

import org.springframework.context.ApplicationContext; import org.springframework.context.support. ClassPathXmlApplicationContext; public class Test {

public static void main(String[] args){ ApplicationContext ctx = new

ClassPathXmlApplicationContext(\ User user = (User)ctx.getBean(\ System.out.println(user.getUserid()); System.out.println(user.getUsername()); System.out.println(user.getPassword()); } } 答: 2014

}

6、现有一个程序,主要实现将一个用户的信息添加到数据库中,部分功能已经完成(Success.jsp和Fail.jsp页面省略),请编写程序将空白处的程序功能补充完整。 //register.jsp文件中的表单信息

//struts.xml文件主要配置信息

name=\ //类User

package com.model;

import javax.persistence.Entity;

import javax.persistence.GeneratedValue; import javax.persistence.Id; @Entity

public class User { @Id

@GeneratedValue private int id;

private String username; private String password;

//setter方法和getter方法略去 }

//类UserAction package com.action;

import com.opensymphony.xwork2.ActionSupport; import com.model.User;

import com.service.UserManager;

public class UserAction extends ActionSupport { private String username; private String password; private String password2;

UserManager um = new UserManager(); //setter方法和getter方法略去 @Override

public String execute() throws Exception { User u = new User(); u.setUsername(username); u.setPassword(password); if(um.exists(u)) { return \ } um.add(u); return \ } }

//类UserManager package com.service;

import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import com.model.User; public class UserManager {

//实现判断用户是否存在功能,部分代码已经完成。 public boolean exists(User u) throws Exception { Class.forName(\ Connection conn = DriverManager.getConnection (\ //exist功能

String sqlQuery = \PreparedStatement psQuery = conn.prepareStatement(sqlQuery); psQuery.setString(1, u.getUsername()); ResultSet rs = psQuery.executeQuery(); rs.next(); psQuery.close(); conn.close();

if(rs.recordCount > 0) {

}

return true; }

return false;

//实现将用户信息添加到数据库中的功能,部分代码已经完成。 public void add(User u) throws Exception { Class.forName(\ Connection conn = DriverManager.getConnection (\

//add功能

String sql = \PreparedStatement ps = conn.prepareStatement(sql); ps.setString(1, u.getUsername()); ps.setString(2, u.getPassword()); ps.executeUpdate(); ps.close(); conn.close();

}

}

本文来源:https://www.bwwdw.com/article/1dm5.html

Top