黑马程序员技术交流社区
标题:
关于JDBC来连接MySQL的问题
[打印本页]
作者:
2073488679
时间:
2015-9-15 20:36
标题:
关于JDBC来连接MySQL的问题
package com.hu.demo;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
public class DBHelper {
public static final String url = "jdbc:mysql://127.0.0.1?user=root&password=root&useUnicode=true&characterEncoding=8859-1";
public static final String name = "org.git.mm.mysql.Driver";
public Connection conn = null;
public PreparedStatement pst = null;
public DBHelper(String sql) {
try {
Class.forName(name);
conn = DriverManager.getConnection(url);
pst = conn.prepareStatement(sql);
} catch (Exception e) {
e.printStackTrace();
}
}
public void close() {
try {
this.conn.close();
this.pst.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
编译了很多次。但总是出错,不知道咋办,谁能解决下
作者:
瑞雪雄起
时间:
2015-9-15 20:36
JDBC连接MySQL
加载及注册JDBC驱动程序
Class.forName("com.mysql.jdbc.Driver");
Class.forName("com.mysql.jdbc.Driver").newInstance();
JDBC URL 定义驱动程序与数据源之间的连接
标准语法:
<protocol(主要通讯协议)>:<subprotocol(次要通讯协议,即驱动程序名称)>:<data source identifier(数据源)>
MySQL的JDBC URL格式:
jdbc:mysql//[hostname][:port]/[dbname][?param1=value1][¶m2=value2]….
示例:jdbc:mysql://localhost:3306/sample_db?user=root&password=your_password
常见参数:
user 用户名
password 密码
autoReconnect 联机失败,是否重新联机(true/false)
maxReconnect 尝试重新联机次数
initialTimeout 尝试重新联机间隔
maxRows 传回最大行数
useUnicode 是否使用Unicode字体编码(true/false)
characterEncoding 何种编码(GB2312/UTF-8/…)
relaxAutocommit 是否自动提交(true/false)
capitalizeTypeNames 数据定义的名称以大写表示
public static final String name = "org.git.mm.mysql.Driver";
应该把name换成com.mysql.jdbc.Driver
public static final String url = "jdbc:mysql://127.0.0.1?user=root&password=root&useUnicode=true&characterEncoding=8859-1";
好像你的?前面少了数据库名称。你试一下,看对不对,如果对的话就要把悬赏给我,我回答过几次技术悬赏,了里面有的很明显的错误,我回答了,但没人理
作者:
Coolman
时间:
2015-9-15 20:49
url没有指定数据库名吧
作者:
那风景如花
时间:
2015-9-15 22:03
url没有写数据库的名称
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2