jdbc连接数据库

jdbc连接数据库_第1张图片

1、虚拟机搭建centOS6.8,参考链接。

2、navicat下载免安装版即可,参考链接。

3、navicat链接数据库:

① sql数据库在本机,连接名自己随便起一个就行,如何是localhost表示连接本地的sql服务器和127.0.0.1一样的,sql的默认端口为3306,然后填写自己电脑登录名和密码即可。

jdbc连接数据库_第2张图片

② sql server在虚拟机上,连接的主机填写虚拟机的ip地址,使用ifconfig查看即可,然后用户名和密码一样填写自己设置的即可。可能会报错,navicatvicat连接报错,host is not allowed MySQL不允许从远程访问的解决方法看这个链接

③ 记录几个命令

1、开启虚拟机服务:service mysqld start
(自己本机window:net start LocalMysql,linux:service mysqld start)
2、登录mysql服务器:mysql -u root -p
然后输入密码即可。
3、xshell链接虚拟机的适合输入的主机也是输ip,最后输入的用户名和密码也是自己设定的那个

4、maven使用jdbc编写代码读取数据库的内容:

1、先写一个配置文件叫:jdbc.properties,一般配置文件都是放在maven项目的source文件夹下

driver=com.mysql.cj.jdbc.Driver
url=jdbc:mysql://localhost:3306/graduated_students
user=root
password=root

2、JdbcUtils类

package cn.telecom.jdbc;


import java.sql.*;


/**
 * @author lihaiyu
 */
public class JdbcUtils {
    public static Connection coon = null;
    public static Connection getCoon(){
        //读取配置文件
        PropertiesUtil.loadFile("jdbc.properties");
        String driver = PropertiesUtil.getPropertyValue("driver");
        String url = PropertiesUtil.getPropertyValue("url");
        String user = PropertiesUtil.getPropertyValue("user");
        String password = PropertiesUtil.getPropertyValue("password");
        try{
            //要求JVM查找并加载指定的类到内存中
            Class.forName(driver);
            //连接数据库
            coon = DriverManager.getConnection(url,user,password);
        } catch (ClassNotFoundException e) {//捕抓驱动查找异常
            e.printStackTrace();
        } catch (SQLException e) {//捕抓sq连接异常
            e.printStackTrace();
            close();
        }
        return coon;
    }
    public static void release(Connection coon, Statement statement, ResultSet resultSet){
        closeResultSet(resultSet);
        closeStatement(statement);
        closeConnection(coon);
    }
    /**
     * 释放结果集资源
     * @param resultSet
     */
    private static void closeResultSet(ResultSet resultSet) {
        try {
            if (resultSet != null) {
                resultSet.close();
            }
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            resultSet = null;
        }
    }

    /**
     * 释放statement资源
     * @param statement
     */
    private static void closeStatement(Statement statement) {
        try {
            if (statement != null) {
                statement.close();
            }
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            statement = null;
        }
    }

    /**
     * 释放数据库连接资源
     * @param conn
     */
    private static void closeConnection(Connection conn) {
        try {
            if (conn != null) {
                conn.close();
            }
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            conn = null;
        }
    }

    public static void close(){
        try {
            coon.close();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }

}

3、JdbcUtilsTest

package cn.telecom.jdbc;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;

public class JdbcUtilsTest {
    public static void main(String[] args) {
        Statement statement = null;
        ResultSet resultSet = null;
        Connection coon = JdbcUtils.getCoon();
        try{
            statement = coon.createStatement();
            //sql指令
            resultSet = statement.executeQuery("select * from students");
            while (resultSet.next()){
                String number = resultSet.getString("学号");
                String name = resultSet.getString("姓名");
                String school = resultSet.getString("学校");
                String department = resultSet.getString("院系");
                String major = resultSet.getString("专业");
                System.out.println(number+' '+name+' '+school+' '+department+' '+major);
            }
        } catch (Exception e) {
            e.printStackTrace();
            JdbcUtils.close();
        }finally {
            //finally一般释放资源
            JdbcUtils.release(coon, statement, resultSet);
        }
    }
}

4、输出:

navicat内容

jdbc连接数据库_第3张图片

控制台输出内容

jdbc连接数据库_第4张图片

如果提示server time zone报错:参考

 

你可能感兴趣的:(大数据,Java)