mysql驱动问题
--------------------编程问答-------------------- 好像是还差一句:Class.forName("你的驱动"); --------------------编程问答--------------------是这样加了吧:Class.forName("org.gjt.mm.mysql.Driver");
还是不行 --------------------编程问答--------------------
是这样加了吧:Class.forName("org.gjt.mm.mysql.Driver");
还是不行 --------------------编程问答-------------------- 用eclipse连接mysql数据时,驱动连接不上,提示错误是:
No suitable driver found for jdbc: mysql: //localhost: 3306/openlab?user=openlab&password=open123
这个跟你的URL一样?
url = "jdbc:mysql://127.0.0.1:3306/myfirst_jdbc"
不一样 -_-! --------------------编程问答--------------------
package cn.dao;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
/**
*
* 数据库操作
*
* @author 莫小哆_ly 2011-12-31
*/
public class DBConn {
private Connection conn;
/**
* 连接数据库
* @return
*/
public Connection getConn(){
String url = "jdbc:mysql://localhost:3306/mydemo"; // 数据库地址[jdbc:mysql://<IP>:<db-port>/<db-name>]
String user = "root"; // 数据库用户名
String pwd = ""; // 数据库密码
try {
Class.forName("com.mysql.jdbc.Driver"); // 加载驱动
conn = DriverManager.getConnection(url, user, pwd);// 注册驱动程序
if (!conn.isClosed()) {
System.out.println("连接成功");
}
if (conn == null) {
System.out.println("连接数据库失败,从检查后重新启动!");
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
return conn;
}
/**
* 关闭数据库连接
*/
public void closeConn(){
if(conn!=null) {
try{
conn.close();
}catch(Exception e){
e.printStackTrace();
}
}
}
}
package cn.impl;
import java.sql.Connection;
import java.sql.SQLException;
import java.sql.Statement;
import java.text.SimpleDateFormat;
import java.util.Date;
import cn.dao.DBConn;
/**
*
* 本页代码包含 【insert】功能
*
* @author 莫小哆_ly 2011-12-31
*/
public class InsertConOpera {
/**
* 用户注册功能
* @param userName
* @param passWord
*/
public int save(String userName, String passWord) {
int count = 0;
try {
DBConn db = new DBConn();
Connection conn = db.getConn();
// 执行静态SQL语句
Statement stmt = conn.createStatement();
//生成注册时间
Date now = new Date();
SimpleDateFormat format = new SimpleDateFormat("yyyyMMddHHmmss");
String registeredTime = format.format(now);
String sql0 = "INSERT INTO user(userName,passWord,registeredTime) " + " VALUES (" + "'"
+ userName + "','" + passWord + "','" + registeredTime + "')";
count = stmt.executeUpdate(sql0);
if (stmt != null) { // 关闭声明
try {
stmt.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (conn != null) { // 关闭连接对象
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
db.closeConn();
} catch (SQLException e) {
e.printStackTrace();
}
return count;
}
}
我习惯这么用 --------------------编程问答--------------------
我也纠结呢?什么原因啊? --------------------编程问答--------------------
今天刚开始学jdbc,不会啊 --------------------编程问答-------------------- 你的jdbc jar 包是放在哪里?重新贴出一份代码,我帮你看看,还有你此时运行的错误! --------------------编程问答-------------------- 一:连接URL格式出现了问题(Connection conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/XX","root","XXXX")
二:驱动字符串出错(com.mysql.jdbc.Driver)
三:Classpath中没有加入合适的mysql_jdbc驱动(驱动要和你的数据库版本一致)
四:驱动jar包放的位置不对
我估计是你的url写错拉、你仔细看看。 --------------------编程问答-------------------- url = "jdbc:mysql://127.0.0.1:3306/myfirst_jdbc"这个是数据库的名字吗?
--------------------编程问答-------------------- 没加驱动包吧! --------------------编程问答-------------------- 直接将驱动包放入 tom_cat的lib文件夹下
--------------------编程问答--------------------
--------------------编程问答-------------------- 驱动包有加了吗? --------------------编程问答-------------------- jar包问题 --------------------编程问答-------------------- 我这有个的例子。。
package com.wxy.jdbc.day01;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties;
public class MYJDBCDemo {
public static final String DBDRIVER = "com.mysql.jdbc.Driver";
//一般都是com.mysql.jdbc.Driver
public static final String URL = "jdbc:mysql://127.0.0.1:3306/myfirst_jdbc";
public static final String DBUSER = "root";
public static final String DBPASSWORD = "root";
public static void getParam(String filename){
Properties props = new Properties();
File file = new File(filename);
try {
FileInputStream fis = new FileInputStream(file);
props.load(fis);
url = props.getProperty("url");
dbUser = props.getProperty("dbUser");
dbPassword = props.getProperty("dbPassword");
} catch (FileNotFoundException e) {
e.printStackTrace();
}
catch (IOException e) {
e.printStackTrace();
}
}
public static void getEmpData(){
Connection conn = null;
Statement stmt = null;
//建议你看看PreparedStatement 它是statement的子类,能实现预处理
ResultSet rs = null;
String sql = "select * from emp";
try {
Class.forName(DBDRIVER);
//加载驱动的jar包
conn = DriverManager.getConnection(URL, DBUSER, DBPASSWORD);
stmt = conn.createStatement();
rs = stmt.executeQuery(sql);
while(rs.next()){
int id = rs.getInt("id");
String name = rs.getString("name");
int age = rs.getInt("age");
System.out.println(id+","+name+","+age);
}
rs.close();
stmt.close();
conn.close();
}
catch (SQLException e) {
e.printStackTrace();
}
}
public static void main(String[] args){
getParam("src/db_mysql.properties");
getEmpData();
}
}
最后检查下你的驱动Jar包是否放在了正确的位置。
try{
Class.forName("com.mysql.jdbc.Driver");
}
catch(ClassNotFoundException e) {}
//定义所要用到的三个数据库应用对象
Connection con=null; //连接对象
Statement sql=null; //Statement对象(SQL语句)
ResultSet rs=null; //结果集对象
//进行数据源的连接
try{
con=DriverManager.getConnection ("jdbc:mysql://localhost/scutcs","","");//连接数据库的url 用户名和密码
sql=con.createStatement();
String to="Select * From user1 Where username='"+username+"'";
rs=sql.executeQuery(to); // --------------------编程问答-------------------- 新来的, 我能弱弱的问一下,这句话是什么意思吗?fis=SqlHelper.class.getClassLoader().getResourceAsStream("mysql.properties");
pp.load(fis); --------------------编程问答-------------------- 感觉是jar包放错位置了.
建议你把mysql的驱动,放在eclipse安装目录的jar目录里面,如果放置正确,会如下图。
参照:
补充:Java , Java SE