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>
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>
把这个jar随便放什么地方,不过要包含到classpath里去
然后再把这个jar复制到<tomcat>\common\lib下
重启tomcat
test.jsp文件:
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<html>
<body>
<%
//try{
Class.forName("org.gjt.mm.mysql.Driver").newInstance();
String url ="jdbc:mysql://localhost/mysql";
Connection conn= DriverManager.getConnection(url);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from user";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()) out.println("one/n");
out.print("数据库操作成功,恭喜你");
rs.close();
stmt.close();
conn.close();
//}catch(Exception e){out.println(e.toString());}
%>
</body>
</html>
我的程序如下:
package test;
import java.io.*;
import java.util.*;
import java.sql.*;
public class connect_sqlserver2000 {
String user="sa"; //连接数据库的用户名
String password="sa"; //连接数据库的密码,
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=test";
//上面一行为访问sql server2000的数据库地址和名字
String driver="com.microsoft.jdbc.sqlserver.SQLServerDriver";
//上面一行为访问sql server2000的数据库的驱动程序地址,建议把驱动放在tomcat的WEB-INF/classes下
Connection con=null;
public ResultSet rst=null;
Statement smt=null;
public void init()
{
System.out.print("\n\n ----------欢迎使用 sql server2000 数据库----------李永沐\n\n");
rst=null;
try
{
Class.forName(driver);
System.out.print("\n\n 1.恭喜你,初始化数据库驱动程序成功!!!\n");
}
catch(java.lang.ClassNotFoundException e)
{
System.err.println("\n\n 1.初始化数据库驱动程序出错,请检查sql server2000的驱动程序是否配置正确。建议把驱动放在tomcat的WEB-INF/classes下。即:函数==>>init()出错。\n\n"+e.getMessage());
}
}
public ResultSet executequery(String sql)
{
try
{
con=DriverManager.getConnection(url,user,password);
Statement smt=con.createStatement();
rst=smt.executeQuery(sql);
System.out.print("\n\n 2.恭喜你,查询数据库成功!!!即:==>>executequery()操作成功。\n\n");
}
catch(SQLException ex)
{
System.err.println("\n\n 2.操作查询数据库失败,请检查数据库地址、用户名、密码以及你的SQL语句是否正确。即:==>>executeQuery()出错。\n\n"+ex.getMessage());
}
return rst ;
}
public void executeupdate(String sql)
{
try
{
con=DriverManager.getConnection(url,user,password);
Statement smt=con.createStatement();
smt.executeUpdate(sql);
System.out.print("\n\n 2.恭喜你,更新数据库成功!!!即:==>>executeupdate()操作成功。\n\n");
smt.close();
con.close();
}
catch(SQLException ex)
{
System.err.println("\n\n 2.操作更新数据库失败,请检查数据库地址、用户名、密码以及你的SQL语句是否正确.即:==>>executeQuery()出错。\n\n"+ex.getMessage());
}
}}下面是JSP代码:::::
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
<%@ page info="database handler"%>
<%@ page import="java.io.*"%>
<%@ page import="java.util.*"%>
<%@ page import="java.sql.*"%>
<%@ page import="javax.servlet.*"%>
<%@ page import="javax.servlet.http.*"%>
<html>
<body>
<jsp:useBean id="id" scope="request" class="test.connect_sqlserver2000"/>
<% String sql="";
ResultSet rs="";
%>
<%
id.init();
sql = "INSERT INTO User (user_Name) VALUES ('yangwu')";
id.executeupdate(sql);
sql = "SELECT user_Id,user_Name from User";
rs = id.executequery(sql);
out.println("<table border=1 width=400>");
while (rs.next())
{
String col1 = rs.getString(1);
String col2 = rs.getString(2);
//打印所显示的数据
out.println("<tr><td>"+col1+"</td><td>"+col2+"</td></tr>");
}
out.println("</table>");
}
/*以try开始
try
{
Connection con;
Statement stmt;
ResultSet rs;
//加载驱动程序,下面的代码为加载JDBD-ODBC驱动程序
//Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
//用适当的驱动程序连接到数据库,member 是系统dsn名
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=test";
//建立连接,类似于ASP中的创建数据库联接
con=DriverManager.getConnection(url, "", "5222117");
out.println("dfd");
//创建一个JDBC声明
stmt = con.createStatement();
//增加新记录
stmt.executeQuery("INSERT INTO User (user_Name) VALUES ('yangwu')");
//查询记录
rs = stmt.executeQuery("SELECT user_Id,user_Name from User");
//输出查询结果
out.println("<table border=1 width=400>");
while (rs.next())
{
String col1 = rs.getString(1);
String col2 = rs.getString(2);
//打印所显示的数据
out.println("<tr><td>"+col1+"</td><td>"+col2+"</td></tr>");
}
out.println("</table>");
}
//如果加载时出错,给出相应的错误信息
catch (Exception e) {
out.println(e);
} */
%>
</body>
</html>驱动没找到,
把那几个jar文件放到jdk\jre\lib\ext\里用的是什么服务器啊,tomcat,那就把msbase.jar,mssqlserver.jar,msutil.jar这三个文件放在..tomcat/commom/lib下。
之后就可以在程序中连接数据库:
import java.sql.*;
...
Class.forName("com.mysql.jdbc.Driver").newInstance();
conn = DriverManager.getConnection("jdbc:mysql://localhost/test?user=sunexp&password=19");
stmt = conn.createStatement();
rs = stmt.executeQuery("SELECT * FROM ...");
....其中getConnection("jdbc:mysql://localhost/test?user=sunexp&password=19");
localhost为拥有mysql server 的主机名,test为数据库名,接着是用户名和密码;
你必须现在库中加入此用户。
end.
本人运行一些正常。
==================================================
c:\>cd c:\mysql\binc:\mysql\bin>mysql
>mysql
使用mysql所支持的sql命令。看是否正常。创建一个数据库,创建一个表,并插入数据,然受执行查询工作。
==================================================
1、卸载mysql,重起,重新安装(不正常)
2、下载mysql驱动程序包,上面的兄弟说得很详细了
3、将mm.mysql-2.0.4-bin.jar文件放到你喜欢的目录下,如c:\3lib,然后在classpath添加
一句 c:\3lib。 这样才能正常驱动数据库。最好是你在你安装的jdk目录下.假设你安装在c:\jdk1.3下,则把jar文件分别copy到c:\jdk1.3\lib和c:\jdk1.3\jre\lib目录下,然后同样copy到你的jsp服务器的 WEB-INF\lib 下面(我的是resin)。
4、测试
代码如下:
===========================================================================
<%@ 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为你的数据库名 user password 改成你自己的。
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>
=========================================================================
测试通过
5、DB连接Bean文件,你可以在jsp文件中使用此bean连接数据库。
import java.sql.*;
public class DBBridge
{
String sDBDriver = "org.gjt.mm.mysql.Driver";
String sConnStr = "jdbc:mysql://127.0.0.1/work?user=root&password=123&useUnicode=true&characterEncoding=8859_1";//自己修改用户和密码
Connection conn = null;
ResultSet rs = null;
Statement stmt = null; public DBBridge()
{
try
{
Class.forName(sDBDriver);
}
catch(java.lang.ClassNotFoundException e)
{
System.err.println("SQL Exception : " + e.getMessage());
}
}
public ResultSet executeQuery(String sql)
{
try
{
conn = DriverManager.getConnection(sConnStr);
stmt = conn.createStatement();
rs = stmt.executeQuery(sql);
}
catch(SQLException ex)
{
System.err.println("test.executeQuery: " + ex.getMessage());
}
return rs;
}
}