JDBC 常用的API

发布于:2024-04-28 ⋅ 阅读:(25) ⋅ 点赞:(0)

JDBC是通过IDEA来操作数据库

简单的例子

public class jdbcStart {
    @Test
    public void testjdbc()throws Exception
    {
        //1.注册驱动(确认使用哪个数据库)
        Class.forName("com.mysql.cj.jdbc.Driver");
        //2.连接数据库(获取到一个数据库连接对象)
        String url="jdbc:mysql://127.0.0.1:3306/mysql_day2";
        Connection connection = DriverManager.getConnection(url, "root", "123456");
        //3.编写sql语句
        String sql="select id, name, course_teacher_id from course";
        //4.把sql语句发送给数据库,数据库会返回执行结果
        Statement statement = connection.createStatement();//获取一个数据库对象
        ResultSet resultSet = statement.executeQuery(sql);//执行sql语句,返回结果
        //5.处理sql返回的结果
        while(resultSet.next())
        {
            System.out.print(resultSet.getInt("id")+"\t");
            System.out.print(resultSet.getString("name")+"\t");
            System.out.println(resultSet.getInt("course_teacher_id"));
            System.out.println("--------");
        }
        //6.释放资源
        resultSet.close();
        statement.close();
        connection.close();
    }
}

DriverManager类

1.注册驱动

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

2.获取连接

public static Connection getConnection(String url,String user, String password)

Params:
url – a database url of the form jdbc:subprotocol:

subname user – the database user on whose behalf the connection is being made password – the user's password 

Returns:
a connection to the URL

返回一个数据库连接对象 

参数1.url:连接路径

例子: String url="jdbc:mysql://127.0.0.1:3306/mysql_day2";

如果出现的是乱码,在url后面加上

?useUnicode=true&characterEncoding=utf8,表示让该数据库以UTF8编码来处理数据

如:"jdbc:mysql://127.0.0.1:3306/mysql_day2?useUnicode=true&characterEncoding=utf8";

Connection类

1.获取执行SQL的数据库对象

        普通执行SQL对象

Statement createStatement()

 2.事务管理

 开启事务:setAutoCommit(boolean autoCommit);true为自动提交事务;false为手动提交事务,即为开启事务

提交事务:commit()

回滚事务:rollback()

Statement类

1.执行SQL语句

int executeUpdate(String sql)

 执行DML,DDL语句

Returns:
either (1) the row count for SQL Data Manipulation Language (DML) statements or (2) 0 for SQL statements that return nothing

返回值:(1)DML语句(增删改)影响的行数

                (2)DDL语句(建(删)库,建(删)表)执行后,执行成功返回0

ResultSet executeQuery(String sql)

Returns:
a ResultSet object that contains the data produced by the given query; never null

返回结果集对象 

处理sql语句的执行结果

1.处理DML语句执行结果

if(row>0)

{

        增删改成功

}

 ResultSet类

ResultSet的原理

1.ResultSet内部有一个指针,刚开始记录开始位置

2.调用next()方法,ResultSet内部指针会移动到下一行

3.我们可以通过调用getXxx("列名");来得到当前行的某一列数据

next()方法,判断改行是否有数据,没有返回false,并游标向下移动一行;


网站公告

今日签到

点亮在社区的每一天
去签到