JDBC连接数据库1

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/tiberroot/article/details/79454626

/*
    JDBC编程六步:
        1、注册驱动
        2、获取数据库连接
        3、获取数据库操作对象
        4、执行SQL语句
        5、处理查询结果集
        6、关闭资源

    一、编写JDBC程序连接数据库的话,需要先将连接数据库的驱动jar包配置到环境变量classpath当中:
        classpath=.;jar包的路径

    二、JDBC接口的源码在哪里?JDBC接口的字节码在哪里?JDBC接口的帮助文档在哪里?
        api源码:SUN公司负责编写JDBC接口这套规范,JAVA_HOME/src.zip(java.sql.*)
        api字节码:JRE_HOME/lib/rt.jar
        api帮助文档:JDK的帮助文档

    三、JDBC接口的MySQL实现类源码在哪里?JDBC接口的MySQL实现类的字节码在哪里?

    四、JDBC接口的调用程序我们负责来进行开发(我们 ---> JDBC接口 ---> 接口实现类(驱动))

*/
import java.sql.Driver;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Connection;
import java.sql.Statement;

public class Test1
{
    public static void main(String[] args){

        /*
        Object obj = new Object();
        System.out.println(obj); //java.lang.Object@15db9742
        */

        Connection conn = null;
        Statement stmt = null;

        try{
            //1、注册驱动
            //注册驱动这一步完成表示通知了java程序,我们即将连接的是哪个品牌的数据库
            //1.1、创建驱动对象(MySQL的核心驱动类的完整类名:com.mysql.jdbc.Driver)
            Driver driver = new com.mysql.jdbc.Driver();
            //1.2、注册驱动
            DriverManager.registerDriver(driver);

            //2、获取数据库连接
            //数据库连接建立之后表示JVM进程和数据库进程之间通道打开了,两个进程之间进行通讯,比较耗费资源
            //所以数据库连接对象使用完毕之后一定要关闭。
            //MySQL和Oracle默认支持的连接数量不同
            //MySQL的连接数量默认支持:my.ini文件(max_connections=100)
            //Oracle的连接数量默认支持:150
            /*
                url: 统一资源定位符
                Union Resources Location(定位网络当中的某个具体存在的资源)
                url主要包括:协议+IP+端口+资源名称

                这就是一个URL:http://119.75.213.61:80/index.html
                    http://         协议
                    119.75.213.61   IP地址
                    80              端口号(代表的是计算机当中的某个应用/进程/服务)
                    index.html      资源名称

                连接MySQL数据库的URL:
                    jdbc:mysql://IP:port/数据库名
                    jdbc:mysql://localhost:3306/bjpowernode

                Oracle数据库的URL:
                    jdbc:oracle:thin:@localhost:1521:bjpowernode

                IP地址:本机IP地址是(localhost / 127.0.0.1)
            */
            String url = "jdbc:mysql://localhost:3366/bjpowernode";
            String user = "root";
            String password = "123";
            conn = DriverManager.getConnection(url,user,password);
            //Connection conn = new com.mysql.jdbc.JDBC4Connection(); //多态

            //com.mysql.jdbc.JDBC4Connection@41cf53f9
            //类名:com.mysql.jdbc.JDBC4Connection
            //System.out.println(conn.toString());

            //3、获取数据库操作对象
            //获取数据库操作对象的目的是为了通过该对象去执行SQL语句
            stmt = conn.createStatement();
            System.out.println(stmt); //com.mysql.jdbc.StatementImpl@41cf53f9

            //可以通过一个连接对象创建多个数据库操作对象
            //Statement stmt2 = conn.createStatement();
            //System.out.println(stmt2);

            //4、执行SQL语句
            //注意:JDBC中的SQL语句不需要提供分号结尾
            //String sql = "insert into dept(deptno,dname,loc) values(50,'销售部','北京')";
            //String sql = "update dept set dname='人事部',loc='天津' where deptno=50";
            String sql = "delete from dept where deptno = 50";
            int count = stmt.executeUpdate(sql); //返回值是int类型,返回的是此SQL语句的执行影响了数据库表当中几条记录。
            System.out.println(count);

            //5、处理查询结果集
            //当前例子不能处理查询结果集,因为以上的语句都是DML语句,没有DQL。

        }catch(SQLException e){
            e.printStackTrace();
        }finally{
            //6、关闭资源
            if(stmt != null){
                try{
                    stmt.close();
                }catch(SQLException e){
                    e.printStackTrace();
                }
            }
            if(conn != null){
                try{
                    conn.close();
                }catch(SQLException e){
                    e.printStackTrace();
                }
            }
        }


    }
}

猜你喜欢

转载自blog.csdn.net/tiberroot/article/details/79454626