我写的一个用jsp连接MySQL数据库的代码。
要正确的使用这段代码,你需要首先在MySQL数据库里创建一username表,表里面创建两个字符型的字段,字段名分别为:uid,pwd,然后插入几条测试数据。
欢迎各位提出改进的意见。
以下用两种方式来实现JSP连接MySql数据库。
第一种方式,用JSP实现。
第二种方式,用JavaBean来实现。请看代码:
DBConnMySql.java
编译以后的Class文件应该放在 WEB-INF/classes/conn目录下。
这个文件只是实现了数据库的连接,下面我们再写一个测试文件。
就是用sql语句从数据库里查询出记录,以验证我们数据库的连接是否成功。
connmysql.jsp 文件源代码如下:
要正确的使用这段代码,你需要首先在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数据库,不需要设置数据源
********* Date: 2005.8
********* Email:admin@freeage.cn
********* Author: DreamTime [梦想年华]
********* 有任何欢迎提出指正
*********************************/
//********** 数据库连接代码 开始 ******/
//以下几项请自行修改
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=true&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 ( ) ;
%>
import = "java.sql.*" % >
<meta http -equiv = "Content-Type" content = "text/html; charset=gb2312" >
<%
//**************************************
********* JDBC_ODBC连接MySql数据库,不需要设置数据源
********* Date: 2005.8
********* Email:admin@freeage.cn
********* Author: DreamTime [梦想年华]
********* 有任何欢迎提出指正
*********************************/
//********** 数据库连接代码 开始 ******/
//以下几项请自行修改
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=true&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目录下。
程序代码
//**************************************
* 作用:java通过JDBC连接MYSQL 数据库
* 作者:梦想年华
* Email:fanwsp@126.com
* Author: DreamTime [梦想年华]
* CopyRight(c)2005-2006 by DreamTime
*****************************************/
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&characterEncoding=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 ( ) ;
}
}
}
* 作用:java通过JDBC连接MYSQL 数据库
* 作者:梦想年华
* Email:fanwsp@126.com
* Author: DreamTime [梦想年华]
* CopyRight(c)2005-2006 by DreamTime
*****************************************/
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&characterEncoding=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 ( ) ;
%>
< %@ 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 ( ) ;
%>