Java程序与mysql的交互

package com.heima.tes1;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class JDBCTest_versions2 {
    public static void main(String[] args) {

        Connection connection = null;
        Statement smt = null;
        ResultSet resultset = null;
        try {
            /**
             * 1.注册驱动. 理解:注册驱动,这里使用反射去加载mysql中的Driver这个类,加载的时候就会去注册驱动,
             * 因为下面这段mysql下的Driver类的代码中存在new Driver();
             * 
             * static {
                try {
                    java.sql.DriverManager.registerDriver(new Driver());
                } catch (SQLException E) {
                    throw new RuntimeException("Can't register driver!");
                }
            }
             */
            Class.forName("com.mysql.jdbc.Driver");
            /**
             * 2.获得连接 url:"jdbc:mysql://localhost:3306/你的数据库名称"
             */
            String url = "jdbc:mysql://localhost:3306/java";
            String user = "root";
            String password = "root";
            connection = DriverManager.getConnection(url, user, password);
            /**
             * 3.执行sql语句 步骤:基于连接创建一个 Statement声明对象调用executeQuery()执行 SQL
             * 语句发送到数据库。 理解:java语言中万物皆对象,根据连接对象获取 一个声明对象(我要干什么,这种想法也是一个对象),
             * 通过这个对象去调用执行方法,执行相应语句
             */
            smt = connection.createStatement();
            String sql = "select * from student";
            resultset = smt.executeQuery(sql);
            /**
             * 4.处理结果集
             */
            while (resultset.next()) {
                System.out.println(resultset.getString("sname"));
            }
            } catch (ClassNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
            } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
            } finally {
            /**
             * 5.关闭资源
             */
            try {
                if (connection != null) {
                    connection.close();
                }
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }finally{
                connection = null;
            }
            try {
                if (smt != null) {
                    smt.close();
                }
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }finally{
                smt = null;
            }
            try {
                if (resultset != null) {
                    resultset.close();
                }
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }finally{
                resultset = null;
            }
        }
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值