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
二. 软件安装
打开下载的mysql安装文件mysql-5.0.27-win32.zip,双击解压缩,运行“setup.exe”,出现如下界面:
设置完毕,按“Finish”结束mysql的安装与配置——这里有一个比较常见的错误,就是不能“Start service”,一般出现在以前有安装mysql的服务器上,解决的办法,先保证以前安装的mysql服务器彻底卸载掉了;不行的话,检查是否按上面一步所说,之前的密码是否有修改,照上面的操作;如果依然不行,将mysql安装目录下的data文件夹备份,然后删除,在安装完成后,将安装生成的 data文件夹删除,备份的data文件夹移回来,再重启mysql服务就可以了,这种情况下,可能需要将数据库检查一下,然后修复一次,防止数据出错。
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 Files/Java/Tomcat;JDK的安装路径是:D:/Program Files/Java/j2sdk。
在这里,需要配置环境变量的是JDBC驱动.在配置前先要把刚才说到的mysql-connector-java-3.1.8-bin.jar本地硬盘 某处(我放的地方:D:/Program Files/Java/mysqlforjdbc),然后根据你放的地方,配置classpath,我的配置是这样的:
D:/Program files/Java/j2sdk/lib/tools.jar;
D:/Program Files/Java/j2sdk/lib/mysql-connector-java-3.1.8-bin-g.jar;
D:/Program Files/Java/mysqlforjdbc/mysql-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 Files/Java/Tomcat/common/lib
D:/Program Files/Java/Tomcat/shared/lib
四. 数据库的使用
Mysql安装完毕以后,还有一些要注意的地方(推荐文章):http://blog.csdn.net/saulzy/archive/2005/04/23/359811.aspx
还有就是看mysql的官方中文文档。。。。。。。。。。。
就象在文章提到的,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:3306//localhost/"+dbName+";
Class.forName("com.mysql.jdbc.Driver").newInstance();
Connection connection=DriverManager.getConnection(url,userName,userPasswd);
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();
%>
<出处: Saulzy的BLOG>
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=678313
上面的没成功用下面的
将mysql-connector-java-5.0.4-bin.jar放入C:/Program Files/Java/jdk1.5.0_09/jre/lib和C:/Program Files/Apache Software Foundation/Tomcat 6.0/lib中,并设置环境变量classpath C:/Program Files/Java/jdk1.5.0_09/jre/lib/mysql-connector-java-5.0.4-bin.jar;C:/Program Files/Apache Software Foundation/Tomcat 6.0/lib/mysql-connector-java-5.0.4-bin.jar;
现在可以进行java和mysql数据库的连接了
下面用一个简单的例子来测试一下
在tomcat/webapps/下建一个文件夹mysqlManager,创建目录mysqlManager/WEB-INF/classes
mysqlManager/WEB-INF/web.xml
在/mysqlManager/ 下新建index.jsp文件,内容如下
/mysqlManager/index.jsp:
<?xml version="1.0" encoding="gbk" ?>
<%@ page language="java" contentType="text/html; charset=gbk"
pageEncoding="gbk"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<%@ page import="java.sql.*" %>
<%!
//这个函数用来获取一个和数据库的连接
Connection getConnection() throws SQLException{
String dbURL="jdbc:mysql://localhost/mysql";
String dbUser="root";
String dbPassword="851120";
try{
Class.forName("com.mysql.jdbc.Driver");
}catch(ClassNotFoundException e){
e.printStackTrace();
}
return DriverManager.getConnection(dbURL,dbUser,dbPassword);
}
//判断一个字符串是否为空
boolean isEmptyString(String str){
return str==null||str.length()==0||str.trim().length()==0;
}
//下面的函数使显示的字符串为汉语
String convert(String str){
try{
return new String(str.getBytes("ISO-8859-1"),"gbk");
}catch(Exception e){
return null;
}
}
%>
<script type="text/javascript">
<!--
function checkValue(){
if(document.forms["main"].sql.value.length==0){
alert("请输入要执行的SQL语句");
document.forms["main"].sql.focus();
return false;
}else{
return true;
}
}
//-->
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gbk" />
<title>mysql数据库管理系统</title>
</head>
<body>
<center>
<table width="80%" border="0">
<tr>请输入要查询的SQL语句</tr>
<tr>
<form action="index.jsp" name=main method="post" οnsubmit="checkValue()">
<td>
<textarea name="sql" cols=80 rows=15></textarea>
</td>
<td valign="bottom">
<input type="submit" value="提交"/>
</td>
</form>
</tr>
</table>
<hr />
<%//接受用户的输入显示查询结果 %>
<%
//获取用户输入的SQL语句
String sql=request.getParameter("sql");
//out.print("qwe");
if(!isEmptyString(sql)){
%>
<p>您所输入的SQL语句是<%=sql %></p>
<%
Connection con=null;
Statement stmt=null;
ResultSet rs=null;
//out.print("qwe");
try{
//out.print("qwe");
con=getConnection();
//out.print("qwe");
stmt=con.createStatement();
//stmt.execute(sql);
if(stmt.execute(sql)){
//执行结果是ResultSet
rs=stmt.getResultSet();
//获取rs自身的描述信息
ResultSetMetaData rsmd=rs.getMetaData();
//获取rs的列数目
int colNum=rsmd.getColumnCount();
%>
<p>您的查询结果为:</p>
<table border="1">
<tr>
<%
for(int i=1;i<=colNum;i++){
%>
<td><%=rsmd.getColumnName(i) %></td>
<%
}
%>
</tr>
<%
while(rs.next()){
%>
<tr>
<%
for(int j=1;j<=colNum;j++){
%>
<td><%=convert(rs.getString(j)) %></td>
<%
}
}
%>
</tr>
</table>
<%
}else{
int colNum=stmt.getUpdateCount();
%>
<p>您更新了<%=colNum %>列!</p>
<%
}
}catch(SQLException e){
%>
<p>发生错误,请检查数据库的连接</p>
<%
}finally{
try{
if(rs!=null)
rs.close();
}catch(Exception e){
}
try{
if(stmt!=null)
stmt.close();
}catch(Exception e){
}
try{
if(con!=null)
con.close();
}catch(Exception e){
}
}
}
%>
</center>
</body>
</html>
在浏览其中运行http://localhost:8080/mysqlManager/index.jsp
在输入框中输入sql查询语句 select * from user 会产生查询结果
如有疑问可以给我发信qiudawei115@sohu.com
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1575829