一聚教程网:一个值得你收藏的教程网站

热门教程

jsp各种数据库连接类集合

时间:2022-06-29 03:15:07 编辑:袖梨 来源:一聚教程网

jsp连接Oracle8/8i/9i数据库(用thin模式)

此类用于装载驱动程序,它所有的成员都是静态成员,所以在程序中无须对它进行实例化,直接通过类名就可以访问它。
DriverManager类是JDBC的管理层,作用于用户和驱动程序间加载驱动程序
Class.forName("公司名.数据库名.驱动程序名")
如:Class.forName("sun.jdbc.odbc.jdbcOdbcDriver")
建立连接
加载Driver类并在DriverManager类注册后,就可用来与数据库建立连接。当调用Driver.Manager.getConnection()发出连连接请求时,DriverManager将检查每个驱动程序,看它是否可以建立连接。
方法:Connection getConnection(String url,String user,String password)
其中user和password是登录数据库的用户和密码
第一个参数是指向数据库的url,它的格式如下:
jdbc:(subprotocol):(subname)
subprotocol:子协议,指定连接何种数据库或用什么方式连接数据库
subname:确立一个连接,可以是一个数据源名,也可以是指向一个网上数据库
如:以下是通常用驱动程序(JDBC-ODBC桥驱动程序),并连一个student数据源,用匿名登录的的示例:
Class.forName("sun.jdbc.odbc.jdbcOdbcDriver");//加载驱动程序
String url="jdbc:odbc:student";
Connection cn=DriverManager.getConnection(url,"anonymous","");
GetConnection():返回一个连接类对象。若成功,此对象就指向此数据库的一个连接;否则,此对象将为空null
Connection类
connection类是指向同一个数据库的连接。
作用:管理指向数据库的连接,如:向数据库发送查询和接收数据库的查询结果都是在它基础上的;完成同数据库的连接的所有任务之后关闭此连接。
方法:
Statement createStatment():新建一个Statement对象,此对象可以向数据库发送查询信息
void close():关闭同数据库的连接并释放占有的JDBC资源
Boolean isClose():判断是否仍与数据库连接
Statement类
作用:Statement对象用于将SQL语句发送到数据库中。
创建Statement对象
建立了到特定数据库的连接后,就可用该连接发送SQL语句。Statement对象用Connection的方法createStatement创建。
Connection cn=DriverManager.getconnection(rul,"sunny","");
statement stmt=cn.createStatement();
为了执行Statement对象,被发送到数据库的SQL语句将被作为参数提供给Statement的方法
ResultSet rs=stmt.executeQuery("select a,b,c from table2");
使用Statement对象执行语句
Statement接口提供了三种执行SQL语句的方法
executeQuery():用于产生单个结果集的语句,如:select语句
executeUpdate():用于执行insert、update或delete、语句等,返回值是一个整数,指示受影响的行数(即更新计数)
execute():用于执行返回多个结果集、多个更新计数或二者组合的语句
语句完成
语句在已执行且所有结果返回时,即认为已完成。
对于返回一个结果集的executeQuery()方法,在检索完ResultSet对象的所有行时该语句完成。
对于方法executeUpdate(),当它执行时语句即完成
在少数调用execute()的情况下,只有在检索所有结果集或它生成的更新计数之后语句才完成
关闭Statement对象
Statement对象将由Java垃圾收集程序自动关闭。但我们最好显示地关闭它们,因为会立即释放数据管理系统资源,有助避免潜在内存问题。
主要方法
ResultSet executeQuery(String sql):返回一个静态的sql查询结果
int executeUpdate(String sql):查询一行sql声明中insert、update、delete的数目或返回0
void close():关闭同数据库的连接和所占有的JDBC资源
ResultSet类(纪录集)
作用:装载查询结果,并可以通过它的不同方法提取出查询结果。ResultSet包含符合SQL语句中条件的所有行,且它通过一套get方法(这些get方法可以访问当前行中的不同列)提供了对这些行中数据的访问。
ResultSet.next():将纪录指针移动到ResultSet纪录集的下一行,使之成为当前行。
注:纪录集是一张二维表,其中有查询所返回的列标题及相应的值。
对于方法executeUpdate(),当它执行时语句即完成
在少数调用execute()的情况下,只有在检索所有结果集或它生成的更新计数之后语句才完成

testOracle.jsp如下: <%@ page contentType="text/html;charset=gb2312"%>

 代码如下 复制代码

<%@ page import="java.sql.*"%>
<%
    String result = ""; // 查询结果字符串

    String sql = "select * from test"; // SQL 字符串

    // 连接字符串,格式: "jdbc:数据库驱动名称:连接模式:@数据库服务器ip:端口号:数据库SID"
    String url = "jdbc:oracle:thin:@localhost:1521:orcl";
    String username = "scott"; // 用户名
    String password = "tiger"; //密码

    // 创建oracle数据库驱动实例
    Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();

    // 获得与数据库的连接
    Connection conn = DriverManager.getConnection(url, username, password);
    // 创建执行语句对象
    Statement  stmt = conn.createStatement();
    // 执行sql语句,返回结果集
    ResultSet  rs   = stmt.executeQuery(sql);

    while ( rs.next() )
    {
        result += "/n 第一个字段内容:" + rs.getString(1) + "
";
    }

    rs.close(); // 关闭结果集
    stmt.close(); // 关闭执行语句对象
    conn.close(); // 关闭与数据库的连接
%>



  <%=result%>


 

 
二、jsp连接Sql Server7.0/2000数据库
testSqlServer.jsp如下 <%@ page contentType="text/html;charset=gb2312"%>

 代码如下 复制代码

<%@ page import="java.sql.*"%>
<%
    String sql = "select * from test";

    // 连接字符串,格式: "jdbc:公司名称:数据库驱动名称://数据库服务器ip:端口号;DatabaseName=数据库名称"
    String url = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs";
    String username = "scott";
    String password = "tiger";

    Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();

    Connection conn = DriverManager.getConnection(url, username, password);
    Statement  stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
    ResultSet  rs   = stmt.executeQuery(sql);

%>


<%
    while ( rs.next() )
    {
        %>
        第一个字段内容为:<%=rs.getStrisng(1)%>

        <%
    }

    rs.close();
    stmt.close();
    conn.close();
%>



 

三、jsp连接DB2数据库
testDB2.jsp如下:

 代码如下 复制代码

<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<%
    String sql = "select * from test";

    // 连接字符串,格式: "jdbc:数据库驱动名称://数据库服务器ip:端口号/数据库名称"
    String url = "jdbc:db2://localhost:5000/sample";
    String username = "scott";
    String password = "tiger";

    Class.forName("com.ibm.db2.jdbc.app.DB2Driver").newInstance();

    Connection conn = DriverManager.getConnection(url, username, password);
    Statement  stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
    ResultSet  rs   = stmt.executeQuery(sql);

    rs.close();
    stmt.close();
    conn.close();
%>
 

 
四、jsp连接Informix数据库
testInformix.jsp如下:

 代码如下 复制代码

<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<%
    String sql = "select * from test";

    // 连接字符串,格式: "jdbc:数据库驱动名称://数据库服务器ip:端口号/数据库名称:INFORMIXSERVER=服务器名;user=用户名;password=密码"
    String url = "jdbc:informix-sqli://123.45.67.89:1533/testDB:INFORMIXSERVER=myserver;user=testuser;password=testpassword";

    Class.forName("com.informix.jdbc.IfxDriver").newInstance();

    Connection conn = DriverManager.getConnection(url);
    Statement  stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
    ResultSet  rs   = stmt.executeQuery(sql);

    rs.close();
    stmt.close();
    conn.close();
%>
 

五、jsp连接Sybase数据库
testSybase.jsp如下:

 代码如下 复制代码

<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<%
    String sql = "select * from test";

    // 连接字符串,格式: "jdbc:公司名称:数据库驱动名称:数据库服务器ip:端口号/数据库名称"
    String url = "jdbc:sybase:Tds:localhost:5007/tsdata";

Properties prop = System.getProperties();
prop.put("user", "userid"); // 用户名
prop.put("password", "user_password"); // 密码

    Class.forName("com.sybase.jdbc.SybDriver").newInstance();

    Connection conn = DriverManager.getConnection(url, prop);
    Statement  stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
    ResultSet  rs   = stmt.executeQuery(sql);

    rs.close();
    stmt.close();
    conn.close();
%>
 

六、jsp连接MySQL数据库
testMySQL.jsp如下:

 代码如下 复制代码

<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<%
    String sql = "select * from test";

    // 连接字符串,格式: "jdbc:数据库驱动名称://数据库服务器ip/数据库名称?user=用户名&password=密码&使用Unicode=布尔值&字符编码=编码"
    String url = "jdbc:mysql://localhost/softforum?user=soft&password=soft1234&useUnicode=true&characterEncoding=8859_1";
    String username = "scott";
    String password = "tiger";

    Class.forName("org.gjt.mm.mysql.Driver").newInstance();

    Connection conn = DriverManager.getConnection(url, username, password);
    Statement  stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
    ResultSet  rs   = stmt.executeQuery(sql);

    rs.close();
    stmt.close();
    conn.close();
%>
 

 
七、jsp连接PostgreSQL数据库
testPostgreSQL.jsp如下:

 代码如下 复制代码

<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<%
    String sql = "select * from test";

    // 连接字符串,格式: "jdbc:数据库驱动名称://数据库服务器ip/数据库名称"
    String url = "jdbc:postgresql://localhost/soft";
    String username = "scott";
    String password = "tiger";

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

    Connection conn = DriverManager.getConnection(url, username, password);
    Statement  stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
    ResultSet  rs   = stmt.executeQuery(sql);

    rs.close();
    stmt.close();
    conn.close();
%>
 
public class initconn(){
String ClassName,url,user,password;

public Connection conn=null;

public void setClassName(String ClassName_STR){
this.ClassName=ClassName_STR;
}
public void setUrl(String url_STR){
this.url=url_STR;
}
public void setUser(String user_STR){
this.user=user_STR;
}
public void setPassword(String password_STR){
this.password=password_STR;
}

public void initConn(){
try{
Calss.forName(this.ClassName).newInstance();
this.conn=DriverManager.getConnection(url,user,password);
}catch(Exception e){
System.out.print("出错原因"+e);
}
}

热门栏目