cmp管理的EJB查询语言问题

zhanglarch 2003-10-15 04:43:42
在cmp管理的EJB如何写查询语句。就是在EJB Designer 的query中的查询语句如何写!查询条件是单个的我已经实现,但是如果条件是多个条件如何实现阿!
单个条件:select object(u) from UserInfo as u where u.name=?1(成功)
多个条件:select object(u) from UserInfo as u where u.name=?1 and u.old=?2;(错误不正确!)
多个条件:select object(u) from UserInfo as u where u.name=?1 ,u.old=?2(错误不正确!)

请帮帮忙!
...全文
39 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
lzl123 2003-10-15
  • 打赏
  • 举报
回复
这不是查询语句的错误,很可能是类的版本错误.比如一个类中调用了另一个类的方法,但那个方法因为特殊原因已经去掉了.看看你的FormSubmit.java第46行吧,其中调用的方法出问题了
zhanglarch 2003-10-15
  • 打赏
  • 举报
回复
时不是jboss服务器的错误啊!
zhanglarch 2003-10-15
  • 打赏
  • 举报
回复
但是我的不成功啊!出现的错误:(我用的是:jboss+jbuilder 9+sql server2000),帮帮忙!
HTTP-Status 500

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

javax.servlet.ServletException: Servlet execution threw an exception
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.jboss.web.catalina.security.JBossSecurityMgrRealm.invoke(JBossSecurityMgrRealm.java:227)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:246)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2415)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:509)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:594)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:392)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:565)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:619)
at java.lang.Thread.run(Thread.java:536)


root cause

java.lang.NoSuchMethodError: larchfirstejb2.UserInfoHome.findMethod1(Ljava/lang/String;Ljava/lang/String;)Llarchfirstejb2/UserInfo;
at larchfirstejb2.FormSubmit.doPost(FormSubmit.java:46)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.jboss.web.catalina.security.JBossSecurityMgrRealm.invoke(JBossSecurityMgrRealm.java:227)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:246)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2415)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:509)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:594)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:392)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:565)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:619)

lzl123 2003-10-15
  • 打赏
  • 举报
回复
第二个是正确的,不过没有那个";"
首页 作者序 第一部分 介绍 第1章总括 一.分布式得多层应用程序 二.J2EE容器 三.打包J2EE组件 四.开发者角色 五.本书所用的软件 第2章动手做一个EJB 一.准备工作 二.创建J2EE应用程序 三.创建企业Bean 四.创建J2EE应用程序客户端 五.创建Web客户端 六.设置企业Bean的JNDI名 七.部署J2EE应用程序 八.运行J2EE应用程序客户端 九.运行Web客户端 十.修改J2EE应用程序 十一常见问题和解决方法 第二部分 EJB技术 第3章 企业Bean 一、企业Bean概述 二、会话Bean 三、EntityBean 四、Message-Driven Bean 五、定义客户端访问接口 六、企业Bean的“内容” 七、企业Bean的命名约定 八、企业Bean的生存周期 第4章 有状态会话Bean示例 一.购物车会话Bean CartEJB 二.其他的企业Bean特性 第5章 BMP的例子 一.SavingsAccountEJB 二.用deploytool部署BMP实现的实体Bean 三.为BMP映射表间关系 四.BMP的主键 五.异常处理 第6章 CMP的例子 一、RosterApp应用概述 二、layerEJB代码分析 三、RosterApp配置说明 四、RosterApp中的方法调用 五、运行RosterApp应用程序 六、用deploytool工具部署CMP实现的实体Bean 七、CMP的主键 第7章 一个消息驱动Bean的例子 一.例子应用程序介绍 二.J2EE应用程序客户端 三.消息驱动Bean类 四.运行本例子 五.用deploytool部署消息驱动Bean 六.用deploytool配置JMS客户端 第8章 EJB查询语言 一.术语 二.简单语法 三.查询例子 四.全部语法 五.EJB QL的限制 第三部分 Web技术 第9章 网络客户端及组件 第10章 Java Servlet技术 第11章 JSP技术 第12章 JSP页面中的JavaBean组件 第13章 在JSP页面中自定义标签 第14章 事务 一.什么是事务 二.容器管理事务 三.Bean管理事务 四.企业Bean事务摘要 五.事务超时 六.隔离级别 七.更新多个数据库 八.Web 组件事务 第15章 安全 一.纵览 二.安全角色 三.Web层安全 四.EJB层安全 五.应用程序客户端层安全 六.EIS(Enterprise Information System)层安全 七.传递安全身份 八.J2EE用户、域和组 九.安装服务器证书 第16章 资源连接 一.JNDI名和资源引用 二.数据库连接 三.邮件服务连接 四.URL资源连接
准备工作 8 第1章 总 括 9 一.分布式得多层应用程序 9 二.J2EE容器 11 三.打包J2EE组件 12 四.开发者角色 13 五.本书所用的软件 14 第2章 动手做一个EJB 17 一.准备工作 18 二.创建J2EE应用程序 19 三.创建企业Bean 19 四.创建J2EE应用程序客户端 22 五.创建Web客户端 25 六.设置企业Bean的JNDI名 27 七.部署J2EE应用程序 28 八.运行J2EE应用程序客户端 29 九.运行Web客户端 29 十.修改J2EE应用程序 30 十一。常见问题和解决方法 31 第3章 企业Bean 35 1,企业Bean概述 36 2,会话Bean 36 3,EntityBean 38 4,Message-Driven Bean 40 5.定义客户端访问接口 42 6,企业Bean的“内容” 45 7,企业Bean的命名约定 46 8,企业Bean的生存周期 46 第4章 有状态会话Bean示例 51 1.购物车会话Bean CartEJB 51 二 其他的企业Bean特性 58 第5章 BMP的例子 62 一.SavingsAccountEJB 62 二.用deploytool部署BMP实现的实体Bean 74 三.为BMP映射表间关系 74 四.BMP的主键 85 五.异常处理 88 第6章 CMP的例子 89 一 RosterApp应用概述 90 二 layerEJB代码分析 90 三.RosterApp配置说明 95 四 RosterApp中的方法调用 102 五 运行RosterApp应用程序 109 六 用deploytool工具部署CMP实现的实体Bean 110 七 CMP的主键 110 第7章 一个消息驱动Bean的例子 113 一.例子应用程序介绍 113 二.J2EE应用程序客户端 114 三.消息驱动Bean类 115 四.运行本例子 116 五.用deploytool部署消息驱动Bean 117 六.用deploytool配置JMS客户端 118 第8章 EJB查询语言 120 一.术语 120 二.简单语法 121 三.查询例子 121 四.全部语法 124 五.EJB QL的限制 137 第9章 网络客户端及组件 139 第11章 JSP技术 165 第12章 JSP页面中的JavaBean组件 178 第13章 在JSP页面中自定义标签 182 第14章 事务 202 一.什么是事务 202 二.容器管理事务 203 三.Bean管理事务 208 四.企业Bean事务摘要 211 五.事务超时 211 六.隔离级别 212 七.更新多个数据库 212 八.Web 组件事务 214 第15章 安全 215 一.纵览 215 二.安全角色 216 三.Web层安全 217 四.EJB层安全 219 五.应用程序客户端层安全 220 六.EIS(Enterprise Information System)层安全 221 七.传递安全身份 223 八.J2EE用户、域和组 224 九.安装服务器证书 225 第16章 资源连接 227 一.JNDI名和资源引用 227 二.数据库连接 230 三.邮件服务连接 232 四.URL资源连接 234 第17章 DUKE的银行应用程序 236
目录 前言 第1部分 介绍数据库、SQL和JDBC 第1章 关系型数据库 1.1 理解关系型数据库管理系统 1.1.1 关系模型 1.1.2 Codd法则 1.1.3 表、行、列和关键字 1.1.4 主键 1.1.5 外键 1.1.6 关系 1.1.7 视图 1.1.6 范式化 1.2 高级语言 1.2.1 结构化查询语言 1.2.2 数据定义语言 1.2.3 数据处理语言 1.2.4 数据查询语言 1.3 事务管理和事务控制命令 1.3.1 ACID测试 1.3.2 SQL中的事务管理 1.4 数据库安全和数据控制语言 1.4.1 管理数据库用户 1.4.2 用户权限 1.4.3 用户组和角色 1.5 数据库体系结构 1.5.1 Java数据对象 1.5.2 两层模型 1.5.3 三层模型 1.6 小结 第2章 设计数据库 2.1 数据库设计应考虑的事项 2.1.1 项目规范 2.1.2 设计表 2.1.3 生成发票 2.2 引用完整性 2.2.1 通用完整性规则 2.2.2 特定于数据库的完整性规则 2.3 小结 第3章 SQL基础 3.1 SQL语言 3.2 SQL数据类型 3.3 数据定义语言 3.3.1 创建、取消、更改数据库和表 3.3.2 创建、更改和取消视图 3.4 数据处理语言 3.4.1 INSERT语句 3.4.2 UPDATE语句 3.4.3 DELETE语句 3.5 数据查询语言 3.5.1 SELECT语句 3.5.2 WHERE子句 3.5.3 SQL运算符 3.5.4 使用子查询 3.6 对查询结果排序 3.7 将查询结果进行汇总 3.7.1 集合函数 3.7.2 使用HAVING子句来筛选组 3.7.3 使用索引提高SQL查询效率 3.7.4 格式化SQL命令 3.7.5 使用SQL连接 3.7.6 编写SQL的JOIN命令 3.7.7 使用UNION运算符进行组合查询 3.8 数据控制语言 3.8.1 管理用户 3.8.2 授予和取消用户权限 3.9 创建和使用存储过程 3.9.1 在存储过程中使用输入参数 3.9.2 存储过程中使用输出参数 3.10 小结 第4章 JDBC入门 4.1 什么是JDBC 4.2 两层和三层模型 4.2.1 两层模型 4.2.2 三层模型 4.3 SQL的一致性 4.4 JDBC兼容性 4.5 JDBC如何工作 4.5.1 DriverManager 4.5.2 JDBC DataSource 4.5.3 DataSource对象和JNDI 4.5.4 部署和使用DataSource的基本实现 4.6 连接池 4.7 分布式事务处理 4.7.1 分布式事务管理 4.7.2 Connection对象 4.8 SQL语句 4.8.1 Statement对象 4.8.2 PreparedStatement语句 4.8.3 CallableStatement 4.9 事务 4.9.1 事务独立性等级 4.9.2 事务存储点 4.9.3 多线程 4.10 批更新 4.11 ResultSet 4.12 可滚动的ResultSet 4.12.1 创建可滚动的ResultSet 4.12.2 游标控制 4.12.3 将游标移动到指定行 4.12.4 获得游标位置
目录 前言 第1部分 介绍数据库、SQL和JDBC 第1章 关系型数据库 1.1 理解关系型数据库管理系统 1.1.1 关系模型 1.1.2 Codd法则 1.1.3 表、行、列和关键字 1.1.4 主键 1.1.5 外键 1.1.6 关系 1.1.7 视图 1.1.6 范式化 1.2 高级语言 1.2.1 结构化查询语言 1.2.2 数据定义语言 1.2.3 数据处理语言 1.2.4 数据查询语言 1.3 事务管理和事务控制命令 1.3.1 ACID测试 1.3.2 SQL中的事务管理 1.4 数据库安全和数据控制语言 1.4.1 管理数据库用户 1.4.2 用户权限 1.4.3 用户组和角色 1.5 数据库体系结构 1.5.1 Java数据对象 1.5.2 两层模型 1.5.3 三层模型 1.6 小结 第2章 设计数据库 2.1 数据库设计应考虑的事项 2.1.1 项目规范 2.1.2 设计表 2.1.3 生成发票 2.2 引用完整性 2.2.1 通用完整性规则 2.2.2 特定于数据库的完整性规则 2.3 小结 第3章 SQL基础 3.1 SQL语言 3.2 SQL数据类型 3.3 数据定义语言 3.3.1 创建、取消、更改数据库和表 3.3.2 创建、更改和取消视图 3.4 数据处理语言 3.4.1 INSERT语句 3.4.2 UPDATE语句 3.4.3 DELETE语句 3.5 数据查询语言 3.5.1 SELECT语句 3.5.2 WHERE子句 3.5.3 SQL运算符 3.5.4 使用子查询 3.6 对查询结果排序 3.7 将查询结果进行汇总 3.7.1 集合函数 3.7.2 使用HAVING子句来筛选组 3.7.3 使用索引提高SQL查询效率 3.7.4 格式化SQL命令 3.7.5 使用SQL连接 3.7.6 编写SQL的JOIN命令 3.7.7 使用UNION运算符进行组合查询 3.8 数据控制语言 3.8.1 管理用户 3.8.2 授予和取消用户权限 3.9 创建和使用存储过程 3.9.1 在存储过程中使用输入参数 3.9.2 存储过程中使用输出参数 3.10 小结 第4章 JDBC入门 4.1 什么是JDBC 4.2 两层和三层模型 4.2.1 两层模型 4.2.2 三层模型 4.3 SQL的一致性 4.4 JDBC兼容性 4.5 JDBC如何工作 4.5.1 DriverManager 4.5.2 JDBC DataSource 4.5.3 DataSource对象和JNDI 4.5.4 部署和使用DataSource的基本实现 4.6 连接池 4.7 分布式事务处理 4.7.1 分布式事务管理 4.7.2 Connection对象 4.8 SQL语句 4.8.1 Statement对象 4.8.2 PreparedStatement语句 4.8.3 CallableStatement 4.9 事务 4.9.1 事务独立性等级 4.9.2 事务存储点 4.9.3 多线程 4.10 批更新 4.11 ResultSet 4.12 可滚动的ResultSet 4.12.1 创建可滚动的ResultSet 4.12.2 游标控制 4.12.3 将游标移动到指定行 4.12.4 获得游标位置 4.13 可更新的ResultSet 4.13.1 更新ResultSet 4.13.2 插入一新行 4.13.3 删除行 4.14 观察ResultSet中的变化 4.15 RowSet对象 4.16 创建RowSet和设置属性 4.16.1 RowSet事件 4.17 元数据 4.17.1 DatabaseMetaData 4.17.2 ResultSetMetaData 4.17.3 ParameterMetaData方法 4.18 SQL数据类型的JDBC映射 4.19 SQL3数据类型 4.19.1 对象关系型数据库 4.19.2 使用SQL3数据类型 4.19.3 创建用户定义的数据类型 4.20 异常和日志 4.20.1 SQLException 4.20.2 SQLWarning 4.20.3 BatchUpdateException 4.20.4 日志 4.21 小结 第2部分 在两层客户/服务器结构中使用JDBC和SQL 第5章 使用JDBC和SQL创建表 5.1 创建数据库 5.2 使用表 5.2.1 记录和字段、行和列 5.2.2 SQL数据类型 5.2.3 完整性约束 5.3 创建表 5.4 使用JDBC创建表 5.4.1 DriverManager 5.4.2 驱动程序 5.4.3 连接 5.4.4 Statement 5.5 使用ALTER TABLE改变表 5.6 删除或取消表 5.7 创建基于Swing的表构建器 5.7.1 控制程序 5.7.2 视图 5.7.3 模型 5.8 小结 第6章 插入、更新和删除数据 6.1 使用SQL INSERT插入数据 6.1.1 INSERT语句 6.1.2 使用带有JDBC的INSERT 6.1.3 使用INSERT SELECT 6.2 UPDATE语句 6.2.1 在UPDATE中使用经计算的值 6.2.2 UPDATE的常见问题 6.3 带有提交和回滚的事务管理 6.4 DELETE语句 6.5 基于Swing的表编辑器 6.5.1 TableEditFrame 6.5.2 Controller类 6.6 JDBC ResultSetMetaData 6.7 小结 第7章 使用SQL查询检索数据 7.1 SELECT语句 7.1.1 使用WHERE子句 7.1.2 格式化SQL命令 7.2 在较复杂的WHRER子句中使用运算符 7.2.1 DISTINCT运算符 7.2.2 TOP运算符 7.2.3 比较运算符 7.2.4 CHAR和VARCHAR运算符 7.2.5 逻辑运算符 7.2.6 算术运算符 7.2.7 混合运算符:IN和BETWEEN 7.2.8 集合运算符 7.3 转义序列 7.4 子查询 7.4.1 使用ANY,SOME和ALL谓词 7.4.2 使用IN和NOT IN谓词 7.4.3 使用EXISTS和NOT EXISTS谓词 7.4.4 嵌套子查询 7.4.5 测试子查询 7.5 子查询的额外用途 7.5.1 在SELECT列表中使用子查询 7.5.2 使用带有INSERT命令的子查询 7.5.3 使用带有UPDATE命令的子查询 7.5.4 使用带有DELETE命令的子查询 7.5.5 关联子查询 7.6 JDBC ResultSet 7.6.1 ResultSetMetaData 7.6.2 使用具有JDBC的SELECT来返回RecordSet 7.7 基于Swing的SQL查询面板 7.7.1 View菜单 7.7.2 TableQueryFrame 7.8 JDBC代码 7.9 小结 第8章 组织查询结果和使用索引 8.1 使用ORDER BY对查询结果进行排序 8.2 GROUP BY子句 8.3 聚合函数 8.4 使用HAVING子句筛选组 8.5 使用索引来提高SQL查询的性能 8.6 视图 8.7 小结 第9章 连接和组合查询 9.1 连接表 9.1.1 连接的类型 9.2 键 9.2.1 主键 9.2.2 外键 9.3 使用内连接 9.3.1 使用等连接 9.3.2 使用非等连接 9.4 使用外连接 9.4.1 左外连接 9.4.2 右外连接 9.4.3 全外连接 9.4.4 使用NOT EXISTS 9.5 使用自连接 9.6 使用UNION运算符合并查询 9.6.1 EXCEPT运算符 9.6.2 INTERSECT运算符 9.7 小结 第10章 构建一个客户/服务器应用程序 10.1 使用不同的数据库和驱动程序 10.1.1 扩展的DBManager类 10.2 使用DatabaseMetaData 10.3 检索与数据库相关的信息 10.3.1 在JTree中显示DatabaseMetaData 10.4 检索有关RDBMS功能性的信息 10.5 使用ResultSetMetaData 10.6 小结 第3部分 三层Web站点与JDBC 第11章 构建会员Web站点 11.1 设计一个多层系统 11.2 功能性需求 11.3 设计数据库 11.3.1 处理会员登录 11.3.2 会员注册 11.3.3 数据输入 11.3.4 搜索数据库 11.3.5 数据库驱动的电子邮件 11.4 小结 第12章 通过servlet和JSP使用JDBC DataSource 12.1 使用JDBC DataSource 12.2 使用servlet创建动态Web页面 12.2.1 创建一个简单的servlet 12.3 创建和配置Lo9in servlet 12.3.1 实现会员Web站点 12.3.2 创建Login页面 12.3.3 创建servlet 12.3.4 部署 12.4 使用JSP 12.4.1 在JSP中使用JavaBean 12.4.2 自动类型转换 12.4.3 创建和部署JDBC LoginBean 12.5 小结 第13章 使用PreparedStatement和CallableStatement 13.1 创建和使用PreparedStatement 13.1.1 创建PreparedStatement对象 13.1.2 在循环中使用PrenaredStatement 13.1.3 PreparedStatement返回的值 13.2 创建和使用CallableStatement 13.2.1 创建存储过程 13.2.2 调用存储过程 13.2.3 使用JSP Bean中的存储过程 13.2.4 ProcessNABean的作用 13.2.5 错误处理 13.2.6 使用存储过程作为输入和输出参数 13.3 小结 第14章 使用Blob和Clob管理图像和文档 14.1 大对象 14.1.1 使用Blob存储二进制数据 14.1.2 使用Clob存储文本数据 14.2 从浏览器上载图像或文档 14.2.1 用于从DBMS下载大对象的servlet 14.3 小结 第15章 使用JSP,XSL和可滚动的ResultSet显示数据 15.1 可滚动的ResultSet 15.1.1 创建一个可滚动ResultSet 15.1.2 在可滚动ResultSet中移动游标 15.1.3 使用可滚动ResultSet创建一个搜索页面 15.2 使用XSL从SQL查询中创建网页 15.2.1 XSLT如何工作 15.2.2 从数据库中检索的数据作为XML文档 15.2.3 使用XSL样式表转换XML 15.2.4 在JSP页面中使用XSL转换 15.3 使用具有XSL样式表的可更新ResultSet 15.4 小结 第16章 使用JDBC驱动的JavaMail API 16.1 使用电子邮件协议 16.1.1 MIME协议 16.1.2 SMTP协议 16.1.3 POP协议 16.2 使用JavaMail API 16.3 使用JDBC驱动的JavaMail发送电子邮件信息 16.3.1 使用JSP页面和JavaMail发送电子邮件 16.3.2 使用有SendMailBean的JSP页面 16.3.3 部署 16.4 使用JavaMail API接收电子邮件 16.5 小结 第4部分 数据库、JDBC和XML 第17章 XML文档对象模型和JDBC 17.1 XML与HTML 17.2 XML和文档对象模型 17.2.1 XML标题 17.2.2 标记和属性 17.2.3 元素和节点 17.3 使用Java XML API——Xerces和JDOM 17.4 将Xbean作为可插入的XML处理模块 17.5 查询数据库创建XML文档 17.6 XML数据源填充数据库 17.7 小结 第18章 用RowSet显示数据 18.1 理解RowSet 18.1.1 创建和应用RowSet 18.1.2 使RowSet可滚动和可更新 18.1.3 更新RowSet 18.1.4 插入新行 18.1.5 删除行 18.1.6 查看可更新RowSet所做的修改 18.1.7 RowSet事件 18.2 未连接的RowSet 18.2.1 在PDA中使用CachedRowSet 18.2.2 客户端代码 18.3 根据RowSet生成XML 18.4 小结 第19章 用SQL访问XML文档 19.1 用SQL访问XML文档的原因 19.2 创建可访问JDBC的XML DBMS 19.2.1 实现基类 19.2.2 实现JDBC类 19.2.3 XMLResultSet 19.2.4 实现SQL引擎 19.2.5 测试JDBC/XML数据库 19.3 小结 第5部分 EJB、数据库和持久性 第20章 EJB 20.1 EJB简述 20.2 会话bean 20.2.1 无状态会话Bean 20.2.2 无状态会话Bean 20.3 实体Bean 20.3.1 主键 20.3.2 持久性存储 20.4 消息驱动bean 20.5 EJB事务 20.5.1 容器管理的事务 20.5.2 bean管理的事务 20.6 小结 第21章 bean管理的持久性 21.1 实体对象持久性 21.2 bean管理的持久性 21.2.1 主键 21.2.2 通过实体bean创建和删除实体对象 Z1.2.3 查找实体对象 21.2.4 bean实例变量的同步和持久性对象的状态 Z1.2.5 业务方法 21.3 BMP实体bean示例——MemberEJB 21.4 使用值对象获得更佳性能 21.5 小结 第22章 容器管理的持久性 22.1 CMP实体bean——EJB 2.0之后的新生品 22.2 CMP EJB开发 22.2.1 主接口和远程接口 22.2.2 用最少的代码实现类 22.3 EJB查询语言 22.4 运行示例应用程序 22.5 容器管理的关系 22.5.1 关系字段 22.5.2 关系的基数和方向 22.5.3 访问关系字段 22.6 小结 第23章 Java数据对象和透明持久性 23.1 JDO的透明持久性 23.2 什么使JDO成为独特的持久性机制 23.3 主要的JDO API 23.3.1 PersistenceCapable接口 23.3.2 PersistenceManagerFactory接口 23.3.3 PersistenceManager接口 23.3.4 Query接口 23.3.5 Transaction接口 23.4 测试客户示例 23.5 对复杂域对象模型的支持 23.6 JDO应用程序开发过程 23.7 JDO与J2EE框架集成 23.8 小结 第6部分 数据库管理 第24章 用户管理和数据库的安全性 24.1 组、用户和角色 24.1.1 对组进行操作 24.1.2 对用户进行操作 24.2 理解数据库模式 24.3 管理模式 24.4 用户权限 24.5 用户角色 24.5.1 所有权限 24.5.2 GRANT命令 24.5.3 REVOKE命令 24.6 小结 第25章 性能调整 25.1 数据库调整 25.1.1 语句调整 25.1.2 调整连接 25.1.3 调整索引 25.2 修改数据库方案 25.2.1 范式化 25.2.2 反向范式化 25.2.3 多数据表 25.3 产生冗余数据 25.4 使用导出列和导出表 25.5 数据划分 25.5.1 水平划分 25.5.2 垂直划分 25.6 使用视图 25.7 持续监控 25.8 小结 附录A SQL语法简明指南 附录B 安装Apache和Tomcat
目录 前言 第1部分 介绍数据库、SQL和JDBC 第1章 关系型数据库 1.1 理解关系型数据库管理系统 1.1.1 关系模型 1.1.2 Codd法则 1.1.3 表、行、列和关键字 1.1.4 主键 1.1.5 外键 1.1.6 关系 1.1.7 视图 1.1.6 范式化 1.2 高级语言 1.2.1 结构化查询语言 1.2.2 数据定义语言 1.2.3 数据处理语言 1.2.4 数据查询语言 1.3 事务管理和事务控制命令 1.3.1 ACID测试 1.3.2 SQL中的事务管理 1.4 数据库安全和数据控制语言 1.4.1 管理数据库用户 1.4.2 用户权限 1.4.3 用户组和角色 1.5 数据库体系结构 1.5.1 Java数据对象 1.5.2 两层模型 1.5.3 三层模型 1.6 小结 第2章 设计数据库 2.1 数据库设计应考虑的事项 2.1.1 项目规范 2.1.2 设计表 2.1.3 生成发票 2.2 引用完整性 2.2.1 通用完整性规则 2.2.2 特定于数据库的完整性规则 2.3 小结 第3章 SQL基础 3.1 SQL语言 3.2 SQL数据类型 3.3 数据定义语言 3.3.1 创建、取消、更改数据库和表 3.3.2 创建、更改和取消视图 3.4 数据处理语言 3.4.1 INSERT语句 3.4.2 UPDATE语句 3.4.3 DELETE语句 3.5 数据查询语言 3.5.1 SELECT语句 3.5.2 WHERE子句 3.5.3 SQL运算符 3.5.4 使用子查询 3.6 对查询结果排序 3.7 将查询结果进行汇总 3.7.1 集合函数 3.7.2 使用HAVING子句来筛选组 3.7.3 使用索引提高SQL查询效率 3.7.4 格式化SQL命令 3.7.5 使用SQL连接 3.7.6 编写SQL的JOIN命令 3.7.7 使用UNION运算符进行组合查询 3.8 数据控制语言 3.8.1 管理用户 3.8.2 授予和取消用户权限 3.9 创建和使用存储过程 3.9.1 在存储过程中使用输入参数 3.9.2 存储过程中使用输出参数 3.10 小结 第4章 JDBC入门 4.1 什么是JDBC 4.2 两层和三层模型 4.2.1 两层模型 4.2.2 三层模型 4.3 SQL的一致性 4.4 JDBC兼容性 4.5 JDBC如何工作 4.5.1 DriverManager 4.5.2 JDBC DataSource 4.5.3 DataSource对象和JNDI 4.5.4 部署和使用DataSource的基本实现 4.6 连接池 4.7 分布式事务处理 4.7.1 分布式事务管理 4.7.2 Connection对象 4.8 SQL语句 4.8.1 Statement对象 4.8.2 PreparedStatement语句 4.8.3 CallableStatement 4.9 事务 4.9.1 事务独立性等级 4.9.2 事务存储点 4.9.3 多线程 4.10 批更新 4.11 ResultSet 4.12 可滚动的ResultSet 4.12.1 创建可滚动的ResultSet 4.12.2 游标控制 4.12.3 将游标移动到指定行 4.12.4 获得游标位置

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧