java的jsp连接Oracle8/8i/9i数据库(用thin模式) :
testoracle.jsp如下:
<%@ page contentType="text/htmlcharset=gb2312"%>
<%@ page import="Java.sql.*"%>
<html>
<body>
<%Class.forName("oracle.jdbc.driver.OracleDriver").newInstance()
String url="jdbc:oracle:thin:@localhost:1521:orcl"
//orcl为你的数据库的SID
String user="scott"
String password="tiger"
Connection conn= DriverManager.getConnection(url,user,password)
Statement
stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE)
String sql="select * from test"
ResultSet rs=stmt.executeQuery(sql)
while(rs.next()) {%>
您的第一个字段内容为:<%=rs.getString(1)%>
您的第二个字段内容为:<%=rs.getString(2)%>
<%}%>
<%out.print("数据库 *** 作成功,恭喜你")%>
<%rs.close()
stmt.close()
conn.close()
%>
</body>
</html>
扩展资料:
一、JSP句法:
一个JSP页面可以被分为以下几部份:
静态数据,如HTML;JSP指令,如include指令;JSP脚本元素和变量;JSP动作;用户自定义标签。
静态数据在输入文件中的内容和输出给HTTP响应的内容完全一致。此时,该JSP输入文件会是一个没有内嵌JAVA或动作的HTML页面。而且,客户端每次请求都会得到相同的响应内容。
JSP指令控制JSP编译器如何去生成servlet:<%@ include file="somefile.jsp" %>
二、根据JSTL标签所提供的功能,可以将其分为5个类别:
核心标签;格式化标签;SQL 标签;XML 标签;JSTL 函数。
参考资料来源:百度百科—JSP (java服务器页面)
ConnectionManager.javaimport java.sql.*
public class ConnectionManager {
private static final String DRIVER_CLASS="com.microsoft.sqlserver.jdbc.SQLServerDriver"
private static final String DATABASE_URL="jdbc:sqlserver://localhost:1433DatabaseName=student"
private static final String DATABASE_USER="xz"
private static final String DATABASE_PASSWORD="test"
private ConnectionManager()
{}
/**
* 返回连接
* @return Connection
* @throws DBAccessException
*/
public static Connection getConnection()
{
Connection dbConnection=null
try {
Class.forName(DRIVER_CLASS)
dbConnection=DriverManager.getConnection(DATABASE_URL,DATABASE_USER,DATABASE_PASSWORD)
} catch (ClassNotFoundException e1) {
// TODO Auto-generated catch block
e1.printStackTrace()
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace()
}
return dbConnection
}
/**
* 关闭连接
* @param conn
* Connection
*/
public static void closeConnection(Connection conn)
{
try{
if(conn!=null &&!conn.isClosed())
{
conn.close()
conn=null
}
}catch(Exception ex)
{
System.out.println(ex.getMessage())
}
}
/**
* 关闭结果集
* @param rs
* ResultSet
*/
public static void closeResultSet(ResultSet rs)
{
try{
if(rs!=null)
{
rs.close()
rs=null
}
}catch(Exception ex)
{
System.out.println(ex.getMessage())
}
}
/**
* 关闭SQL预处理语句
* @param pstmt
* PreparedStatement
*/
public static void closePreparedStatement(PreparedStatement pstmt)
{
try{
if(pstmt!=null)
{
pstmt.close()
pstmt=null
}
}catch(Exception ex)
{
System.out.println(ex.getMessage())
}
}
/**
* 关闭SQL语句
* @param stmt
* Statement
*/
public static void closeStatement(Statement stmt)
{
try{
if(stmt!=null)
{
stmt.close()
stmt=null
}
}catch(Exception ex)
{
System.out.println(ex.getMessage())
}
}
public static void main(String[]args)
{
try {
Connection con=ConnectionManager.getConnection()
if(!con.isClosed())
System.out.println("数据库连接成功。。。。。")
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace()
}
}
}
User.javapublic class User {
private String username
private String userpass
public String getUsername() {
return username
}
public void setUsername(String username) {
this.username = username
}
public String getUserpass() {
return userpass
}
public void setUserpass(String userpass) {
this.userpass = userpass
}
}
UserDAO.javaimport java.util.*
import java.sql.*
public class UserDAO {
public List<User>getAllUser()
{
Connection conn=null
PreparedStatement pstmt=null
ResultSet rs=null
List<User>userList=new ArrayList<User>()
String sql="select UserName,UserPas from Users"
try {
conn=ConnectionManager.getConnection()
pstmt=conn.prepareStatement(sql)
rs=pstmt.executeQuery()
while(rs.next())
{
User u=new User()
u.setUsername(rs.getString("UserName"))
u.setUserpass(rs.getString("UserPas"))
userList.add(u)
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace()
}finally
{
ConnectionManager.closeConnection(conn)
ConnectionManager.closePreparedStatement(pstmt)
ConnectionManager.closeResultSet(rs)
}
return userList
}
}
Java MySQL 连接
Java 连接 MySQL 需要驱动包,百度就有自行下载,解压后得到jar库文件,然后在对应的项目中导入该库文件。
本实例使用的是 Eclipse,导入 jar 包:
创建测试数据
接下来我们在 MySQL 中创建 RUNOOB 数据库,并创建 websites 数据表,表结构如下:
CREATE TABLE `websites` (`id` int(11) NOT NULL AUTO_INCREMENT,
`name` char(20) NOT NULL DEFAULT '' COMMENT '站点名称',
`url` varchar(255) NOT NULL DEFAULT '',
`alexa` int(11) NOT NULL DEFAULT '0' COMMENT 'Alexa 排名',
`country` char(10) NOT NULL DEFAULT '' COMMENT '国家',
PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8
数据表显示如下:
连接数据库
以下实例使用了 JDBC 连接 MySQL 数据库,注意一些数据如用户名,密码需要根据你的开发环境来配置:
MySQLDemo.java 文件代码:
package com.runoob.testimport java.sql.*
public class MySQLDemo {
// JDBC 驱动名及数据库 URL
static final String JDBC_DRIVER = "com.mysql.jdbc.Driver"
static final String DB_URL = "jdbc:mysql://localhost:3306/RUNOOB"
// 数据库的用户名与密码,需要根据自己的设置
static final String USER = "root"
static final String PASS = "123456"
public static void main(String[] args) {
Connection conn = null
Statement stmt = null
try{
// 注册 JDBC 驱动
Class.forName("com.mysql.jdbc.Driver")
// 打开链接
System.out.println("连接数据库...")
conn = DriverManager.getConnection(DB_URL,USER,PASS)
// 执行查询
System.out.println(" 实例化Statement对...")
stmt = conn.createStatement()
String sql
sql = "SELECT id, name, url FROM websites"
ResultSet rs = stmt.executeQuery(sql)
// 展开结果集数据库
while(rs.next()){
// 通过字段检索
int id = rs.getInt("id")
String name = rs.getString("name")
String url = rs.getString("url")
// 输出数据
System.out.print("ID: " + id)
System.out.print(", 站点名称: " + name)
System.out.print(", 站点 URL: " + url)
System.out.print("\n")
}
// 完成后关闭
rs.close()
stmt.close()
conn.close()
}catch(SQLException se){
// 处理 JDBC 错误
se.printStackTrace()
}catch(Exception e){
// 处理 Class.forName 错误
e.printStackTrace()
}finally{
// 关闭资源
try{
if(stmt!=null) stmt.close()
}catch(SQLException se2){
}// 什么都不做
try{
if(conn!=null) conn.close()
}catch(SQLException se){
se.printStackTrace()
}
}
System.out.println("Goodbye!")
}
}
以上实例执行输出结果如下:
我有一个微信公众号,经常会分享一些Java技术相关的干货,还有一些学习资源。如果你喜欢我的分享,可以用微信搜索“Java团长”或者“javatuanzhang”关注。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)