首先你的机器上得装有一款数据库,通常是Oracle,Ms sql,MySQL等,不考虑框架等,jsp中主要是利用jdbc进行连接数据库
1,打开数据库服务(你已经设计好了数据库)
2,在class-path中添加相应数据库的连接jar包,
3利用jdbc进行 *** 作
例如:
JDBC - 环境设置:
请确认您已完成以下设置:
核心JAVA安装
SQL 或 MySQL数据库安装
除上述者外,需要建立一个数据库,为本程测试项目使用。假设这是EMP,在同一个数据库上创建表Employees。
创建JDBC应用程序:
参与建立一个JDBC应用程序,本教程中按六个步骤进行:
导入包:
这需要你有软件包包含了数据库编程所需的JDBC类。大多数情况下,使用import javasql 就足够了,如下所示:
//STEP 1 Import required packages
import javasql;
注册JDBC驱动程序:
这需要初始化驱动程序,这样就可以打开与数据库的通信信道。以下是代码片段实现这一目标:
//STEP 2: Register JDBC driver
ClassforName("commysqljdbcDriver");
打开一个连接:
这需要使用DriverManagergetConnection()方法来创建一个Connection对象,它代表一个物理连接的数据库,如下所示:
//STEP 3: Open a connection
// Database credentials
static final String USER = "username";
static final String PASS = "password";
Systemoutprintln("Connecting to database");
conn = DriverManagergetConnection(DB_URL,USER,PASS);
执行一个查询:
这需要使用一个对象类型Statement或PreparedStatement构建,并提交一个SQL语句到数据库。如下:
//STEP 4: Execute a query
Systemoutprintln("Creating statement");
stmt = conncreateStatement();
String sql;
sql = "SELECT id, first, last, age FROM Employees";
ResultSet rs = stmtexecuteQuery(sql);
如果有一个SQL UPDATE,INSERT或DELETE语句,那么需要下面的代码片段:
//STEP 4: Execute a query
Systemoutprintln("Creating statement");
stmt = conncreateStatement();
String sql;
sql = "DELETE FROM Employees";
ResultSet rs = stmtexecuteUpdate(sql);
从结果集中提取数据:
这一步是必需的情况下,从数据库中获取数据。可以使用适当的ResultSetgetXXX()方法来检索的数据结果如下:
//STEP 5: Extract data from result set
while(rsnext()){
//Retrieve by column name
int id = rsgetInt("id");
int age = rsgetInt("age");
String first = rsgetString("first");
String last = rsgetString("last");
//Display values
Systemoutprint("ID: " + id);
Systemoutprint(", Age: " + age);
Systemoutprint(", First: " + first);
Systemoutprintln(", Last: " + last);
}
清理环境:
应该明确地关闭所有的数据库资源,对依赖于JVM的垃圾收集如下:
//STEP 6: Clean-up environment
rsclose();
stmtclose();
connclose();
难得讲:
直接连接和关闭代码:
private static final String DRIVER = "commicrosoftsqlserverjdbcSQLServerDriver";// 驱动类
private static final String URL = "jdbc:sqlserver://localhost:1433;DataBaseName=paipaiDB";// 连接URL地址
private static final String USER = "sa";// 数据库用户名
private static final String PWD = "123";// 数据库用户密码
/
与数据库建立连接
@return
@throws ClassNotFoundException
@throws SQLException
/
public static Connection getCon() throws ClassNotFoundException,
SQLException {
Connection con = null;
ClassforName(DRIVER);
con = DriverManagergetConnection(URL, USER, PWD);
return con;
}
/
关闭所有与数据库的连接对象
@param res
结果集对象
@param pstat预编义对象
@param con连接对象
/
public static void closeAll(ResultSet res, PreparedStatement pstat,
Connection con) {
if (res != null) {
try {
resclose();
} catch (SQLException e) {
// TODO 自动生成 catch 块
eprintStackTrace();
}
}
if (pstat != null) {
try {
pstatclose();
} catch (SQLException e) {
// TODO 自动生成 catch 块
eprintStackTrace();
}
}
try {
if (con != null && !conisClosed()) {
conclose();
}
} catch (SQLException e) {
// TODO 自动生成 catch 块
eprintStackTrace();
}
}
eclipse,我用的是eclipse,也可以用其他的开发工具。
tomcat,tomcat是用来做服务器的,如果eclipse还没有配置tomcat服务器,就要先配置好tomcat服务器。
MySQL,本文用的是MySQL数据库,读者也可以尝试用其他的数据库,但是连接驱动就要换成相应数据库的连接驱动。
连接驱动 mysql-connector-java-3114-binjar,可以从网上下载。
方法/步骤
打开eclipse,菜单栏下,File-new,打开Dynamic Web Project,创建一个jsp project,为方便起见,本文直接在jsp页面里写java代码进行数据库的连接。。大部分网友应该都可以看懂这段代码的涵义,这里就不赘述了。
其中需要注意的是 String url="jdbc:mysql://localhost:3306/mydb" 其中的3306是MySQL安装时的端口号,默认的是3306,如果你安装MySQL时更改了端口号就要在这里填写你更改的端口号。下面是我的jsp文档
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@page import="javasqlConnection" %>
<%@page import="javasql" %>
<%@page import="javasqlDriverManager;" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 401 Transitional//EN" ">
<html>
<head>
<meta >
<title>Insert title here</title>
</head>
<body>
<table border="1" align="center">
<tr>
<td>书名</td>
<td>作者</td>
</tr>
<%
String driverClass="commysqljdbcDriver";
String url="jdbc:mysql://localhost:3306/mydb";
String user="root";
String password="1234";
String a="zhangsan";
Connection conn;
try{
ClassforName(driverClass);
conn=DriverManagergetConnection(url,user,password);
Statement stmt=conncreateStatement();
String sql="select from books";
ResultSet rs=stmtexecuteQuery(sql);
while(rsnext()){
%>
<tr>
<td><%=rsgetString("bookname") %></td>
<td><%=rsgetString("writer") %></td>
</tr>
<%
}
}
catch(Exception ex){
exprintStackTrace();
}
%>
</table>
</body>
</html>
然后在这个project的WebContent\WEB-INF\lib的文件夹里添加之前提到的连接驱动 mysql-connector-java-3114-binjar,将其复制到lib的文件夹中。保存项目,然后运行,就会在网页中出现表格。
3
是不是很简单呢,希望这篇经验能够给大家带来方便。
END
注意事项
要确保在MySQL中存在mydb数据库,mydb中已创建books表格,不然会提示错误的。
上面的给出了jsp内嵌java的最初模式,现在一般是三层结构了即MVC结构,就这个例子我来给你解释下是怎么做的,java对连接数据库提供了统一的接口,各个数据库厂商根据提供的接口规范开发自己的连接方法顺序如下:1、用ClassforName()方法加载驱动:ClassforName("commicrosoftjdbcsqlserverSQLServerDriver")newInstance(); 黑体部分为数据库厂商自己开发的驱动。2、定义好连接数据库的url地址,连接串String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs";黑体部分为固定写法不用理会。回到你最初的问题,如何创建数据库,这里你可以去baidu下每个数据库创建的方法,一般数据库安装的时候都有默认的数据库名,和对应的系统管理员工号和密码,DatabaseName=pubs这里说明sql serv 2000中建立了一个名字叫pubs的数据库jdbc:microsoft:sqlserver://localhost:1433固定写法唯一不同的是1433端口号,可能你在安装sql serv 2000的时候改变了该端口号为1500那么这里就应该为jdbc:microsoft:sqlserver://localhost:15003、定义好DatabaseName=pubs的登录用户名和密码 String user="sa";用户名
String password="";密码4、创建Connection对象,通过调用DriverManagergetConnection方法获得。 Connection conn= DriverManagergetConnection(url,user,password);黑体部分就是你定义好的连接串,用户名,密码,不可改变顺序。到这里为止数据库就连接上了,但是连接好了数据库还要做点什么,比如打印出来,接下看。5、通过获得的Connection对象conn创建Statement 对象stmtStatement stmt=conncreateStatement(ResultSetTYPE_SCROLL_SENSITIVE,ResultSetCONCUR_UPDATABLE);黑体部分是定义ResultSet的一些属性的,具体含义可以参考JDK的api。6、定义好你准备取得数据的sql语句,比如下面 select from test说明想从test表中取得所有的数据,关于sql语句可以去查找相关数据库资料。 String sql="select from test";定义好语句后,就用上一步创建好的Statement 对象stmt来执行这个sql语句,并返回一个ResultSet对象。
ResultSet rs=stmtexecuteQuery(sql);执行完这步后rs中已经取得了test表所有的数据,那么接下来要展现在网页上。7、rsnext()对你取得的记录集做一个循环直到没有值为止,rsgetString(1)代表你test表中的第一个字段rsgetString(2)代表你test中的第二个字段,如果还有更多字段可以继续rsgetString(3)rsgetString(N) while(rsnext()) {%>
您的第一个字段内容为:<%=rsgetString(1)%>
您的第二个字段内容为:<%=rsgetString(2)%>
<%}%>8、当所有数据展现完毕,调用close()方法将所有资源关闭。 rsclose();
stmtclose();
connclose();回顾下大致过程:加载驱动 ClassforName();定义好相关的数据,调用DriverManagergetConnection(driver,user,password)获得一个数据库连接conn通过conn创建Statement对象stmt,conncreateStatement();通过stmt执行定义好的sql语句获得数据集ResultSet rs=stmtexecuteQuery(“select from test”);通过rsnext()方法循环遍历数据集的数据,通过rsgetString(1)获得第一条数据的第一个字段内容,这里要注意的是getString是对应数据库是字符类型,如果test表的第一个字段不是字符类型则用rsgetInt(1)获得。展现完毕后关闭所有资源conn stmt rs close方法。
以上就是关于在jsp编程中如何连接数据库全部的内容,包括:在jsp编程中如何连接数据库、JSP怎样链接数据库、jsp怎么连接mysql数据库等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)