Java连接mysql数据库.docx
- 文档编号:5842581
- 上传时间:2023-01-01
- 格式:DOCX
- 页数:8
- 大小:19.24KB
Java连接mysql数据库.docx
《Java连接mysql数据库.docx》由会员分享,可在线阅读,更多相关《Java连接mysql数据库.docx(8页珍藏版)》请在冰豆网上搜索。
Java连接mysql数据库
Java连接mysql
环境配置
首先,我要说明的是我现在tomcat的安装路径是:
D:
\ProgramFiles\Java\Tomcat;JDK的安装路径是:
D:
\ProgramFiles\Java\j2sdk。
在这里,需要配置环境变量的是JDBC驱动.在配置前先要把刚才说到的mysql-connector-java-3.1.8-bin.jar本地硬盘某处(我放的地方:
D:
\ProgramFiles\Java\mysqlforjdbc),然后根据你放的地方,配置classpath,我的配置是这样的:
D:
\Programfiles\Java\j2sdk\lib\tools.jar;
D:
\ProgramFiles\Java\j2sdk\lib\mysql-connector-java-3.1.8-bin-g.jar;
D:
\ProgramFiles\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:
\ProgramFiles\Java\Tomcat\common\lib
D:
\ProgramFiles\Java\Tomcat\shared\lib
四.数据库的使用
Mysql安装完毕以后,还有一些要注意的地方(推荐文章):
还有就是看mysql的官方中文文档。
。
。
。
。
。
。
。
。
。
。
就象在文章提到的,mysql安装好后最重要一样就是要看数据库有没有作为系统服务启动了,所以在大家进行数据库操作前,应要看看,在操作系统的开始->运行->输入services.msc,确定你在安装时你设置的关于mysql的那个服务已经启动,这样你在操作数据库时不会报连接不上的错误.
上面提到了一个较方便的mysql界面插件,但是这个界面是我在已经开始使用mysql后才找到的,刚开始我是在dos下用命令行进行操作的.虽然那个界面也可以进行建库啊,设定权限等操作,但是,我觉得懂得在使用命令行也是一个很重要的技能,所以我先从命令行开始说,怎样简单使用mysql.到后面会谈及mysql-front的使用.
现在我想在mysql里建一个数据库shujuku,以及在数据库里建一个表biao.具体的命令如下(假设mysql我是刚安装好的)
1.进入dos状态(记住命令行的要运行在mysql的安装目录下的bin目录的)
2.连接mysql
输入:
mysql–hlocalhost–uroot–p
输入在安装时已设好的密码,就近入了mysql的命令编辑界面了。
3.使用mysql的基本命令(在mysql命令行编辑每输入完命令后最后一定要有分号,不然会报错)
显示数据库:
showdatabases;
使用数据库:
use数据库名;
4.建库
命令:
createdatabaseshujuku;
5.为数据库设置权限(用户和密码)
命令:
grantallprivilegesonshujuku.*totest@localhostidentifiedby“123456”;
当你执行完这个命令以后,只要你再以用户名:
test,密码:
123456登录时你就只可以对shujuku这个数据库操作,这样避开使用root,对数据库的安全有很大帮助.
6.建表
命令:
createtablebiao(idint(8)primarykey,namevarchar(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页面,代码如下:
<%@pagecontentType="text/html;charset=gb2312"%>
<%@pagelanguage="java"%>
<%@pageimport="com.mysql.jdbc.Driver"%>
<%@pageimport="java.sql.*"%>
<%
//驱动程序名
StringdriverName="com.mysql.jdbc.Driver";
//数据库用户名
StringuserName="cl41";
//密码
StringuserPasswd="123456";
//数据库名
StringdbName="db";
//表名
StringtableName="dbtest";
//联结字符串
Stringurl="jdbc:
mysql:
3306//localhost/"+dbName+";
Class.forName("com.mysql.jdbc.Driver").newInstance();
Connectionconnection=DriverManager.getConnection(url,userName,userPasswd);
Statementstatement=connection.createStatement();
Stringsql="SELECT*FROM"+tableName;
ResultSetrs=statement.executeQuery(sql);
//获得数据结果集合
ResultSetMetaDatarmeta=rs.getMetaData();
//确定数据集的列数,亦字段数
intnumColumns=rmeta.getColumnCount();
//输出每一个数据值
out.print("id");
out.print("|");
out.print("num");
out.print("
");
while(rs.next()){
out.print(rs.getString
(1)+"");
out.print("|");
out.print(rs.getString
(2));
out.print("
");
}
out.print("
");
out.print("数据库操作成功,恭喜你");
rs.close();
statement.close();
connection.close();
%>
<出处:
Saulzy的BLOG>
Trackback:
上面的没成功用下面的
将mysql-connector-java-5.0.4-bin.jar放入C:
\ProgramFiles\Java\jdk1.5.0_09\jre\lib和C:
\ProgramFiles\ApacheSoftwareFoundation\Tomcat6.0\lib中,并设置环境变量classpathC:
\ProgramFiles\Java\jdk1.5.0_09\jre\lib\mysql-connector-java-5.0.4-bin.jar;C:
\ProgramFiles\ApacheSoftwareFoundation\Tomcat6.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:
xmlversion="1.0"encoding="gbk"?
>
<%@pagelanguage="java"contentType="text/html;charset=gbk"
pageEncoding="gbk"%>
DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http:
//www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<%@pageimport="java.sql.*"%>
<%!
//这个函数用来获取一个和数据库的连接
ConnectiongetConnection()throwsSQLException{
StringdbURL="jdbc:
mysql:
//localhost/mysql";
StringdbUser="root";
StringdbPassword="851120";
try{
Class.forName("com.mysql.jdbc.Driver");
}catch(ClassNotFoundExceptione){
e.printStackTrace();
}
returnDriverManager.getConnection(dbURL,dbUser,dbPassword);
}
//判断一个字符串是否为空
booleanisEmptyString(Stringstr){
returnstr==null||str.length()==0||str.trim().length()==0;
}
//下面的函数使显示的字符串为汉语
Stringconvert(Stringstr){
try{
returnnewString(str.getBytes("ISO-8859-1"),"gbk");
}catch(Exceptione){
returnnull;
}
}
%>
--
functioncheckValue(){
if(document.forms["main"].sql.value.length==0){
alert("请输入要执行的SQL语句");
document.forms["main"].sql.focus();
returnfalse;
}else{
returntrue;
}
}
//-->
//www.w3.org/1999/xhtml">
<%//接受用户的输入显示查询结果%>
<%
//获取用户输入的SQL语句
Stringsql=request.getParameter("sql");
//out.print("qwe");
if(!
isEmptyString(sql)){
%>
您所输入的SQL语句是<%=sql%>
<%
Connectioncon=null;
Statementstmt=null;
ResultSetrs=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自身的描述信息
ResultSetMetaDatarsmd=rs.getMetaData();
//获取rs的列数目
intcolNum=rsmd.getColumnCount();
%>
您的查询结果为:
<%
for(inti=1;i<=colNum;i++){
%>
<%
}
%>
<%
while(rs.next()){
%>
<%
for(intj=1;j<=colNum;j++){
%>
<%
}
}
%>
<%
}else{
intcolNum=stmt.getUpdateCount();
%>
您更新了<%=colNum%>列!
<%
}
}catch(SQLExceptione){
%>
发生错误,请检查数据库的连接
<%
}finally{
try{
if(rs!
=null)
rs.close();
}catch(Exceptione){
}
try{
if(stmt!
=null)
stmt.close();
}catch(Exceptione){
}
try{
if(con!
=null)
con.close();
}catch(Exceptione){
}
}
}
%>