本文目录一览:
java和数据库有什么关系吗?
- Java是一门编程语言,用于实现客户端与数据之间的连接工具。可以这样理解:如果你想查找图书馆中的所有图书资料,没有编程语言开发的系统,你只能自己去图书馆一本一本地翻找。有了编程语言,就可以开发一个查询系统,将所有图书内容汇总到一个地方,然后通过你用Java编写的查询系统进行查找,这就是电子化,同时可以提供给更多人使用,节省了单独查找的时间。编程语言就是做这个的。
- 数据库是做什么的呢: 在上面我们提到了,就是把所有的书的内容都放置到一个地方,而数据库就是进行存放这个书籍内容的地方。有了数据库,我们可以更好地管理书籍里面的内容,进行改写、备份、整理。在一个企业里面:三分管理,七分技术,十二分数据,其实人们最注重的是数据的积累。一家银行,有多少个客户,客户各自存储了多少钱,什么时候存储的。它并不关心你这系统是什么东西,它只想通过你的系统继续操作里面的数据。数据库就是这个作用。
- 话又说回来了,就是存储数据,你完全可以用记事本、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个类别:
- 核心标签;
- 格式化标签;
- SQL 标签;
- XML 标签;
- JSTL 函数。 参考资料来源:百度百科—JSP(Java服务器页面)
Java中如何实现与后台数据库的连接?
用Java连接数据库主要有两种方式:
- 使用JDBC-ODBC桥来连接;
- 使用相关厂商提供的相应驱动程序来连接。
首先谈谈第一种连接方式:
JDBC-ODBC桥接器是用
JdbcOdbc.Class
和一个用于访问ODBC驱动程序的本地库实现的。对于Windows平台,该本地库是一个动态连接库DLL(JDBCODBC.DLL
)。 由于JDBC在设计上与ODBC很接近。在内部,这个驱动程序把JDBC的方法映射到ODBC调用上,这样,JDBC就可以和任何可用的ODBC驱动程序进行交互了。这种桥接器的优点是,它使JDBC目前有能力访问几乎所有的数据库。通信方式如下所示:
应用程序 --- JDBC API --- JDBC-ODBC --- ODBC API --- ODBC层 --- 数据源
具体操作方法为:
- 打开控制面板的“管理工具”,打开“数据源(ODBC)”;
- 在“用户DSN”里面添加数据源(即你要连接的数据库的名字),在这里假定连接SQL Server 2000的
GoodsSupply
数据库; - 名称填写你要连接的数据库的名称(
GoodsSupply
),然后逐步设置; - 如果选用了使用SQL Server密码认证,就要输入相应的用户名及密码连接到数据库;
- 一路下一步设置完成。 在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");
}
}
}