关于Oracle数据库的JDBC连接

紫青ISS 紫青ISS 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
新手。。最近在学习JSP,编写了一个非常简单的页面,并且在Oracle中建了一个叫做userinfo的表,用以记录登陆用户用户名和密码的信息。表中的属性名称和SQL表达式在java程序与PL/SQL developper中都是直接复制粘贴的,不存在这方面的问题,但是在执行
select count(*) n from userinfo where userid='kevin' and userpwd='123456'
的时候,java中显示的是0,数据库中返回1,感觉是JDBC连接的问题?

下面是JDBC相关代码:
package com.soft.MyFirstWebProject.dao;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.Map;

import javax.servlet.jsp.jstl.sql.Result;
import javax.servlet.jsp.jstl.sql.ResultSupport;

public class DbHelperImpl implements IDbhelper {
private final String DRIVER="oracle.jdbc.driver.OracleDriver";
private final String URL="jdbc:oracle:thin:@localhost:1521:XE";

private Connection getConnection(){
try{

Class.forName(DRIVER);
Connection conn=DriverManager.getConnection(URL, "Kevin", "123456");
return conn;
}catch (Exception e) {
e.printStackTrace();
return null;
}
}


public Map[] runSelect(String sql,Object[] params){
Connection conn=null;
PreparedStatement ps=null;
ResultSet rs=null;
try{
conn=getConnection();
ps=conn.prepareStatement(sql);
for(int i=0;i<params.length;i++){
ps.setObject(i+1, params[i]);
}
rs=ps.executeQuery();
Result result=ResultSupport.toResult(rs);
Map[] rows=result.getRows();
return rows;
}catch (Exception e) {
e.printStackTrace();
return null;
}finally{
try{
rs.close();
ps.close();
conn.close();
}catch (Exception e) {
e.printStackTrace();
}
}
}


public Map[] runSelect(String sql){
Connection conn=null;
PreparedStatement ps=null;
ResultSet rs=null;
try{
conn=getConnection();
ps=conn.prepareStatement(sql);
rs=ps.executeQuery();
Result result=ResultSupport.toResult(rs);
Map[] rows=result.getRows();
return rows;
}catch (Exception e) {
e.printStackTrace();
return null;
}finally{
try{
rs.close();
ps.close();
conn.close();
}catch (Exception e) {
e.printStackTrace();
}
}
}

}

JSP中写入下面代码以便在控制台检错
<%
DbHelperImpl db = new DbHelperImpl();
int i;
String sql = "select count(*) n from userinfo where userid='kevin' and userpwd='123456'";
i = Integer.valueOf(db.runSelect(sql)[0].get("n").toString());
System.out.println(i);
%>

同样的属性名与SQL语句,Oracle得到1而jsp得到0,。。不知道是为什么。。
PS:由于我之前是在eclipse中写好的代码,复制到Myeclipse中,字符集不一样,不知道是不是字符集的问题?
...全文

相关推荐

掌握JDBC连接Oracle数据库的完整步骤

Java数据库连接(JDBC)是一套允许Java程序与数据库进行通信的API。它定义了Java程序如何与数据库交互的机制,允许执行SQL语句,并返回结果。JDBC为不同的数据库管理系统提供了一个标准的接口,使得Java开发者能够使用一致的方式来操作不同的数据库系统。Oracle数据库是一个关系型数据库管理系统(RDBMS),由甲骨文公司开发,广泛应用于大型企业级应用中。它支持多种操作系统平台,以高性能、高可靠性和高安全性著称。

xiaohu wang

jdbc连接Oracle数据库

先添加jar包,找到jdbc连接oracle的jar包 @Test public void show() throws Exception { // 1.注册mysql驱动 Class.forName(&quot;oracle.jdbc.OracleDriver&quot;); // 2.通过DriverManager获取数据库的链接 ...

证证乐乐

JDBC连接oracle数据库代码

需先配置好数据库驱动百度云下载 密码:w2wi 封装一个连接Oracle数据库的类package com.muzi.unit;import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException;public class DButil { public Connection getcon

Nanximuzi

政府科技管理者如何实现科技成果信息的高效整合与动态监测?.docx

科易网基于40亿+科创知识图谱数据库,深度探索AI技术在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,研究科技创新领域的AI+数智化解决方案,推动科技创新与产业创新智能化发展。

BIZKEEN

论文复现基于欠谐振工作区间的全桥LLC变换器混合控制仿真建模与动态性能分析(Simulink仿真实现)

内容概要:本文聚焦于全桥LLC变换器在欠谐振工作区间内的混合控制策略研究,通过Simulink搭建精确的仿真模型,深入分析其动态性能表现。文章系统探讨了变频控制与移相控制相结合的协同调控机制,旨在优化变换器在不同负载与输入电压条件下的模式切换平滑性,并提升系统在宽范围工况下的动态响应速度、运行效率与整体稳定性。研究详细阐述了控制策略的设计原理、关键参数的整定方法,并通过大量的仿真对比实验,验证了所提出混合控制方案在降低开关管电压电流应力、抑制瞬态 overshoot、加快负载调整响应等方面的优越性,为高性能LLC谐振变换器的设计与工程化应用提供了坚实的理论依据和有效的技术路径。; 适合人群:具备扎实的电力电子技术基础,从事高频开关电源、DC-DC变换器拓扑与控制算法研发的工程师,以及电力电子与电力传动等相关专业的高校研究生。; 使用场景及目标:①深入理解全桥LLC变换器在欠谐振区的独特工作机理与挑战;②学习并掌握先进的变频-移相混合控制策略,以解决传统控制方式下模式切换不平滑的问题;③利用Simulink平台复现并验证高效的控制算法,服务于高水平学术论文的撰写或高效率电源产品的开发项目。; 阅读建议:建议读者在Matlab/Simulink环境中动手复现文中的仿真模型,重点关注控制环路的构建逻辑与核心参数的优化过程,通过设置不同的输入电压和负载扰动场景进行测试,对比分析仿真结果,从而深刻把握LLC变换器的动态行为规律与控制策略的优化精髓。

稷下科研社
评论 10
收藏 已收藏
分享
返回顶部
紫青ISS
Web 开发 81,108 成员 341,721 内容