zoukankan      html  css  js  c++  java
  • java数据库笔记(一):jdbc连接mysql数据库

      最近学java,写了个简单的学生信息管理系统,交互式但没有连接数据库,所以只能作为演示,无法储存数据,所以捣鼓起数据库来。两小时学了一下关系型数据库的基本知识和sql语言的语法,然后就开始上马搞起。下面是学习笔记:

    1.下载mysql-connector-java-5.1.7-bin.jar

      JDBC是由许多java.sql包中的java类组成,支持访问数据库和其他表格形式的关系型数据。首先需要从官网上下载jdbc驱动,http://dev.mysql.com/downloads/connector/j/

    2.添加到java可访问的路径中来

      网上查到的做法是将mysql-connector-java-5.1.7-bin.jar的绝对路径设置在classpath中,我方便起见,就将它放在%JAVA_HOME%/lib/mysql-connector-java-5.1.7-bin.jar这里,再添加到环境变量中。

      可问题来了,我设置后写了个简单的程序测试是否能找到驱动,却失败了:

    package com.xtest;
    import java.sql.*;
    public class main {
        public static void main(String[] args) {
            try{
                Class.forName("com.mysql.jdbc.Driver");
            }catch(ClassNotFoundException e){
                System.out.println("con't find the driver");
                e.printStackTrace();
            }
        }
    }

    好伤心啊,只能继续找解决方案,发现可以在要运行的java项目右键->build path->add external archives……,然后把mysql-connector-java-5.1.7-bin.jar添加进去了,这样就出现在Referenced Library 下面,运行通过!不过觉得这个方面有点麻烦,因为每个project都需要单独添加一次,有更好的方案,或者深刻点的理解请@我一下,谢谢!

    3.编写测试案例

    我在mysql里面创建了一个person库student类,偷懒只写了id和name项,然后插入了两个record。下面是代码:

    package com.jdbc;
    import java.sql.*;
    public class Main {
    
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            String driver = "com.mysql.jdbc.Driver";
            String url = "jdbc:mysql://127.0.0.1:3306/person";
            String user ="root";
            String password ="";
            
            try{
                Class.forName(driver);
                Connection  conn=DriverManager.getConnection(url,user,password);
                if(!conn.isClosed())
                    System.out.println("Succeed!");
                Statement statement = conn.createStatement();
                String sql = "select * from student";
                ResultSet rs = statement.executeQuery(sql);
                String name = null;
                while(rs.next()){
                    //name = rs.getString("name");
                    System.out.println("id:"+rs.getString("id")+"  "+"name:"+rs.getString("name"));
                }
                rs.close();
                conn.close();
            }catch(ClassNotFoundException e){
                System.out.println("sorry,can't find the driver");
                e.printStackTrace();
            }catch(SQLException e){
                e.printStackTrace();
            }catch(Exception e){
                e.printStackTrace();
            }
        }
    
    }

    yes,成功取出了里面的两组数据!

  • 相关阅读:
    批处理详细教程1
    “无后端”的web应用开发模式
    给Notepad++换主题
    Github for Windows使用图文教程
    MongoDB操作数据库的几个命令(自己用)
    P2P实现的原理
    ios中摄像头/相册获取图片压缩图片上传服务器方法总结
    ffmpeg编译
    UIScrollView的contentSize、contentOffset和contentInset属性
    sqllite相关总结
  • 原文地址:https://www.cnblogs.com/HughParker/p/4509741.html
Copyright © 2011-2022 走看看