mysql的java数据库连接错误

mysql的java数据库连接错误,java,mysql,Java,Mysql,我正在尝试使用eclipse在EclipseJuno中进行java数据库连接,但出现以下错误 java.lang.ClassNotFoundException: com.mysql.jdbc.Driver java.lang.NullPointerException 建议我一些解决方案。。。。。。。。。。 这是我的代码: package example; import java.sql.Connection; import java.sql.DriverManager; import jav

我正在尝试使用eclipse在EclipseJuno中进行java数据库连接,但出现以下错误

java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
java.lang.NullPointerException
建议我一些解决方案。。。。。。。。。。 这是我的代码:

package example;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
public class Connect {

public static Connection getConnection()
{
    String url="jdbc:mysql://localhost:3306/demo";
    String drive="com.mysql.jdbc.Driver";
    //String databse="demo";
    String user="root";
    String password="abc";
    Connection conn=null;
    try
    {
        Class.forName(drive);
        conn=DriverManager.getConnection(url, user, password);
    }
    catch (Exception e)
    {
        System.out.println(""+e);
    }
    return conn;
}
public static void main(String[] args)
{
    Connection conn=null;
    PreparedStatement pstmt=null;
    try
    {
        conn=getConnection();
        conn.setAutoCommit(false);
        pstmt=conn.prepareStatement("insert into testlongtele(address,name)values(?,?)");
        pstmt.setString(0, "NIRAV");
        pstmt.setString(1, "KAMANI");
        pstmt.executeUpdate();
        pstmt.close();
        conn.commit();
        conn.close();
    }
    catch(Exception e)
    {
        System.out.println(""+e);
    }
}

}

此错误的可能原因是:

1) 类路径中没有mysql-connector.jar。如前所述,这个jar文件包含“com.mysql.jdbc.Driver”类,它必须存在于类路径中,才能成功连接到mysql数据库。您可以从mysql.com下载mysql-connector.jar

2) mysql-connector.jar位于类路径中,但不知何故,您的类路径被覆盖了。 类路径在Java中很棘手,jar中指定的类路径可能会覆盖类路径变量。请参阅Java中类路径的工作原理,以详细了解此问题

3) mysql-connector.jar位于类路径中,但当前用户没有读取权限。 这个问题经常发生在Unix或Linux操作系统中,该系统具有基于用户、组和所有者级别的复杂文件和目录权限。只需获得正确的权限,然后再次运行您的程序。

您可以添加:

class.forName(driver).newInstance();
导入java.sql.Connection;
导入java.sql.DriverManager;
导入java.sql.SQLException;
导入com.mindtree.kalinga.exception.ConnectionfailedException;
公共类JdbcConnection{
私有静态JdbcConnection JdbcConnection;
专用静态连接;
私有JdbcConnection(){
}
公共静态JdbcConnection getInstance(){
if(jdbcConnection==null)
jdbcConnection=新的jdbcConnection();
返回jdbc连接;
}
public static void createConnection()引发ConnectionfailedException{
试一试{
dbConnection=DriverManager.getConnection(“jdbc:mysql://localhost:3306/mindtree“、”根“、”Welcome123”);
}捕获(SQLE异常){
抛出新的ConnectionfailedException(“创建到数据库的连接时出错”,e);
}
System.out.println(“与数据库的连接已建立!”);
}
公共静态连接getConnection(){
返回数据库连接;
}
public static void closeConnection()引发ConnectionfailedException{
试一试{
dbConnection.close();
}捕获(SQLE异常){
抛出新的ConnectionfailedException(“连接未正确关闭”,e);
}
}
}
--------------------------------------
主要
--------------------------------------
包com.mindtree.kalinga.controller;
导入java.util.ArrayList;
导入java.util.List;
导入java.util.Scanner;
导入com.mindtree.kalinga.entity.mindtree;
导入com.mindtree.kalinga.exception.ConnectionfailedException;
导入com.mindtree.kalinga.service.Mindtreeservice;
导入com.mindtree.kalinga.serviceimp.Mindtreeserviceimp;
导入com.mindtree.kalinga.utility.jdbc连接;
公共阶级思维模式{
静态扫描仪输入=新扫描仪(系统输入);
静态Mindtreeservice ms=新的Mindtreeserviceimp();
公共静态void main(字符串[]args){
试一试{
JdbcConnection.createConnection();
}捕捉(连接失败异常e){
System.out.println(“无法连接到数据库!正在终止应用程序!”);
e、 printStackTrace();
}
MindtreeMain mm=新的MindtreeMain();
int i=1;
而(i==1){
System.out.println(“1.输入详细信息\n”+“2.获取详细信息\n”+“3.退出”);
int key=in.nextInt();
开关(钥匙){
案例1:
Mindtree m=mm.createminds();
打破
案例2:
List ml=new ArrayList();
毫米显示(毫升);
打破
案例3:
i=0;
打破
违约:
打破
}
}
}
私有Mindtree createminds(){
//TODO自动生成的方法存根
System.out.println(“输入思想id”);
int id=in.nextInt();
in.nextLine();
System.out.println(“输入思想的名称”);
字符串名称=in.nextLine();
System.out.println(“心灵的地址”);
字符串地址=in.nextLine();
Mindtree m=新Mindtree(id、名称、地址);
返回m;
}
专用空白显示(列表){
为(心智树i:心智){
System.out.println(i.getMid());
System.out.println(i.getName());
System.out.println(i.getAddress());
}
}
}
-------------------------------------------------
服务
-------------------------------------------------
导入java.util.List;
导入com.mindtree.kalinga.entity.mindtree;
公共接口Mindtreeservice{
公共空间插入心智(Mindtree m);
公共列表getAllminds();
}
---------------------------------------------
serviceimp
---------------------------------------------
包com.mindtree.kalinga.serviceimp;
导入java.util.List;
导入com.mindtree.kalinga.dao.Mindtreedao;
导入com.mindtree.kalinga.daoimp.Mindtreedaoimp;
导入com.mindtree.kalinga.entity.mindtree;
导入com.mindtree.kalinga.service.Mindtreeservice;
公共类Mindtreeserviceimp实现Mindtreeservice{
Mindtreedao md=新的Mindtreedaoimp();
@凌驾
公共空间插件(Mindtree m){
//TODO自动生成的方法存根
医学博士insertMindToDb(m);
}
@凌驾
公共列表getAllminds(){
//TODO自动生成的方法存根
返回md.getAllMindFromDb();
}
}
--------------------------------------------
刀
--------------------------------------------
导入java.util.List;
导入com.mindtree.kalinga.entity.mindtree;
公共接口Mindtreedao{
公共空间插入mindtodb(mindtreem);
公共列表getAllMindFromDb();
}
-------------------------------------------
达欧姆
-------------------------------------------
包com.mindtree.kalinga.d
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import com.mindtree.kalinga.exception.ConnectionfailedException;
public class JdbcConnection {
    private static JdbcConnection jdbcConnection;
    private static Connection dbConnection;
    private JdbcConnection() {
    }
    public static JdbcConnection getInstance() {
        if (jdbcConnection == null)
            jdbcConnection = new JdbcConnection();
        return jdbcConnection;
    }
    public static void createConnection() throws ConnectionfailedException {
        try {
            dbConnection = DriverManager.getConnection("jdbc:mysql://localhost:3306/mindtree", "root", "Welcome123");
        } catch (SQLException e) {
            throw new ConnectionfailedException("Error creating the connection to database", e);
        }
        System.out.println("Connection to db Established!");
    }
    public static Connection getConnection() {
        return dbConnection;
    }
    public static void closeConnection() throws ConnectionfailedException {
        try {
            dbConnection.close();
        } catch (SQLException e) {
            throw new ConnectionfailedException("connection  not closed properly", e);
        }
    }
}
--------------------------------------
Main
--------------------------------------
package com.mindtree.kalinga.controller;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
import com.mindtree.kalinga.entity.Mindtree;
import com.mindtree.kalinga.exception.ConnectionfailedException;
import com.mindtree.kalinga.service.Mindtreeservice;
import com.mindtree.kalinga.serviceimp.Mindtreeserviceimp;
import com.mindtree.kalinga.utility.JdbcConnection;
public class MindtreeMain {
    static Scanner in = new Scanner(System.in);
    static Mindtreeservice ms = new Mindtreeserviceimp();
    public static void main(String[] args) {
        try {
            JdbcConnection.createConnection();
        } catch (ConnectionfailedException e) {
            System.out.println("Not able to connect to database! Terminating application!");
            e.printStackTrace();
        }
        MindtreeMain mm = new MindtreeMain();
        int i = 1;
        while (i == 1) {
            System.out.println("1. to enter the detail\n" + "2. fetch the detail\n" + "3. to exit");
            int key = in.nextInt();
            switch (key) {
            case 1:
                Mindtree m = mm.createminds();
                break;
            case 2:
                List<Mindtree> ml = new ArrayList<>();
                mm.display(ml);
                break;
            case 3:
                i = 0;
                break;
            default:
                break;
            }
        }
    }
    private Mindtree createminds() {
        // TODO Auto-generated method stub
        System.out.println("enter the id of mind");
        int id = in.nextInt();
        in.nextLine();
        System.out.println("enter the name of mind");
        String name = in.nextLine();
        System.out.println("ente the address of minds");
        String address = in.nextLine();
        Mindtree m = new Mindtree(id, name, address);
        return m;
    }
    private void display(List<Mindtree> mind) {
        for (Mindtree i : mind) {
            System.out.println(i.getMid());
            System.out.println(i.getName());
            System.out.println(i.getAddress());
        }
    }
}
-------------------------------------------------
service
-------------------------------------------------
import java.util.List;
import com.mindtree.kalinga.entity.Mindtree;
public interface Mindtreeservice {
    public void insertmind(Mindtree m);
    public List<Mindtree> getAllminds();
}
---------------------------------------------
serviceimp
---------------------------------------------
package com.mindtree.kalinga.serviceimp;
import java.util.List;
import com.mindtree.kalinga.dao.Mindtreedao;
import com.mindtree.kalinga.daoimp.Mindtreedaoimp;
import com.mindtree.kalinga.entity.Mindtree;
import com.mindtree.kalinga.service.Mindtreeservice;
public class Mindtreeserviceimp implements Mindtreeservice {
    Mindtreedao md = new Mindtreedaoimp();
    @Override
    public void insertmind(Mindtree m) {
        // TODO Auto-generated method stub
        md.insertMindToDb(m);
    }
    @Override
    public List<Mindtree> getAllminds() {
        // TODO Auto-generated method stub
        return md.getAllMindFromDb();
    }
}
--------------------------------------------
dao
--------------------------------------------
import java.util.List;
import com.mindtree.kalinga.entity.Mindtree;
public interface Mindtreedao {
    public void insertMindToDb(Mindtree m);
    public List<Mindtree> getAllMindFromDb();
}
-------------------------------------------
daoimp
-------------------------------------------
package com.mindtree.kalinga.daoimp;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import com.mindtree.kalinga.dao.Mindtreedao;
import com.mindtree.kalinga.entity.Mindtree;
import com.mindtree.kalinga.utility.JdbcConnection;
import com.mysql.jdbc.Statement;
public class Mindtreedaoimp implements Mindtreedao {
    @Override
    public void insertMindToDb(Mindtree m) {
        Connection con = JdbcConnection.getConnection();
        String query = "insert into mindtree values(?,?,?);";
        PreparedStatement ps = null;
        try {
            ps = con.prepareStatement(query);
            ps.setInt(1, m.getMid());
            ps.setString(2, m.getName());
            ps.setString(3, m.getAddress());
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            System.out.println(e.getMessage());
        }
    }
    @Override
    public List<Mindtree> getAllMindFromDb() {
        // TODO Auto-generated method stub
        List<Mindtree> mtl = new ArrayList<Mindtree>();
        Connection con = JdbcConnection.getConnection();
        String query = "select * from mindtree;";
        Statement st = null;
        ResultSet rs = null;
        try {
            st = (Statement) con.createStatement();
            rs = st.executeQuery(query);
            while (rs.next()) {
                Mindtree m = new Mindtree(rs.getInt(1), rs.getString(2), rs.getString(3));
                mtl.add(m);
            }
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return mtl;
    }
}
-----------------------------------------------
exception
package com.mindtree.kalinga.exception;
public class ConnectionfailedException extends Exception {
    public ConnectionfailedException() {
        super();
        // TODO Auto-generated constructor stub
    }
    public ConnectionfailedException(String arg0, Throwable arg1, boolean arg2, boolean arg3) {
        super(arg0, arg1, arg2, arg3);
        // TODO Auto-generated constructor stub
    }
    public ConnectionfailedException(String arg0, Throwable arg1) {
        super(arg0, arg1);
        // TODO Auto-generated constructor stub
    }
    public ConnectionfailedException(String arg0) {
        super(arg0);
        // TODO Auto-generated constructor stub
    }
    public ConnectionfailedException(Throwable arg0) {
        super(arg0);
        // TODO Auto-generated constructor stub
    }
}
-----------------------------
entity
-----------------------------
package com.mindtree.kalinga.entity;
public class Mindtree {
    int Mid;
    String name;
    String address;
    public Mindtree(int mid, String name, String address) 
{

        Mid = mid;
        this.name = name;
        this.address = address;
    }
    public int getMid() {
        return Mid;
    }
    public void setMid(int mid) {
        Mid = mid;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getAddress() {
        return address;
    }
    public void setAddress(String address) {
        this.address = address;
    }

}