1.
无法在request间传值
//response.sendRedirect("datagrid.jsp");
可在request间传值
RequestDispatcher rd =request.getRequestDispatcher("datagrid.jsp");
rd.forward(request, response);
2.配置c 标签
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_4.xsd" id="WebApp_ID" version="2.4">
<display-name>do</display-name>
<welcome-file-list>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<taglib>
<taglib-uri>http://java.sun.com/jstl/core</taglib-uri>
<taglib-location>/WEB-INF/tld/c.tld</taglib-location>
</taglib>
<servlet>
<servlet-name>ViewUserInfo</servlet-name>
<servlet-class>com.butone.servlet.ViewUserInfo</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ViewUserInfo</servlet-name>
<url-pattern>/ViewUserInfo</url-pattern>
</servlet-mapping>
</web-app>
获得值
<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>
<c:forEach items="${list}" var="list">
<c:out value="${list.ID}" /><c:out value="${list.USERNAME}" /><br/>
</c:forEach>
3.db2 8 jdbc
/*
* 创建日期 2012-5-19
*
* 更改所生成文件模板为
* 窗口 > 首选项 > Java > 代码生成 > 代码和注释
*/
package com.butone.common;
/**
* @author Administrator
*
* 更改所生成类型注释的模板为
* 窗口 > 首选项 > Java > 代码生成 > 代码和注释
*/
import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Properties;
public class CommonJdbc {
// jdbc连接对象
private Connection conn;
// 操作对象
private PreparedStatement pst;
// 结果集对象
private ResultSet rs;
// 配置文件对象
// 返回配置文件对象
public static Properties getProperties() {
Properties prop = new Properties();
InputStream in = null;
try {
in = CommonJdbc.class.getResourceAsStream("jdbcconfig.properties");
// in =
// TestMysql.class.getResourceAsStream("jdbc_mysqlCofing.properties");
prop.load(in);
} catch (Exception e) {
e.printStackTrace();
return null;
} finally {
if (in != null) {
try {
in.close();
} catch (IOException eio) {
eio.printStackTrace();
}
}
}
return prop;
}
/*
* 打开数据库并创建连接对象 true 成功 false失败
*/
public boolean openConn() {
boolean isPass = false;
// 从配置文件获得jdbc链接
Properties props = getProperties();
String driver = props.getProperty("driver");
String url = props.getProperty("url");
String username = props.getProperty("username");
String password = props.getProperty("password");
try {
Class.forName(driver);
conn = DriverManager.getConnection(url, username, password);
isPass = true;
} catch (ClassNotFoundException nfe) {
closeAll();
nfe.printStackTrace();
System.out.println("Database connection false!");
isPass = false;
} catch (SQLException se) {
closeAll();
se.printStackTrace();
isPass = false;
}
return isPass;
}
/*
* 新增和修改 操作一张表
*/
public boolean excuteUpdate(String sql) {
boolean isPassed = false;
// 判断数据库是否连通
if (openConn()) {
try {
conn.setAutoCommit(false);
pst = conn.prepareStatement(sql);
pst.execute();
conn.commit();
isPassed = true;
} catch (SQLException e) {
// TODO Auto-generated catch block
System.out.print("SQL:" + sql);
e.printStackTrace();
} finally {
closeAll();
}
}
return isPassed = true;
}
/*
* 新增或者更新多个表 数组
*/
public boolean excuteUpdate(String[] sql) {
boolean isPassed = false;
if (openConn()) {
try {
conn.setAutoCommit(false);
for (int i = 0; i < sql.length; i++) {
pst = conn.prepareStatement(sql[i]);
pst.execute();
conn.commit();
isPassed = true;
}
} catch (SQLException e) {
// TODO Auto-generated catch block
try {
conn.rollback();
} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
for (int i = 0; i < sql.length; i++) {
System.out.println("SQL:" + sql);
}
e.printStackTrace();
} finally {
closeAll();
}
}
return isPassed;
}
/*
* 新增或者更新多个表 List
*/
public boolean excuteUpdate(List sql) {
boolean isPassed = false;
if (openConn()) {
try {
conn.setAutoCommit(false);
for (int i = 0; i < sql.size(); i++) {
pst = conn.prepareStatement(sql.get(i).toString());
pst.execute();
conn.commit();
isPassed = true;
}
} catch (SQLException e) {
// TODO Auto-generated catch block
try {
conn.rollback();
} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
for (int i = 0; i < sql.size(); i++) {
System.out.println("SQL:" + sql);
}
e.printStackTrace();
} finally {
closeAll();
}
}
return isPassed;
}
/*
* 返回结果集ResuletSet
*/
public ResultSet executeQuery(String sql) {
ResultSet rs = null;
if (openConn()) {
try {
pst = conn.prepareStatement(sql);
rs = pst.executeQuery();
} catch (SQLException e) {
// TODO Auto-generated catch block
closeAll();
System.out.print("SQL:" + sql);
System.out.println("ERROR:Databse disconnected!");
e.printStackTrace();
}
}
return rs;
}
/**
* get list
* @param sql
* @return
*/
public List executeQueryList(String sql) {
ResultSet rs = null;
ArrayList list = new ArrayList();
if (openConn()) {
try {
pst = conn.prepareStatement(sql);
rs = pst.executeQuery();
if (rs == null)
return Collections.EMPTY_LIST;
// 结构信息,比如字段数、字段名等
ResultSetMetaData md = rs.getMetaData();
// 对象中的列数
int columnCount = md.getColumnCount();
Map rowData = new HashMap();
while (rs.next()) {
rowData = new HashMap(columnCount);
for (int i = 1; i <= columnCount; i++) {
rowData.put(md.getColumnName(i), rs.getObject(i));
}
list.add(rowData);
}
System.out.println("list:" + list.toString());
} catch (SQLException e) {
closeAll();
System.out.print("SQL:" + sql);
System.out.println("ERROR:Databse disconnected!");
e.printStackTrace();
}
}
return list;
}
/*
* closeAll()关闭所有数据库链接对象
*/
public void closeAll() {
if (conn != null) {
try {
conn.close();
conn = null;
} catch (SQLException sqle) {
sqle.printStackTrace();
}
}
if (pst != null) {
try {
conn.close();
conn = null;
} catch (SQLException sqle) {
sqle.printStackTrace();
}
}
if (rs != null) {
try {
rs.close();
rs = null;
} catch (SQLException sqle) {
sqle.printStackTrace();
}
}
}
}
jdbcconfig.properties
driver=com.ibm.db2.jcc.DB2Driver
url=jdbc:db2://localhost:50000/jmyxcs
username=erpyxusr
password=erpyxusr
4.db2 jar
db2jcc_license_cu.jar
db2jcc.jar
jstl.jar
standard.jar
分享到:
相关推荐
实现java jsp与DB2数据库连接,并解决java jsp与DB2数据库连接提示出错 解决异常代码:java.lang.UnsatisfiedLinkError: no db2jdbc in java.library.path
纯java jdbc驱动程序是独立的连接驱动程序,与数据库实现通信的整个过程均有java语言实现,将所上传的文件解压,db2jcc.jar、db2jcc_license_cu.jar:DB2;ojdbc14.jar:oracle
JDBC是由java编程语言编写的类及接口组成,同时它为程序开发人员提供了一组用于实现对数据库访问的JDBC ...利用JDBC可以将JAVA代码连接到oracle、DB2、SQLServer、MYSQL等数据库,从而实现对数据库中的数据操作的目的。
JDBC数据库操作乱码非主流解决方案---JDBC连接驱动代理 以驱动的方式提供给使用方,在底层实现连接的代理管理功能,向使用者隐藏 实现过程以及无缝的过渡 你需要了解下列参数: proxy.driver= (必须)实际要连接...
DB2数据库可以通过使用微软的开放数据库连接(ODBC)接口,Java数据库连接(JDBC)接口,或者CORBA接口代理被任何的应用程序访问。 2006年7月14日,IBM全球同步发布了一款具有划时代意义的数据库产品——DB2 9(...
可以实现所有的XML解析,通过JDBC连接ORACLE,SQL SERVER,MYSQL,DB2等数据库,是一个通用的连接池.
支持JDBC连接ORACLE、DB2、SQL Server,将其模拟为MySQL Server使用; 支持galera for mysql集群,percona-cluster或者mariadb cluster,提供高可用性数据分片集群; 自动故障切换,高可用性; 支持读写分离,支持...
DBJ.jar 一个用于替换本机JDBC协议的JAR文件,可以通过调用某些方法来连接到数据库,因此用户只需在功能中提供凭据和参数,DBJ即可处理其余部分(连接,驱动程序管理器,准备好的语句) ,结果集等)要求为了构建和...
Mycat目前支持JDBC连接后端数据库,理论上支持任何数据库,如ORACLE、DB2、SQL Server等,是将其模拟为MySQL,所以对其他数据库只支持标准的SQL语句,而对NoSQL的支持,是封装NoSQL API 基于JDBC的实现。
8.2 相关知识 8.2.1 数据库访问技术简介 8.2.2 JDBC连接数据库 8.3.3 执行SQL操作 Java高级程序设计实战教程第八章-Java数据库编程全文共12页,当前为第3页。 8.2.1 数据库访问技术简介 数据库中的数据存放在数据库...
基于Red Hat开源的Debezium组件,和Flink结合,实现在Flink上直接监听各种数据库的Change Log,并且能够利用Flink的特性,输出到不同的位置上,以实现数据总线和实时数仓的构建。此项目主要应用于数据中台或数据平台...
JDBC(Java数据库连接性):是以Java编写的一组类和接口(API),可将SQL语句发送到任何关系数据库,例如:MySQL,PostgreSQL,SQL Server,Oracle,DB2 IBM等。 ** DAO:**是使用数据持久性的应用程序的标准,其中...
Oracle后台存储过程中调用Java代码块,以此来访问异构数据库数据(DB2)。 此方式适用场景: 原有业务逻辑均在后台实现,现要加入对异构数据库的数据访问或写入。 异构数据库的访问,多用数据联邦、透明网关或自行...
测量了以下系统: PostgreSQLMariaDB(MySQL) DB2 OracleMonetDB MongoDB的蜂巢所有基准测试都是使用数据库的ODBC连接器执行的(Hive除外,后者使用JDBC连接器)。 但是,也有用于对每个数据库的本机客户端连接器...
java 实现连接sql server 20002007-12-16 13:28:00.0 第一种:通过ODBC连接数据库 JAVA语言的跨平台的工作能力(Write Once ,Run Anywhere)、优秀的图像处理能力(我相信现在没有那种语言可以超过JAVA在网络上的...
如果你要连接数据库,需要有该数据库的JDBC驱动 DBMetadata-generator 利用数据库元数据,根据模板生成一些内容。 该项目目前只提供了一个BeetlTemplate,只有两个静态方法,这只是一个简单的例子 DBMetadata-swing ...
其中一些包通过原生的数据库驱动来提供访问功能,另一些则是通过ODBC或JDBC来实现访问的。使用R来访问存储在外部数据库中的数据是一种分析大数据集的有效手段,并且能够发挥SQL和R。一种方式是依赖RODBC包,该包使用...
其中一些包通过原生的数据库驱动来提供访问功能,另一些则是通过ODBC或JDBC来实现访问的 在R中通过RODBC包访问一个数据库也许是最流行的方式。这种方式允许R连接到任意一种拥有ODBC驱动的数据库,其实几乎就是市面上...
db2 elasticsearch[完成初步] mongodb[进行中] mysql oracle[进行中] postgresql redis[进行中] sqlite[完成初步] sqlserver xml[进行中] access[完成初步] 封装要求 面向对象封装 通过对象可以抽象存储结构(最好...