jsp连接 mysql 的问题 这个问题我已解决了,谁随便回答一下,我好结帐给分。或者贴一些javabaean的代码,我马上给20分,谢谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 给你一段我的连接MySQL的JavaBean代码吧。package Conn;import java.sql.*;public class mySqlConn{ ResultSet rs=null; String DBDriver = "org.gjt.mm.mysql.Driver"; //MySQL的路径,根据需要,自己改动! String dburl="jdbc:mysql://localhost:3306/data?user=root&password=&useUnicode=true&characterEncoding=gb2312"; String strConn=null; public mySqlConn() { try{ Class.forName(DBDriver); } catch(java.lang.ClassNotFoundException e) {System.out.println("提示信息:"+e.getMessage());} } public ResultSet exeQue(Connection connObj,String sql) { rs=null; try{ //sql=new String(sql.getBytes("GBK"),"ISO8859_1"); Statement stmt=connObj.createStatement(); rs=stmt.executeQuery(sql); //connObj.close(); //stmt.close(); } catch(SQLException ex) {System.out.println("提示信息:"+ex.getMessage());} return rs; } public Connection newConn() { Connection connObj=null; try{ strConn =dburl; connObj=DriverManager.getConnection(strConn); } catch(SQLException e) {System.out.println("提示信息:"+e.getMessage());} return connObj; } public void setDburl(String s) { dburl=s; }} 把驱动的jar文件放在classpath就可以了 与Mysql数据库连接:1、安装mysql数据库,设置数据库的用户名为root,密码为空;2、将mysql-connector-java-3.0.8-stable.zip压缩包解压,然后将里面的文件 mysql-connector-java-3.0.8-stable-bin.jar拷贝到以下目录下:拷贝到你安装的j2sdk1.4.1_01\jre\lib\ext下,然后在Classpath中增加此路径,例如你的j2sdk安装在D盘,则加入:d:\j2sdk1.4.1_01\jre\lib\ext;(在服务器情况下,把该驱动放到$TOMCAT_HOME/common/lib/下,并把该目录放到classpath中);3、找一个mysql数据库的前端控制软件,例如:mysql_man、MySQL Studio V5.0等;4、用这个软件添加两个用户: 是你没有创建MYSQL的用户, 创建一个用户如:UserName:admin Pass:password FromHost:% 还需要创建一个可以访问本地数据库的相同用户: UserName:admin Pass:password FromHost:localhost 例如用MySQL Studio V5.0 ,安装进入后点击Connections,输入相关信息,测试通过后点击Save。进入后点击工具栏上的Manage Users添加相关的两个用户,并赋两者所有权限。5、然后就可以用新建的用户连接数据库!6、也可更改root的密码!更改(密码不再为空)以后在控制软件上以root用户将连接不上数据库,可以新建的用户连接!7、用DriverManager登记mm.mysql mm.mysql的class名为org.gjt.mm.mysql.Driver,登记时必须写成 Class.forName("org.gjt.mm.mysql.Driver").newInstance(); 8、jdbc url参数说明 url格式:jdbc:mysql://[hostname][:port]/dbname[?param1=value1][¶m2=value2]... 参数名 取值 缺省 user 数据库用户名 无 password 数据库用户口令 无 autoReconnect 当数据库连接丢失时是否自动连接,取值true/false false maxReconnects 如果autoReconnect为true,此参数为重试次数,缺省为3次 3 initialTimeout 如果autoReconnect为true,此参数为重新连接前等待的秒数 2 maxRows 设置查询时返回的行数,0表示全部 0 useUnicode 是否使用unicode输出,true/false false characterEncoding 如果useUnicode,该参数制定encoding类型,建议使用8859_1 无 9、提示 同时使用useUnicode,characterEncoding,能解决数据库输出时的中文问题 如:jdbc:mysql://localhost/test?user=root&useUnicode=true;characterEncoding=8859_1 10、把sql语句、文件和数据导入mysql数据库中的某个数据库的语法是: 1、打开DOS命令行; 2、进入mysql\bin目录; 3、输入:mysql -u mysql -p test<ntsky.sql -u后面的mysql是数据库的用户名,test是mysql中的相关数据库,ntsky.sql是数据库文件。回车后回提示你输入密码,把对应的密码输入即可 有没有关于 jsp+mysql+javabean 的连接代码实例呀 package sip;import java.sql.*;public class DBManager { private String user = "test"; private String password = "test"; private String host="192.168.0.192"; private String database="test"; /* private String url="jdbc:mysql://"+host+"/"+"useUnicode=true&characterEncoding=GB2312"; */ private String url ="jdbc:mysql://192.168.0.192/test?useUnicode=true&characterEncoding=GB2312"; private Connection con = null; Statement stmt; public DBManager() {// url="jdbc:mysql://"+host+"/"+database+"?useUnicode=true&characterEncoding=GB2312"; try { Class.forName("org.gjt.mm.mysql.Driver"); } catch (ClassNotFoundException e) { System.err.println("class not found:" + e.getMessage()); } try { con = DriverManager.getConnection(url, user, password); stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY); } catch (SQLException a) { System.err.println("sql exception:" + a.getMessage()); } } public Connection getCon() { return con; } public ResultSet executeQuery(String sql) { ResultSet rs = null; try { rs = stmt.executeQuery(sql); } catch (SQLException e) { e.printStackTrace(); } return rs; } public boolean executeUpdate(String sql) { boolean v = false; try { v = stmt.executeUpdate(sql) > 0 ? true : false; } catch (SQLException e) { e.printStackTrace(); } finally { return v; } }public void close(){con.close();}} DBManager dm=new DBManager();Connection con=dm.getCon();ResultSet rs=dm.executeQuery("select * from test");if(dm.executeUpdate("update test set id=9")==true){ System.out.println("insert successful!!");}; 就是我写的代码,绝对能用的,你再试依次,驱动放在你的web应用的web-inf目录下的lib目录下,如果没有lib的华,新建一个 调用java bean<jsp:useBean id="Name" class="com.testbean" scope="application"> 为什么我的抛出异常java.sql.SQLException: Communication link failure: Bad handshake conn = java.sql.DriverManager.getConnection("jdbc:mysql://localhost/test","roo t",""); 你错在url上面,一般的数据库连接的url还要加上端口的,正确的是conn = java.sql.DriverManager.getConnection("jdbc:mysql://localhost:3306/test","roo t",""); 正则表达式求助 史上最牛java学习路线及全套视频(含全部视频下载)! eclipse里 TOMCAT5.5 不能启动 错误提示如下 为什么 Struts2初学小问题 javascript如何动态添加超链接(超链接的文本内容为javascript代码) tomcat下,两种服务器的跳转代码是如何理解的? jsp中写查询 有挑战性的数组操作的问题。大家看看怎么解决。100分的给 如何从数据库下载文件而不弹出对话框? 急!再问Tomcat的配置问题 一个关于BUTTON不DISABLE的问题? jsp文件下载的奇怪问题,请大家帮忙。
{
ResultSet rs=null; String DBDriver = "org.gjt.mm.mysql.Driver";
//MySQL的路径,根据需要,自己改动!
String dburl="jdbc:mysql://localhost:3306/data?user=root&password=&useUnicode=true&characterEncoding=gb2312";
String strConn=null; public mySqlConn()
{
try{
Class.forName(DBDriver);
}
catch(java.lang.ClassNotFoundException e)
{System.out.println("提示信息:"+e.getMessage());}
} public ResultSet exeQue(Connection connObj,String sql)
{
rs=null;
try{
//sql=new String(sql.getBytes("GBK"),"ISO8859_1");
Statement stmt=connObj.createStatement();
rs=stmt.executeQuery(sql);
//connObj.close();
//stmt.close();
}
catch(SQLException ex)
{System.out.println("提示信息:"+ex.getMessage());}
return rs;
} public Connection newConn()
{
Connection connObj=null;
try{
strConn =dburl;
connObj=DriverManager.getConnection(strConn);
}
catch(SQLException e)
{System.out.println("提示信息:"+e.getMessage());}
return connObj;
} public void setDburl(String s)
{
dburl=s;
}
}
2、将mysql-connector-java-3.0.8-stable.zip压缩包解压,然后将里面的文件 mysql-connector-java-3.0.8-stable-bin.jar拷贝到以下目录下:拷贝到你安装的j2sdk1.4.1_01\jre\lib\ext下,然后在Classpath中增加此路径,例如你的j2sdk安装在D盘,则加入:d:\j2sdk1.4.1_01\jre\lib\ext;(在服务器情况下,把该驱动放到$TOMCAT_HOME/common/lib/下,并把该目录放到classpath中);
3、找一个mysql数据库的前端控制软件,例如:mysql_man、MySQL Studio V5.0等;
4、用这个软件添加两个用户:
是你没有创建MYSQL的用户,
创建一个用户如:UserName:admin
Pass:password
FromHost:%
还需要创建一个可以访问本地数据库的相同用户:
UserName:admin
Pass:password
FromHost:localhost
例如用MySQL Studio V5.0 ,安装进入后点击Connections,输入相关信息,测试通过后点击Save。进入后点击工具栏上的Manage Users添加相关的两个用户,并赋两者所有权限。
5、然后就可以用新建的用户连接数据库!6、也可更改root的密码!更改(密码不再为空)以后在控制软件上以root用户将连接不上数据库,可以新建的用户连接!7、用DriverManager登记mm.mysql
mm.mysql的class名为org.gjt.mm.mysql.Driver,登记时必须写成
Class.forName("org.gjt.mm.mysql.Driver").newInstance(); 8、jdbc url参数说明
url格式:jdbc:mysql://[hostname][:port]/dbname[?param1=value1][¶m2=value2]...
参数名 取值 缺省
user 数据库用户名 无
password 数据库用户口令 无
autoReconnect 当数据库连接丢失时是否自动连接,取值true/false false
maxReconnects 如果autoReconnect为true,此参数为重试次数,缺省为3次 3
initialTimeout 如果autoReconnect为true,此参数为重新连接前等待的秒数 2
maxRows 设置查询时返回的行数,0表示全部 0
useUnicode 是否使用unicode输出,true/false false
characterEncoding 如果useUnicode,该参数制定encoding类型,建议使用8859_1 无 9、提示
同时使用useUnicode,characterEncoding,能解决数据库输出时的中文问题
如:jdbc:mysql://localhost/test?user=root&useUnicode=true;characterEncoding=8859_1 10、把sql语句、文件和数据导入mysql数据库中的某个数据库的语法是:
1、打开DOS命令行;
2、进入mysql\bin目录;
3、输入:mysql -u mysql -p test<ntsky.sql
-u后面的mysql是数据库的用户名,test是mysql中的相关数据库,ntsky.sql是数据库文件。回车后回提示你输入密码,把对应的密码输入即可
private String user = "test";
private String password = "test";
private String host="192.168.0.192";
private String database="test";
/*
private String url="jdbc:mysql://"+host+"/"+"useUnicode=true&characterEncoding=GB2312";
*/
private String url ="jdbc:mysql://192.168.0.192/test?useUnicode=true&characterEncoding=GB2312";
private Connection con = null; Statement stmt; public DBManager() {
// url="jdbc:mysql://"+host+"/"+database+"?useUnicode=true&characterEncoding=GB2312";
try {
Class.forName("org.gjt.mm.mysql.Driver");
}
catch (ClassNotFoundException e) {
System.err.println("class not found:" + e.getMessage());
} try {
con = DriverManager.getConnection(url, user, password);
stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_READ_ONLY);
}
catch (SQLException a) {
System.err.println("sql exception:" + a.getMessage());
}
} public Connection getCon() {
return con;
} public ResultSet executeQuery(String sql) {
ResultSet rs = null;
try {
rs = stmt.executeQuery(sql);
}
catch (SQLException e) {
e.printStackTrace();
}
return rs;
} public boolean executeUpdate(String sql) {
boolean v = false;
try {
v = stmt.executeUpdate(sql) > 0 ? true : false;
}
catch (SQLException e) {
e.printStackTrace();
}
finally {
return v;
}
}
public void close(){
con.close();
}
}
Connection con=dm.getCon();
ResultSet rs=dm.executeQuery("select * from test");
if(dm.executeUpdate("update test set id=9")==true){
System.out.println("insert successful!!");
};
<jsp:useBean id="Name" class="com.testbean" scope="application">
java.sql.SQLException: Communication link failure: Bad handshake
t",""); 你错在url上面,一般的数据库连接的url还要加上端口的,正确的是
conn = java.sql.DriverManager.getConnection("jdbc:mysql://localhost:3306/test","roo
t","");