JDBC入门

JDBC的全称:Java DataBase Connectivity ( java数据库链接)。

作用:    

    在没有JDBC驱动之前,程序员必须了解每种数据库的驱动。而在jdbc推出以后,我们只需要了解jdbc里面的一些具体实现,然后就可以链接数据库了,这样以后我们及不需要了解每种数据库的驱动了。

JDBC入门_第1张图片
JDBC

过程

    1.搭建开发环境:

        初始化工作,创建数据库

    2.编写程序,在程序中加载数据库驱动

    3.建立链接

    4.创建用于向数据库发送SQL的Statement对象

    5.从返回结果集的ResultSet中取出数据

    6.断开与数据库的链接,并释放相关资源

代码段

try {

    //1.加载驱动

    Class.forName("com.mysql.jdbc.Driver");

    //2.获得链接

    Connection conn= DriverManager.getConnection("jdbc:mysql://localhost:3306/jdbctext","root","123456");

    //3.SQL

    String sql="select * from user";

    Statement stmt=conn.createStatement();

    ResultSet resultSet=stmt.executeQuery(sql);

    while (resultSet.next()) {

        int uid=resultSet.getInt("uid");

        String username=resultSet.getString("username");

        String password=resultSet.getString("password");

        String name=resultSet.getString("name");

        System.out.println(uid+"----"+username+"----"+password+"----"+name);

    }

    //4.释放资源

    resultSet.close();

    stmt.close();

    conn.close();

}catch (SQLException e) {

    e.printStackTrace();

}

DriverManager:驱动管理类

    主要作用:

        1.注册驱动

            实际开发注册中用:Class.forName("com.mysql.jdbc.Driver");

        2.获得链接

            DriverManager.getConnection(String url,String username,Sting password);

                url写法jdbc:mysql://localhost:3306/database

                    jdbc:协议

                    mysql:子协议

                    localhost:主机名

                    3306:端口号

                    database:数据库名称

Connection:链接对象

    主要作用:

            1.创建执行SQL语句的对象

                Statement createStatement()    执行sql语句,有sql注入的漏洞

                PreparedStatement prepareStatement(String sql)     预编译SQL语句

                CallableStatement prepareCall(String sql)       执行SQL中存贮过程

            2.进行事务管理

                setAutoCommit(boolean autoCommit)    设置事务是否自动提交

                commit()    事务提交

                rollback()    事务回滚

Statement:执行SQL

    主要作用

        1.执行SQL语句

            execute(String sql)  执行SQL,返回值boolean 

            executeQuery(String sql) 执行SQL中的select语句,返回值ResultSet 

            executeUpdate(String sql)    执行更新操作,返回值int

        2.执行批处理操作

            addBatch(String sql)    添加到批处理

            executeBatch()            执行批处理

            clearBatch()                情况批处理

ResultSet:结果集(select语句查询到的结果的封装)

    主要作用:

        结果集获取查询到的结果

            next()        光标下移动

            针对不同的类型的数据使用getXXX()获取数据,通用的获取数据的方法:getObject();

                                    JDBC的资源释放

    特别是Connection对象,它是非常稀有的资源,用完后必须马上释放,如果Connection不能及时、正确的关闭,极易导致系统宕机。Connection的使用原则是尽量晚创建,尽量早的释放。

    正确释放资源的方式是,在开始捕获异常块完声明为null,在捕获异常的finally块中进行,代码格式为

if(rs!=null){

    try{

        rs.close();

    }catch(SQLException e){

        e.printStackTrace();

    }

    rs=null;//设为null垃圾回收机制将更早回收对象

}

你可能感兴趣的:(JDBC入门)