JSP连接mysql数据库
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
我写的一个用jsp连接MySQL数据库的代码。
要正确的使用这段代码,你需要首先在MySQL数据库里创建一username表,表里面创建两个字符型的字段,字段名分别为:uid,pwd,然后插入几条测试数据。
欢迎各位提出改进的意见。
以下用两种方式来实现JSP连接MySql数据库。
第一种方式,用JSP实现。
程序代码
<%@ page contentType="text/html; charset=gb2312" language="java"
import="java.sql.*"%>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<%
//**************************************
********* JDBC_ODBC连接MySql数据库,不需要设置数据源
*********************************/
//********** 数据库连接代码开始******/
//以下几项请自行修改
String server="localhost"; //MYSQL 服务器的地址
String dbname="test"; //MYSQL 数据库的名字
String user="root"; //MYSQL 数据库的登录用户名
String pass="chfanwsp"; //MYSQL 数据库的登录密码
String port="3306"; //SQL Server 服务器的端口号,默认为1433
//数据库连接字符串
String url
="jdbc:mysql://"+server+":"+port+"/"+dbname+"?user="+user+"&password="+pass+"&useUnicode=tru e&characterEncoding=GB2312";
//加载驱动程序
Class.forName("org.gjt.mm.mysql.Driver").newInstance();
//建立连接
Connection conn= DriverManager.getConnection(url);
//创建语句对象
Statement
stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); // **** 数据库连接代码结束*******
String sql="select * from username";
ResultSet rs=stmt.executeQuery(sql);
//rs.first();
while(rs.next()){
out.print("用户名:");
out.print(rs.getString("uid")+" 密码:");
out.println(rs.getString("pwd")+"<br>");
}
rs.close();
stmt.close();
conn.close();
%>
第二种方式,用JavaBean来实现。
请看代码:
DBConnMySql.java
编译以后的Class文件应该放在WEB-INF\classes\conn目录下。
程序代码
package conn; //导入包
import java.sql.*; //导入数据库操作的类
public class DBConnMySql //构造方法,初始化
{
private Connection conn; //连接对象
private Statement stmt; //语句对象
private ResultSet rs; //结果集对象
private String MySqldriver;//MYSQL Server驱动程序字符串
private String MySqlURL; //MYSQL Server连接字符串
//********************************
*用 org.gjt.mm.mysql.Driver 驱动
* 该方法取得连接所需各种参数,组成连接字符串,然后再建立连接* server;dbname,user,pass,port 分别表示MYSQL 服务器的地址, * 数据库,用户名,密码,端口
**********************************/
public Connection getConnToMySql(String server,String dbname,String user,String pass,String port){ //MYSQl驱动程序
MySqldriver = "org.gjt.mm.mysql.Driver";
MySqlURL = "jdbc:mysql://"; //连接字符串一部分
try{
//完整的连接字符串
MySqlURL
=MySqlURL+server+":"+port+"/"+dbname+"?user="+user+"&password="+pass+"&useUnicode=true&ch aracterEncoding=GB2312";
Class.forName(MySqldriver);
conn = DriverManager.getConnection(MySqlURL);
}catch(Exception e){
System.out.println("操作数据库出错,请仔细检查");
//System.err.println(e.getMessage());
}
return conn;
}
//关闭数据库连接
public void close()
{
try{
//rs.close();
//stmt.close();
conn.close();
}catch(SQLException sqlexception){
sqlexception.printStackTrace();
}
}
}
这个文件只是实现了数据库的连接,下面我们再写一个测试文件。
就是用sql语句从数据库里查询出记录,以验证我们数据库的连接是否成功。
connmysql.jsp 文件源代码如下:
程序代码
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<%@ page contentType="text/html; charset=gb2312" language="java"
import="java.sql.*" %>
<jsp:useBean id="DBConn" scope="page" class="conn.DBConnMySql"/><%
//以下几项请自行修改
String server="localhost"; //MYSQL 服务器的地址
String dbname="test"; //MYSQL 数据库的名字
String user="root"; //MYSQL 数据库的登录用户名
String pass="chfanwsp"; //MYSQL 数据库的登录密码
String port="3306"; //SQL Server 服务器的端口号,默认为1433
Connection conn=DBConn.getConnToMySql(server,dbname,user,pass,port);
Statement
stmt=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY );
String sql="select * from username";
String sql1="insert into username (uid,pwd) values('梦想年华','梦想年华')";
stmt.executeUpdate(sql1);
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()){
out.print("用户名:");
out.print(rs.getString("uid")+" 密码:");
out.println(rs.getString("pwd")+"<br>");
}
//rs.close();
//stmt.close();
//conn.close();
DBConn.close();
%>。