java数据库,java数据库增删改查

发布时间:2023-01-09

本文目录一览:

  1. java和数据库有什么关系吗?
  2. 怎么使用JAVA连接数据库?
  3. Java中如何实现与后台数据库的连接?

java和数据库有什么关系吗?

  1. Java是一门编程语言,用于实现客户端与数据之间的连接工具。可以这样理解:如果你想查找图书馆中的所有图书资料,没有编程语言开发的系统,你只能自己去图书馆一本一本地翻找。有了编程语言,就可以开发一个查询系统,将所有图书内容汇总到一个地方,然后通过你用Java编写的查询系统进行查找,这就是电子化,同时可以提供给更多人使用,节省了单独查找的时间。编程语言就是做这个的。
  2. 数据库是做什么的呢: 在上面我们提到了,就是把所有的书的内容都放置到一个地方,而数据库就是进行存放这个书籍内容的地方。有了数据库,我们可以更好地管理书籍里面的内容,进行改写、备份、整理。在一个企业里面:三分管理,七分技术,十二分数据,其实人们最注重的是数据的积累。一家银行,有多少个客户,客户各自存储了多少钱,什么时候存储的。它并不关心你这系统是什么东西,它只想通过你的系统继续操作里面的数据。数据库就是这个作用。
  3. 话又说回来了,就是存储数据,你完全可以用记事本、Excel表格,或者自己随便定义一种东西进行存储。但是,当数据量达到几千、几万、几十万、几百万、几千万、几亿时,你如何去存储,用什么东西进行查询历史的数据?如果你真的有本事能够做到查询的速度性、安全性以及便于管理性,你可以完全不用数据库。当然目前世界上还没有人能够做到,能做好的几个公司就是现在的数据库公司:Oracle、DB2等等。

怎么使用JAVA连接数据库?

Java的JSP连接Oracle 8/8i/9i数据库(用thin模式): testoracle.jsp如下:

<%@ page contentType="text/html;charset=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)%>
<br>
您的第二个字段内容为:<%=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个类别:

Java中如何实现与后台数据库的连接?

用Java连接数据库主要有两种方式:

  1. 使用JDBC-ODBC桥来连接;
  2. 使用相关厂商提供的相应驱动程序来连接。 首先谈谈第一种连接方式: JDBC-ODBC桥接器是用JdbcOdbc.Class和一个用于访问ODBC驱动程序的本地库实现的。对于Windows平台,该本地库是一个动态连接库DLL(JDBCODBC.DLL)。 由于JDBC在设计上与ODBC很接近。在内部,这个驱动程序把JDBC的方法映射到ODBC调用上,这样,JDBC就可以和任何可用的ODBC驱动程序进行交互了。这种桥接器的优点是,它使JDBC目前有能力访问几乎所有的数据库。通信方式如下所示:
应用程序 --- JDBC API --- JDBC-ODBC --- ODBC API --- ODBC层 --- 数据源

具体操作方法为:

  1. 打开控制面板的“管理工具”,打开“数据源(ODBC)”;
  2. 在“用户DSN”里面添加数据源(即你要连接的数据库的名字),在这里假定连接SQL Server 2000的GoodsSupply数据库;
  3. 名称填写你要连接的数据库的名称(GoodsSupply),然后逐步设置;
  4. 如果选用了使用SQL Server密码认证,就要输入相应的用户名及密码连接到数据库;
  5. 一路下一步设置完成。 在Java里面编写程序进行测试,在这里我的程序是让用户输入任意的表名与列名,把该列的所有数据输出。源代码如下:
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.sql.*;
public class ODBCBridge {
    public static void main(String[] args) {
        String url = "jdbc:odbc:GoodsSupply";
        Statement sm = null;
        String command = null;
        ResultSet rs = null;
        String tableName = null;
        String cName = null;
        String result = null;
        BufferedReader input = new BufferedReader(new InputStreamReader(System.in));
        try {
            try {
                Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); // 加载驱动
            } catch (ClassNotFoundException e) {
                System.out.println("Can not load Jdbc-Odbc Bridge Driver");
                System.err.print("ClassNotFoundException:");
                System.err.println(e.getMessage());
            }
            Connection con = DriverManager.getConnection(url, "USER", "PASSWORD"); // 使用SQL Server 2000认证
            DatabaseMetaData dmd = con.getMetaData(); // DMD为连接的相应情况
            System.out.println("连接的数据库:" + dmd.getURL());
            System.out.println("驱动程序:" + dmd.getDriverName());
            sm = con.createStatement();
            System.out.println("输入表名");
            tableName = input.readLine();
            while (true) {
                System.out.println("输入列名(为空时程序结束):");
                cName = input.readLine();
                if (cName.equalsIgnoreCase(""))
                    break;
                command = "select " + cName + " from " + tableName;
                rs = sm.executeQuery(command); // 执行查询
                if (!rs.next())
                    System.out.println("表名或列名输入有误");
                else {
                    System.out.println("查询结果为:");
                    do {
                        result = rs.getString(cName);
                        // 数据库语言设置为中文,不用转换编码
                        // result = new String(result.getBytes("ISO-8859-1"), "GB2312");
                        System.out.println(result);
                    } while (rs.next());
                }
            }
        } catch (SQLException ex) {
            System.out.println("SQLException:");
            while (ex != null) {
                System.out.println("Message:" + ex.getMessage());
                ex = ex.getNextException();
            }
        } catch (Exception e) {
            System.out.println("IOException");
        }
    }
}