得做有氧 2019-02-21 10:07 采纳率: 0%
浏览 1005

请问大神为什么我的JDBC连接不上数据库?

public static void main(String[] args) {

    Connection conn = null;
    Statement stmt = null ;
    ResultSet rs = null;

    try {
        Class.forName("com.mysql.jdbc.Driver");
        Driver driver = new com.mysql.jdbc.Driver();
        DriverManager.registerDriver(driver);

        String url = "jdbc:mysql:localhost:3366/huae";
        String user = "root";
        String password = "1234";

        conn = DriverManager.getConnection(url,user,password);

        stmt = conn.createStatement();

        String sql = "Select e.ename,d.dname from emp e join dept d on e.deptno = d.deptno";
        rs = stmt.executeQuery(sql);

        while(rs.next()){
            String ename = rs.getString("ename");
            String dname = rs.getString("dname");
            System.out.println(ename+" "+dname);
        }
    } catch (Exception e) {
        // TODO: handle exception
    }finally{
        if(rs!= null){
            try {
                rs.close();
            } catch (Exception e2) {
                // TODO: handle exception
            }
        }
        if(stmt!=null){
            try {
                stmt.close();
            } catch (Exception e2) {
                // TODO: handle exception
            }
        }
        if(conn!=null){
            try {
                conn.close();
            } catch (Exception e2) {
                // TODO: handle exception
            }
        }
    }
}

}

  • 写回答

2条回答

  • 愤怒绵羊 2019-02-21 10:56
    关注
    // 1. 注册驱动
    
        Class.forName("com.mysql.jdbc.Driver");
        // 2. 获得连接
        // uri:数据库地址 jdbc:mysql://连接主机ip:端口号//数据库名字
        String url = "jdbc:mysql://localhost:3306/itheima";
        // static Connection getConnection(String url, String user, String password)
        // 返回值是java.sql.Connection接口的实现类,在MySQL驱动程序中
        Connection conn = DriverManager.getConnection(url, "root", "root");
        System.out.println(conn);// com.mysql.jdbc.JDBC4Connection@10d1f30
        // 3. 获得语句执行平台,通过数据库连接对象,获取到SQL语句的执行者对象
        //conn对象,调用方法 Statement createStatement() 获取Statement对象,将SQL语句发送到数据库
        //返回的是Statement接口的实现类对象,在MySQL驱动程序中
        Statement stat = conn.createStatement();
        System.out.println(stat);//com.mysql.jdbc.StatementImpl@137bc9
        // 4. 执行sql语句
        //通过执行者对象调用方法执行SQL语句,获取结果
        //int executeUpdate(String sql)  执行数据库中的SQL语句,仅限于insert,update,delete
        //返回值int,操作成功数据库的行数
        int row = stat.executeUpdate("INSERT INTO sort(sname,sprice,sdesc) VALUES('汽车用品',50000,'疯狂涨价')");
        System.out.println(row);
        // 5. 释放资源
        stat.close();
        conn.close();
    

    String url = "jdbc:mysql:localhost:3366/huae"; 你这个写的不对吧

    评论

报告相同问题?

悬赏问题

  • ¥15 使用phpstudy在云服务器上搭建个人网站
  • ¥15 应该如何判断含间隙的曲柄摇杆机构,轴与轴承是否发生了碰撞?
  • ¥15 vue3+express部署到nginx
  • ¥20 搭建pt1000三线制高精度测温电路
  • ¥15 使用Jdk8自带的算法,和Jdk11自带的加密结果会一样吗,不一样的话有什么解决方案,Jdk不能升级的情况
  • ¥15 画两个图 python或R
  • ¥15 在线请求openmv与pixhawk 实现实时目标跟踪的具体通讯方法
  • ¥15 八路抢答器设计出现故障
  • ¥15 opencv 无法读取视频
  • ¥15 按键修改电子时钟,C51单片机