jsp数据库
1. jsp如何连接数据库
1、先打开我们编辑运行JSP的开发环境,我们新建一个java web项目。
2. 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();
3. jsp一般用什么数据库
做练习一般用Mysql,小企业网站一般用Sql Server,大型的网站一般用oracle。
如果你是个新人,建议你学习的时候用Mysql来练手。
有问题可以找我。呵呵
4. JSP 数据库操作
因为是静态方法,也那么用啊。
凡是用static声明过的都直接用。
Database.releaseConnection(con);
参数就是你的连接对象,不是调用过Database.getConnection()了吗,把调用这个的对象放到里面就行了。
Connection con = Database.getConnection();
…… //数据库操作
Database.releaseConnection(con);//关闭连接
5. jsp用什么数据库
jsp可以调用几乎所有的数据库,sql server, mysql, db2, oracle等。
sql server怎么会是.net设计的? 只是sql server2005可以调用.net的程序集而已。sqlserver是很不错的数据库。
但总的来说,jsp还是用mysql好。这两者结合比较密切,jsp有相关的sdk来调用。开发起来快。
6. jsp,数据库
package com.runoob.test;
import java.sql.*;
public class MySQLDemo {
// JDBC 驱动名及数据库 URL
static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
static final String DB_URL = "jdbc:mysql://localhost:3306/RUNOOB";
// 数据库的用户名与密码,需要根据自己的设置 static final String USER = "root"; static final String PASS = "123456";
public static void main(String[] args) { Connection conn = null; Statement stmt = null; try{
// 注册 JDBC 驱动 Class.forName("com.mysql.jdbc.Driver");
// 打开链接 System.out.println("连接数据库..."); conn = DriverManager.getConnection(DB_URL,USER,PASS);
// 执行查询 System.out.println(" 实例化Statement对..."); stmt = conn.createStatement(); String sql; sql = "SELECT id, name, url FROM websites"; ResultSet rs = stmt.executeQuery(sql);
// 展开结果集数据库 while(rs.next()){
// 通过字段检索 int id = rs.getInt("id"); String name = rs.getString("name"); String url = rs.getString("url");
// 输出数据 System.out.print("ID: " + id); System.out.print(", 站点名称: " + name); System.out.print(", 站点 URL: " + url); System.out.print("\n");
}
// 完成后关闭 rs.close(); stmt.close(); conn.close();
}catch(SQLException se){
// 处理 JDBC 错误 se.printStackTrace();
}catch(Exception e){
// 处理 Class.forName 错误 e.printStackTrace();
}finally{
// 关闭资源 try{ if(stmt!=null) stmt.close();
}catch(SQLException se2){
}// 什么都不做 try{ if(conn!=null) conn.close();
}catch(SQLException se){ se.printStackTrace();
}
} System.out.println("Goodbye!");
}
}
7. 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方法。
8. 在jsp中使用数据库
pst=myCon.prepareStatement(sql);//通过数据连接得到prepareStatement来执行SQL语句.其中传入Sql语句字符串参数
rs=pst.executeQuery();//执行查询,将返回结果放入ResultSetrs结果集中
if(rs.next())
{
bool=true;
}
//rs.next()是否有下一个数据,如果有bool设置为真,否则还是等于初始值.
然后返回结果.
具体实现了检查用户信息是否存在.
select * from td_user where uname='"+username+"' and upass='"+userpass"
上面的SQL语句是查询所有信息在td_user表,但是uname=username还有pass = userpass
9. jsp中如何获得数据库的值
最简单的JSP页面中的数据库操作方法:
<%@ page
language="java"
contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"
%>
<%@page import="java.sql.*"%>
<center>
<H1> <font color="blue" size="12">管理中心</font></H1>
<HR />
<table width="80%" border="1">
<tr>
<th>ID</th>
<th>书名</th>
<th>作者</th>
<th>价格</th>
<th>删除</th>
</tr>
<%
// 数据库的名字
String dbName = "zap";
// 登录数据库的用户名
String username = "sa";
// 登录数据库的密码
String password = "123";
// 数据库的IP地址,本机可以用 localhost 或者 127.0.0.1
String host = "127.0.0.1";
// 数据库的端口,一般不会修改,默认为1433
int port = 1433;
String connectionUrl = "jdbc:sqlserver://" + host + ":" + port + ";databaseName=" + dbName + ";user=" + username
+ ";password=" + password;
//
//声明需要使用的资源
// 数据库连接,记得用完了一定要关闭
Connection con = null;
// Statement 记得用完了一定要关闭
Statement stmt = null;
// 结果集,记得用完了一定要关闭
ResultSet rs = null;
try {
// 注册驱动
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
// 获得一个数据库连接
con = DriverManager.getConnection(connectionUrl);
String SQL = "SELECT * from note";
// 创建查询
stmt = con.createStatement();
// 执行查询,拿到结果集
rs = stmt.executeQuery(SQL);
while (rs.next()) {
%>
<tr>
<td>
<%=rs.getInt(1)%>
</td>
<td>
<a href="prepareupdate?ID=<%=rs.getInt("ID")%>" target="_blank"><%=rs.getString(2)%></a>
</td>
<td>
<%=rs.getString(3)%>
</td>
<td>
<%=rs.getString(4)%>
</td>
<td>
<a href="delete?ID=<%=rs.getInt("ID")%>" target="_blank">删除</a>
</td>
</tr>
<%
}
} catch (Exception e) {
// 捕获并显示异常
e.printStackTrace();
} finally {
// 关闭我们使用过的资源
if (rs != null)
try {
rs.close();
} catch (Exception e) {}
if (stmt != null)
try {
stmt.close();
} catch (Exception e) {}
if (con != null)
try {
con.close();
} catch (Exception e) {}
}
%>
</table>
<a href="insert.jsp">添加新纪录</a>
</center>