jsp链接数据库
首先你的机器上得装有一款数据库,通常是Oracle,Ms sql,MySQL等,不考虑框架等,jsp中主要是利用jdbc进行连接数据库
1,打开数据库服务(你已经设计好了数据库)
2,在class-path中添加相应数据库的连接jar包,
3.利用jdbc进行操作
例如:
JDBC - 环境设置:
请确认您已完成以下设置:
核心java安装
SQL 或 MySQL数据库安装
除上述者外,需要建立一个数据库,为本程测试项目使用。假设这是EMP,在同一个数据库上创建表Employees。
创建JDBC应用程序:
参与建立一个JDBC应用程序,本教程中按六个步骤进行:
导入包:
这需要你有软件包包含了数据库编程所需的JDBC类。大多数情况下,使用import java.sql.* 就足够了,如下所示:
//STEP 1. Import required packages
import java.sql.*;
注册JDBC驱动程序:
这需要初始化驱动程序,这样就可以打开与数据库的通信信道。以下是代码片段实现这一目标:
//STEP 2: Register JDBC driver
Class.forName("com.mysql.jdbc.Driver");
打开一个连接:
这需要使用DriverManager.getConnection()方法来创建一个Connection对象,它代表一个物理连接的数据库,如下所示:
//STEP 3: Open a connection
// Database credentials
static final String USER = "username";
static final String PASS = "password";
System.out.println("Connecting to database...");
conn = DriverManager.getConnection(DB_URL,USER,PASS);
执行一个查询:
这需要使用一个对象类型Statement或PreparedStatement构建,并提交一个SQL语句到数据库。如下:
//STEP 4: Execute a query
System.out.println("Creating statement...");
stmt = conn.createStatement();
String sql;
sql = "SELECT id, first, last, age FROM Employees";
ResultSet rs = stmt.executeQuery(sql);
如果有一个SQL UPDATE,INSERT或DELETE语句,那么需要下面的代码片段:
//STEP 4: Execute a query
System.out.println("Creating statement...");
stmt = conn.createStatement();
String sql;
sql = "DELETE FROM Employees";
ResultSet rs = stmt.executeUpdate(sql);
从结果集中提取数据:
这一步是必需的情况下,从数据库中获取数据。可以使用适当的ResultSet.getXXX()方法来检索的数据结果如下:
//STEP 5: Extract data from result set
while(rs.next()){
//Retrieve by column name
int id = rs.getInt("id");
int age = rs.getInt("age");
String first = rs.getString("first");
String last = rs.getString("last");
//Display values
System.out.print("ID: " + id);
System.out.print(", Age: " + age);
System.out.print(", First: " + first);
System.out.println(", Last: " + last);
}
清理环境:
应该明确地关闭所有的数据库资源,对依赖于JVM的垃圾收集如下:
//STEP 6: Clean-up environment
rs.close();
stmt.close();
conn.close();
B. jsp连接sql数据库
1楼的兄弟说的对,那是数据库的用户和用户密码,在sql的企业管理器里,打开数据库以后,-》安全性->登陆-》(右侧)有个sa-》这个是你的数据库的初始的用户,然后查看他的属性,就可以修改密码了,也可以在登陆哪里,右击新建登陆可以创建新用户。
C. jsp怎么连接sql数据库
1.将数据库驱动程序的JAR文件放在Tomcat的 common/lib 中; 2.在server.xml中设置数据源,以MySQL数据库为例,如下: 在 节点中加入, 属性说明:name,数据源名称,通常取”jdbc/XXX”的格式; type,”javax.sql.DataSource”; password,数据库用户密码; driveClassName,数据库驱动; maxIdle,最大空闲数,数据库连接的最大空闲时间。超过空闲时间,数据库连 接将被标记为不可用,然后被释放。设为0表示无限制。 MaxActive,连接池的最大数据库连接数。设为0表示无限制。 maxWait ,最大建立连接等待时间。如果超过此时间将接到异常。设为-1表示 无限制。 3.在你的web应用程序的web.xml中设置数据源参考,如下: 在节点中加入, MySQL DB Connection Pool jdbc/DBPool javax.sql.DataSource Container Shareable 子节点说明: description,描述信息; res-ref-name,参考数据源名字,同上一步的属性name; res-type,资源类型,”javax.sql.DataSource”; res-auth,”Container”; res-sharing-scope,”Shareable”; 4.在web应用程序的context.xml中设置数据源链接,如下: 在节点中加入, 属性说明:name,同第2步和第3步的属性name值,和子节点res-ref-name值; type,同样取”javax.sql.DataSource”; global,同name值。 至此,设置完成,下面是如何使用数据库连接池。 1.建立一个连接池类,DBPool.java,用来创建连接池,代码如下: import javax.naming.Context; import javax.naming.InitialContext; import javax.naming.NamingException; import javax.sql.DataSource; public class DBPool { private static DataSource pool; static { Context env = null; try { env = (Context) new InitialContext().lookup("java:comp/env"); pool = (DataSource)env.lookup("jdbc/DBPool"); if(pool==null) System.err.println("'DBPool' is an unknown DataSource"); } catch(NamingException ne) { ne.printStackTrace(); } } public static DataSource getPool() { return pool; } } 2.在要用到数据库操作的类或jsp页面中,用DBPool.getPool().getConnection(),获得一个Connection对象,就可以进行数据库操作,最后别忘了对Connection对象调用close()方法,注意:这里不会关闭这个Connection,而是将这个Connection放回数据库连接池。
D. jsp怎么连接mysql数据库
eclipse,我用的是eclipse,也可以用其他的开发工具。
tomcat,tomcat是用来做服务器的,如果eclipse还没有配置tomcat服务器,就要先配置好tomcat服务器。
MySQL,本文用的是MySQL数据库,读者也可以尝试用其他的数据库,但是连接驱动就要换成相应数据库的连接驱动。
连接驱动 mysql-connector-java-3.1.14-bin.jar,可以从网上下载。
打开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="java.sql.Connection" %>
<%@page import="java.sql.*" %>
<%@page import="java.sql.DriverManager;" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<table border="1" align="center">
<tr>
<td>书名</td>
<td>作者</td>
</tr>
<%
String driverClass="com.mysql.jdbc.Driver";
String url="jdbc:mysql://localhost:3306/mydb";
String user="root";
String password="1234";
String a="zhangsan";
Connection conn;
try{
Class.forName(driverClass);
conn=DriverManager.getConnection(url,user,password);
Statement stmt=conn.createStatement();
String sql="select * from books";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()){
%>
<tr>
<td><%=rs.getString("bookname") %></td>
<td><%=rs.getString("writer") %></td>
</tr>
<%
}
}
catch(Exception ex){
ex.printStackTrace();
}
%>
</table>
</body>
</html>
然后在这个project的WebContentWEB-INFlib的文件夹里添加之前提到的连接驱动mysql-connector-java-3.1.14-bin.jar,将其复制到lib的文件夹中。保存项目,然后运行,就会在网页中出现表格。
3
是不是很简单呢,希望这篇经验能够给大家带来方便。
要确保在MySQL中存在mydb数据库,mydb中已创建books表格,不然会提示错误的。
方法/步骤
注意事项
E. jsp页面连接MySql数据库
"insert into rht (name,password) values=('jj','1234')";
改成
"insert into rht (name,password) values('jj','1234')";
你这个=号是什么东西?
看一下SQL的语法
以后要用SQL语句之前,先在SQL里面确定这句话能跑过,没有错,再粘贴到jsp里面来
F. jsp如何连接数据库
1、先打开我们编辑运行JSP的开发环境,我们新建一个java web项目。
G. jsp数据库连接
//导入JDBC相关类
import java.sql.*;
//导入MySQL的JDBC相关类
import org.gjt.mm.mysql.*;
public class MysqlExample{
Connection conn=null;//定义数据库连接对象
Statement st=null;//定义数据库执行象
//定义连接数据库的方法
public void connectToMySQL(){
try{
Class.forName("org.gjt.mm.mysql.Driver");
/*加载JDBC驱动程序,如果找不到会出错,如果频繁的对数据库进行操作,可以把
加载的内容写在类开头的static块里,因为驱动只要加载一次就够了,没有必要在每次建立连接时加载驱动.
*/
/*
如果查找成功就尝试连接数据库,DriverManager的getConnection的方法有3个参数:
1.数据库的URL,MySQL为jdbc:mysql://hostname.port/databasename
2.数据库用户名
3.数据库密码
以下的参数只是举例而已
*/
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/person","root","");
//如果要用到事务,必须如下设置
/*
conn.setAutoCommit(false);
*/
System.out.println("OK");//只是便于自己查看是否连接成功了
}catch(Exception e){//捕获错误
System.out.println(e.getMessage());
}
}
到此为止是完成了用connectToMySQL方法封装了对数据库的连接,当然你还可以对add,remove,query等方法对数据库里操作进行封装,最后就是一个定义一个方法connectClose(),调用close(),将st和conn关闭,当然在关闭conn之前记得conn.commit();
H. jsp连接数据库方法(详细的)
上面的给出了jsp内嵌java的最初模式,现在一般是三层结构了即MVC结构,就这个例子我来给你解释下是怎么做的,java对连接数据库提供了统一的接口,各个数据库厂商根据提供的接口规范开发自己的连接方法顺序如下:1、用Class.forName()方法加载驱动:Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance(); 黑体部分为数据库厂商自己开发的驱动。2、定义好连接数据库的url地址,连接串Stringurl="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs";黑体部分为固定写法不用理会。回到你最初的问题,如何创建数据库,这里你可以去下每个数据库创建的方法,一般数据库安装的时候都有默认的数据库名,和对应的系统管理员工号和密码,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对象,通过调用DriverManager.getConnection方法获得。 Connection conn= DriverManager.getConnection(url,user,password);黑体部分就是你定义好的连接串,用户名,密码,不可改变顺序。到这里为止数据库就连接上了,但是连接好了数据库还要做点什么,比如打印出来,接下看。5、通过获得的Connection对象conn创建Statement 对象stmtStatement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);黑体部分是定义ResultSet的一些属性的,具体含义可以参考JDK的api。6、定义好你准备取得数据的sql语句,比如下面 select * from test说明想从test表中取得所有的数据,关于sql语句可以去查找相关数据库资料。 String sql="select * from test";定义好语句后,就用上一步创建好的Statement 对象stmt来执行这个sql语句,并返回一个ResultSet对象。
ResultSet rs=stmt.executeQuery(sql);执行完这步后rs中已经取得了test表所有的数据,那么接下来要展现在网页上。7、rs.next()对你取得的记录集做一个循环直到没有值为止,rs.getString(1)代表你test表中的第一个字段rs.getString(2)代表你test中的第二个字段,如果还有更多字段可以继续rs.getString(3)..rs.getString(N) while(rs.next()) {%>
您的第一个字段内容为:<%=rs.getString(1)%>
您的第二个字段内容为:<%=rs.getString(2)%>
<%}%>8、当所有数据展现完毕,调用close()方法将所有资源关闭。 rs.close();
stmt.close();
conn.close();回顾下大致过程:加载驱动 Class.forName();定义好相关的数据,调用DriverManager.getConnection(driver,user,password)获得一个数据库连接conn通过conn创建Statement对象stmt,conn.createStatement();通过stmt执行定义好的sql语句获得数据集ResultSet rs=stmt.executeQuery(“select * from test”);通过rs.next()方法循环遍历数据集的数据,通过rs.getString(1)获得第一条数据的第一个字段内容,这里要注意的是getString是对应数据库是字符类型,如果test表的第一个字段不是字符类型则用rs.getInt(1)获得。展现完毕后关闭所有资源conn stmt rs close方法。
I. jsp数据库怎么连接 (初学者)
//连接access数据库
String url="jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=F:\\jspx\\aa.mdb";
//连接SQL Server数据库,用microsoft提供的驱动,可以到microsoft的网站下载
//String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=whebn";
//用jtds sqlserver驱动连接sqlserve数据库,需要在lib中加jtds1-1.jar,可以在www.javafan.net下载到
//String url="jdbc:jtds:sqlserver://127.0.0.1:1433;DatabaseName=whebn";
//连接access用的jdbc-odbc桥
//String url="jdbc:odbc:hebn";
String user="admin";
String pwd="";
Connection conn=null;
ResultSet rs=null;
//用jtds sqlserver驱动连接sqlserve数据库,需要在lib中加jtds1-1.jar
//Class.forName("net.sourceforge.jtds.jdbc.Driver");
//连接access数据库用到的
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
//连接sql数据库需要配置sqlserver的三个jar文件
//Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
//准备完毕,建立连接
conn = DriverManager.getConnection(url,user,pwd);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
rs=stmt.executeQuery("select * from article_info");
while(rs.next())
{
out.println("<br>");
out.println(rs.getString(2));
out.println("<br>");
out.println(rs.getString(1));
out.println("<br>");
out.println(rs.getString(3));
out.println("<br>");
}
//后期处理
if(conn!=null){conn.close();}
if(stmt!=null){stmt.close();}
J. jsp连接数据库代码
你也敢管这个叫jsp?
//驱动类的名字,不知道干什么的?就是寻找驱动的依据
String strDBDriver="sun.jdbc.odbc.JdbcOdbcDriver";
//数据库地址exam应该是所谓服务名,因为你驱动类用的是sun所有不知道你是用的什么库
String strDBUrl="jdbc:odbc:exam";
//得到连接,后面还得用DriverManager.ceratConnction()来完成实例化有三个参数,地址,用户名,密码
private Connection conn=null;
//得到状态,用来操作sql用的,要用Connection的实例也就是conn来创建他的实例conn.cerateStatemnt()
private Statement stmt=null;
//结果集,查询的话肯定会有结果返回的,这个就是结果的集合了
ResultSet rs=null;
后面都是try catch了,不过看这个写的很不规范,关闭连接应该放在finally里面
别的就真没什么好说了,如果try catch finnaly不知道怎么用那就不是数据库连接不懂是java语法不明白,建议你另开一题问问try catch怎么用,否则解答的太琐碎难免让人理解不了