轻松应对JSP连接MySQL数据库问题

来源:互联网 发布:mc天佑知乎 编辑:程序博客网 时间:2024/04/29 22:56
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 160x600, 创建于 08-4-23MSDN */google_ad_slot = "4367022601";google_ad_width = 160;google_ad_height = 600;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
.Poj851{display:none;}

当您面临JSP连接MySQL数据库问题,你首先需要在MySQL数据库里创建一username表,表里面创建两个字符型的字段,字段名分别为:uid,pwd,然后插入几条测试数据。


以下用两种方式来实现JSP连接MySQL数据库


第一种方式,用JSP实现:


<%@pagecontentType="text/html;
charset=gb2312"language="java"
 import="java.sql.*"%>
<metahttp-equiv="Content-Type"content="text/html;charset=gb2312">
<%//*******************************
****************
 JDBC_ODBC连接MySQL数据库,不需要设置数据源***********
**********************/ 
 //**********数据库连接代码 开始******/  
//以下几项请自行修改Stringserver="localhost";       
//MySQL服务器的地址Stringdbname="test";          
 //MySQL数据库的名字Stringuser="root";               
//MySQL数据库的登录用户名Stringpass="chfanwsp";           
//MySQL数据库的登录密码Stringport="3306";   
//SQLServer服务器的端口号,
默认为1433//数据库连接字符串
 Stringurl="jdbc:MySQL://"+server+":"+port+"/"+dbname+"?
user="+user+"&passWord="+pass+"&useUnicode
=true&characterEncoding=GB2312";
//加载驱动程序Class.forName("org.gjt.mm.MySQL.Driver").newInstance();
//建立连接Connectionconn=DriverManager.getConnection(url);
//创建语句对象Statementstmt=conn.createStatement
(ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_UPDATABLE);
//****    数据库连接代码 结束******* 
 Stringsql="select*fromusername";
ResultSetrs=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目录下。


packageconn;   //导入包importjava.sql.*;       
//导入数据库操作的类publicclassDBConnMySQL           
//构造方法,初始化{privateConnectionconn;       
//连接对象privateStatementstmt;   
//语句对象privateResultSetrs;   
//结果集对象privateStringMySQLdriver;
//MySQLServer驱动程序字符串privateStringMySQLURL;
//MySQLServer连接字符串//*********************************
用 org.gjt.mm.MySQL.Driver驱动
* 该方法取得连接所需各种参数,组成连接字符串,
然后再建立连接* server;dbname,user,pass,port
分别表示MySQL服务器的地址,
* 数据库,用户名,密码,端口
**********************************/
publicConnectiongetConnToMySQL
(Stringserver,Stringdbname,Stringuser,Stringpass,Stringport)
{//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(Exceptione){System.out.println
("操作数据库出错,请仔细检查");
//System.err.println(e.getMessage());}returnconn;}   
//关闭数据库连接publicvoidclose(){try{//rs.close();
//stmt.close();conn.close();}catch(SQLException
sqlexception){sqlexception.printStackTrace();}}}


这个文件只是实现了数据库的连接,下面再写一个测试文件,就是用SQL语句从数据库里查询出记录,以验证我们数据库的连接是否成功。


connMySQL.JSP文件源代码如下:


<metahttp-equiv="Content-Type"content="text/html;
charset=gb2312"><%@pagecontentType="text/html;
charset=gb2312"language="java"import="java.sql.*" %>
<JSP:useBeanid="DBConn"scope="page"class="conn.DBConnMySQL"/>
<%//以下几项请自行修改Stringserver="localhost";       
//MySQL服务器的地址Stringdbname="test";      
 //MySQL数据库的名字Stringuser="root";           
//MySQL数据库的登录用户名Stringpass="chfanwsp";       
//MySQL数据库的登录密码Stringport="3306";          
 //SQLServer服务器的端口号,默认为1433Connection
conn=DBConn.getConnToMySQL
(server,dbname,user,pass,port);
Statementstmt=conn.createStatement
(ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_READ_ONLY);
Stringsql="select*fromusername";
Stringsql1="insertintousername(uid,pwd)values
('梦想年华','梦想年华')";stmt.executeUpdate(sql1);
ResultSetrs=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();%>

 

<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 160x600, 创建于 08-4-23MSDN */google_ad_slot = "4367022601";google_ad_width = 160;google_ad_height = 600;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
原创粉丝点击