JSP连接mysql数据库的jdbc-odbc桥和jdbc直连两种方式详解

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/ssAfterHard/article/details/79774933

一. 第一种连接数据库方式:jdbc直连

1. 这种方式需要用到数据库公司为Java专门开发的 jar包,系统里是没有的,得自己下,MySQL需要用的是 mysql-connector-java-5.1.18-bin.jar 把它拷贝到Tomcat服务器根目录下的 lib文件夹里就好了。这个是mysql驱动下载的官方地址:https://dev.mysql.com/downloads/connector/j/

2. 接下来就是连接mysql数据库的JSP代码(一定不要照着我的来,看代码下面的PS)

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ page import="java.util.*" %>
<%@ page import="java.sql.*" %>
<html>
<head>
    <title>数据库连接测试</title>
</head>
<body>
    <%!
        private static final String URL="jdbc:mysql://127.0.0.1:3306/imooc";
        private static final String USER="root";
        private static final String PASSWORD="wangqile";

        private static Connection comn = null;
    %>
    <%
        try {
            //1.加载驱动程序
            Class.forName("com.mysql.jdbc.Driver");
            //2.获得数据库连接
            comn = DriverManager.getConnection(URL, USER, PASSWORD);
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    %>
    <%
        //3.实现连接数据库后的增删改查
        Statement stmt=(Statement) comn.createStatement();
        ResultSet rs=(ResultSet) stmt.executeQuery("select account, amount from account_info");
        while(rs.next()){
        out.println(rs.getString("account")+","+rs.getShort("amount")+"<br />");
        }
        stmt.close();
        comn.close();
    %>
</body>
</html> 

PS;<1>首先我们要导入操作数据库相关的jar包,如第三行和第二行

        <2>注意第10行,URL是我们获取连接的虚拟路径,格式就是  "jdbc:mysql://127.0.0.1:3306/要连接的数据库的名字",USER是自己登陆mysql的名称,PASSWORD是登陆的密码,

        <3>通过反射的技术加载数据库驱动,Class.ForName( )

        <4>流程:加载驱动获取连接,然后我们创建了一个执行语句stmt,执行括号里面的sql语句,运行结果返回一个结果集rs,然后遍历结果集打印在屏幕上输出

3. 自己的实例结果:

    首先下面是我要查询数据库imooc中的查询的该数据表的结构:


然后运行我的JSP,结果如下图(我要查询的就是account和amount这两列的信息):


测试成功!!!

二. 第二种连接数据的方式:jdbc-ODBC桥

1. 首先进行声明。这个jdk1.7以后的版本都是不支持桥连接的,它们已经移除了相关的包,所以想要通过这种方式连接数据库需要将自己编译器的jdk版本改为1.6,不想改的就可以不用往下面看了,附上知乎上的原因截图:


2. 接下来我们首先要查看电脑的数据源中有没有mysql的数据源:


我的是已经装好了

3. 如果读者电脑上没有自己使用数据库的相关数据源,就到相应的官网上去下载,mysql数据源驱动的下载地址为:

https://dev.mysql.com/downloads/connector/odbc/

    下载完毕后安装教程可以参考链接:

https://jingyan.baidu.com/article/4b07be3cb1974e48b380f304.html

4. 安装驱动完毕后配置数据源的的教程可以参考链接:

https://jingyan.baidu.com/article/a24b33cd030ec819fe002b04.html

ps:不要在意windows10下这这些

5. 这里有个总体的教程可以参考:

https://blog.csdn.net/cn130404/article/details/74370377

6. 最后附上部分源代码,其他的代码和第一种方式相同

 <%!
        Connection comn=null;
        String DriverName="sun.jdbc.odbc.JdbcOdbcDriver";
        String URL="jdbc:odbc:MYSQL";
        String USER="root";
        String PASSWORD="wangqile";
    %>
ps:第四行的格式为"jdbc:odbc:数据源的名称"


展开阅读全文

连接JDBC两种方式

06-16

import java.sql.*;rnclass Employeern public static void main (String args []) throws SQLExceptionrnrn DriverManager.registerDriver(new oracle.jdbc.OracleDriver());rn String url = "jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.0.105)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=ora920)))";rn //url = "jdbc:oracle:thin:@192.168.0.105:1521:ora920";rn String userName = "affair";rn String password = "affair";rnrn Connection conn =DriverManager.getConnection (url, userName, password);rnrn // Create a Statementrn Statement stmt = conn.createStatement ();rnrn // Select the ENAME column from the EMP tablern ResultSet rset = stmt.executeQuery ("select * from emp");rnrn // Iterate through the result and print the employee namesrn while (rset.next ())rn System.out.print (rset.getString (1) + "\t");rn System.out.print (rset.getString (2) + "\t");rn System.out.print (rset.getString (3) + " \t");rn System.out.print (rset.getString (4) + "\t");rn System.out.println (rset.getString (5));rn rnrn conn.close();rn rnrnclasspath我已经设定了oracle\ora92\jdbc\lib\classes12.jar,而且上面代码是可以正常运行的,但是如果使用其中的“url = "jdbc:oracle:thin:@192.168.0.105:1521:ora920";”rn就出现以下错误:rnrnjava.sql.SQLException: I/O错误。: Connection refused(DESCRIPTION=(TMP=)(VSNNUM=153092352)(ERR=12505)(ERROR_STACK=(ERROR=(CODE=12505)(EMFI=4))))rn at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)rn at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:179)rn at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:333)rn at oracle.jdbc.driver.OracleConnection.(OracleConnection.java:404)rn at oracle.jdbc.driver.OracleDriver.getConnectionInstance(OracleDriver.java:468)rn at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:314)rn at java.sql.DriverManager.getConnection(DriverManager.java:512)rn at java.sql.DriverManager.getConnection(DriverManager.java:171)rn at Employee.main(Employee.java:11)rnException in thread "main"rn 论坛

没有更多推荐了,返回首页