jsp连接mysql数据库大全

一. 软件下载
Mysql
下载版本:4.1.11
http://dev.mysql.com/downloads/mysql/4.1.html
JDBC驱动
下载版本:3.1.8
http://dev.mysql.com/downloads/connector/j/3.1.html

Mysql界面插件:mysql-front
下载版本镜像:HongKong(下回来安装就是中文版了)
http://www.mysqlfront.de/download.html

二. 软件安装
1.安装mysql
请参阅资料版区相关文章

http://info.mysql.cn/install/2006/0208/81.html

2.JDBC驱动:mysql-connector-java-3.1.8
这只是一个压缩包,并不需要安装,只要将其解压,我么使用的是文件夹mysql-connector-java-3.1.8里的文件:mysql-connector-java-3.1.8-bin.jar.

3. Mysql界面插件:mysql-front
这是一个安装程序,按照提示安装就可以了.

三. 环境配置
首先,我要说明的是我现在tomcat的安装路径是: D:Program FilesJavaTomcat;JDK的安装路径是:D:Program FilesJavaj2sdk。

在这里,需要配置环境变量的是JDBC驱动.在配置前先要把刚才说到的mysql-connector-java-3.1.8-bin.jar本地硬盘某处(我放的地方:D:Program FilesJavamysqlforjdbc),然后根据你放的地方,配置classpath,我的配置是这样的:

D:Program filesJavaj2sdklib ools.jar;

D:Program FilesJavaj2sdklibmysql-connector-java-3.1.8-bin-g.jar;

D:Program FilesJavamysqlforjdbcmysql-connector-java-3.1.8-bin.jar

配置这个的目的是让你的java应用程序找到连接mysql的驱动.

配置完环境变量后还有很重要一步就是为JSP连接数据库配置驱动,这个其实很简单,就是把mysql-connector-java-3.1.8- bin.jar拷到某些文件夹里就行了,我在网上看了很多资料问了很多人,各种说法都有,我综合了一下,为了保险,我都全做了,呵呵,反正就是拷一个 400K的文件而已,现列出要把mysql-connector-java-3.1.8-bin.jar拷进去的文件夹,如下:
D:Program FilesJavaTomcatcommonlib
D:Program FilesJavaTomcatsharedlib

四. 数据库的使用

Mysql安装完毕以后,还有一些要注意的地方(参考):

http://info.mysql.cn/install/2006/0208/82.html

就象在文章提到的,mysql安装好后最重要一样就是要看数据库有没有作为系统服务启动了,所以在大家进行数据库操作前,应要看看,在操作系统的开始->运行->输入services.msc,确定你在安装时你设置的关于mysql的那个服务已经启动,这样你在操作数据库时不会报连接不上的错误.

上面提到了一个较方便的mysql界面插件,但是这个界面是我在已经开始使用mysql后才找到的,刚开始我是在dos下用命令行进行操作的.虽然那个界面也可以进行建库啊,设定权限等操作,但是,我觉得懂得在使用命令行也是一个很重要的技能,所以我先从命令行开始说,怎样简单使用mysql.到后面会谈及mysql-front的使用.

现在我想在mysql里建一个数据库shujuku,以及在数据库里建一个表biao.具体的命令如下(假设mysql我是刚安装好的)

1. 进入dos状态(记住命令行的要运行在mysql的安装目录下的bin目录的)

2. 连接mysql
输入:mysql –h localhost –u root –p
输入在安装时已设好的密码,就近入了mysql的命令编辑界面了。

3. 使用mysql的基本命令(在mysql命令行编辑每输入完命令后最后一定要有分号,不然会报错)
显示数据库:show databases;
使用数据库:use 数据库名;

4.建库
命令:create database shujuku;

5.为数据库设置权限(用户和密码)
命令:grant all privileges on shujuku.* to test@localhost identified by “123456”;
当你执行完这个命令以后,只要你再以用户名:test,密码:123456登录时你就只可以对shujuku这个数据库操作,这样避开使用root,对数据库的安全有很大帮助.

6.建表
命令:create table biao(id int(8) primary key,name varchar(10));

剩下来的与标准sqsl命令基本上是一样的,具体操作略
值得一提的是,你在命令行上输入”?”,就会有mysql命令的简单帮助,如下:

呵呵,那样,我们还可以知道退出,就是”exit”,呵呵!

五. 关于mysql-front的使用

我找了好几个mysql的界面工具,觉得最简洁方便还是mysql-front,可惜的是要收费,不过还好有试用期,呵呵,可以先感受感受一下,最重要一点是mysql-front有简体中文版的,英文不好的我用起来就舒服多了.下面简单说说使用吧.

首先,安装就不用说了,有向导,而且很简单.安装好后第一次运行时会跳出来一个要求添加对话的框,在这里你可以添加例如上面已经设定好的shujuku,过程如下:
当你在注册的复选框里填上你在上面mysql设定好的用户名和密码后,在选择数据库框里就有shujuku 的数据库了,选上,按确定.进入mysql-fron后,你就会看到下面的界面,这是你就可以进行操作了.

要说明的是,你还可以把root用户也加进去,这要你在mysql-fron的界面上选设置->对话->新建,再按上面进行就可以,出了root你还可以加入更多的用户,方法还是一样的,设置不同的用户,是方便对不同数据库进行管理,呵呵,root是权限最高的,可不要随便让别人使用你的root用户,保正你数据库的安全.

六. JSP连接mysql
现在就是尝试用jsp连接mysql了
我在eclipse里建了个test_mysql.jsp页面,代码如下:

<%@ page contentType=”text/html; charset=gb2312″ %>

<%@ page language=”java” %>

<%@ page import=”com.mysql.jdbc.Driver” %>

<%@ page import=”java.sql.*” %>

<%

//驱动程序名

String driverName=”com.mysql.jdbc.Driver”;

//数据库用户名

String userName=”cl41″;

//密码

String userPasswd=”123456″;

//数据库名

String dbName=”db”;

//表名

String tableName=”dbtest”;

//联结字符串

String url=”jdbc:mysql://localhost/”+dbName+”?user=”+userName+”&password=”+userPasswd;

Class.forName(“com.mysql.jdbc.Driver”).newInstance();

Connection connection=DriverManager.getConnection(url);

Statement statement = connection.createStatement();

String sql=”SELECT * FROM “+tableName;

ResultSet rs = statement.executeQuery(sql);

//获得数据结果集合

ResultSetMetaData rmeta = rs.getMetaData();

//确定数据集的列数,亦字段数

int numColumns=rmeta.getColumnCount();

// 输出每一个数据值

out.print(“id”);

out.print(“|”);

out.print(“num”);

out.print(“<br>”);

while(rs.next()) {

out.print(rs.getString(1)+” “);

out.print(“|”);

out.print(rs.getString(2));

out.print(“<br>”);

}

out.print(“<br>”);

out.print(“数据库操作成功,恭喜你”);

rs.close();

statement.close();

connection.close();

%>

然后把test??_mysql.jsp部署到tomcat处,如何部署可参考”配置Eclpise+tomcat并实现JSP的编写与部署”,在浏览器中就可以看到结果了。(e129)

初学jsp的网友经常会问数据库怎么连接啊,我集中的在这写篇文章供大家参考,
现在开始我们的jsp和数据库之旅吧!

●jsp连接MySQL数据库
testmysql.jsp如下:
<%@ page contentType=”text/html;charset=gb2312″%>
<%@ page import=”java.sql.*”%>
<html>
<body>
<%Class.forName(“org.gjt.mm.mysql.Driver”).newInstance();
String url =”jdbc:mysql://localhost/softforum?user=soft&password=soft1234&useUnicode=true&characterEncoding=8859_1″
//testDB为你的数据库名
Connection conn= DriverManager.getConnection(url);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql=”select * from test”;
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()) {%>
您的第一个字段内容为:<%=rs.getString(1)%>
您的第二个字段内容为:<%=rs.getString(2)%>
<%}%>
<%out.print(“数据库操作成功,恭喜你”);%>
<%rs.close();
stmt.close();
conn.close();
%>
</body>
</html>

我写的一个用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=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-INFclassesconn目录下。

程序代码 程序代码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();
%>

 

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>