pgsql 连接mysql表_jsp连接pgsql数据库

最近在看关于jsp的东西,在用jsp连接pgsql的时候遇到了点麻烦,现在总结如下,希望给以后用到的朋友提供点帮助。

环境为:Windows2003+Tomcat 6.0+PostgreSQL8.3

总的来说有两种方式,一个是直接连接,另一个是用数据池。前一种容易配些,但效率不如后者。无论那种连接必须要把JDBC驱动拷到TOMCAT的LIB目录下.开始之前先建一个待连接的数据库,就简单点吧。

代码如下:

1.create database test;

2.create table test(nmae varchar(10),address varchar(30));

3.insert into test values('xisxy','qindao China');

一、直接连接:

test1.jsp文件内容如下:

Test Db

// ***************** 数据库连接代码 开始 *****************

Class.forName("org.postgresql.Driver").newInstance();

String url ="jdbc:postgresql://localhost/test" ;

String user="postgres";

String password="kfictao";

Connection conn= DriverManager.getConnection(url,user,password);

Statement stmt = conn.createStatement

(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);

String sql = "select name,address from test";

ResultSet rs=stmt.executeQuery(sql);

// **** 数据库连接代码 结束 *********

if(rs!=null){

rs.next();

out.print(rs.getString(1)+" live in ");

out.print(rs.getString(2));

}

else{

out.print("Table is empty!");

}

%>

运行成功的话,看到运行结果为:xisxy live in qingdao China

二、数据池连接

1.配置tomcat数据池,这一步比较关键的是引用已定义的data resource资源。我前几次没成功就是错在这个地方。

a.

定义data resource资源,可以定义全局的,也可以定义某应用程序专用的,咱们这里定义一个全局的。

在tomcat安装目录下,有个conf文件夹,找到并打开server.xml,在标签前加入

type="javax.sql.DataSource"

driverClassName="org.postgresql.Driver"

url="jdbc:postgresql://127.0.0.1/test"

username="postgres" password="12345" maxActive="20" maxIdle="10" maxWait="-1"/>

b.

找到并打开web.xml,在前加入代码:

DB Connection

jdbc/postgres

javax.sql.DataSource

Container

c.

找到并打开content.xml,在前加入代码:

jdbc/pgsql" type="javax.sql.DataSource"/>

注:更改TOMCAT的配置文件后,要重启下服务才能生效.

2.

test2.jsp内容如下:

Test Db

// ***************** 数据库连接代码 开始 *****************

DataSource ds = null;

InitialContext ctx=new InitialContext();

ds=(DataSource)ctx.lookup("java:comp/env/jdbc/pgsql");//*****这里pgsql为定义的名字*****   Connection conn = ds.getConnection();

Statement stmt = conn.createStatement();

String sql = "select name,address from test;

ResultSet rs=stmt.excuteQuery(sql);

// **** 数据库连接代码 结束 *********

if(rs!=null){

rs.next();

out.print(rs.getString(1)+" live in ");

out.print(rs.getString(2));

}

else{

out.print("Table is empty!");

}

%>

运行成功的话,看到运行结果为:xisxy live in qingdao China

阅读(1609) | 评论(0) | 转发(0) |

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值