Java学习笔记-Java基础20(JDBC基础编程)

时间:2022-08-24 09:13:27

1.JDBC:Java访问数据库的解决方案,希望通过相同的方式访问不同的数据库,以实现与具体数据库无关的操作

2.JDBC的工作过程:

    1)加载驱动,建立连接

    2)创建语句对象

    3)执行SQL语句

    4)处理结果集

    5)关闭连接

Java学习笔记-Java基础20(JDBC基础编程)

    ---PS1:这个是ORACLE数据库加载驱动的固定写法,不同的数据库写法不同

    ---PS2:这个是ORACLE驱动获取连接的固定写法,语法是DriverManager.getConnection(String s1,String s2,String s3);             s1="jdbc:oracle:thin:@<IP>:<PORT>:<SID>"(jdbc:oracle:thin:@IP地址:端口号:数据库实例名)

            s2=数据库登录用户名

            s3=登录用户的密码

    ---PS3:Statement有三种执行方法:

            ResultSet executeQuery(String sql):执行查询语句(SELECT语句)

            boolean execute(String sql):执行DDL语句(当然也可以执行查询语句,结果是true或false都表示SQL语句没错,被执行了,只是true表示有结果集)

            int executeUpdate(String sql):执行DML语句,int值表示影响的记录条数

    ---PS4:此处遍历方式类似于集合的迭代器。ResultSet的结果集实际上是保存在数据库中的,并没有全部存在内存中,需要通过next方法去获取下一条记录,所以此时不能关闭连接,如果连接关闭会报出异常

    ---PS5:连接不用时,需要及时关闭,以释放数据库的资源,同样的state和rs如果不用了也可以调用close方法关闭

3.Properties:配置文件,可以将关键信息以类似key=value的形式存入该文件中,在需要修改时,只修改该文件,不用修改源码

    1)创建Properties对象

    2)创建输入流,并指定文件,读取数据,将信息存入Properties对象

    3)关闭输入流

    4)获取数据

Java学习笔记-Java基础20(JDBC基础编程)

    ---PS1:此处是获取文件的第二种方式,是比较推荐的一种方式,因为文件的位置相对固定

    ---PS2:String getProperty(String key)该方法的参数就是“=”左边,获取的返回值就是右边的数据,在Properties文件中,每一行的写法都是key=value,“=”两边没有空格,文件中只有换行符

4.DBCP:数据库连接池。在程序运行时创建一个连接池,需要连接数据库时,直接从池中获取连接,用完归还即可。连接池可以避免频繁的连接数据库带来的资源消耗,而且可以重用连接。

    1)创建连接池对象

    2)初始化连接池

    3)获取连接

    4)使用连接

    5)归还连接

Java学习笔记-Java基础20(JDBC基础编程)

    ---PS1:除了最基本的属性初始化外,还可以初始化许多属性,如初始连接数、最大活跃连接数、最长等待时间等

    ---PS2:此处的连接close方法并不是关闭,而是将连接归还给连接池

5.SQLException:SQL异常,一般是操作数据库出错,因为SQL语句出错或数据出错,处理方式有两种,一是:加try-catch,二是:throw异常。常见的异常有:

    ---登录被拒绝

    ---列名无效

    ---无效字符

    ---表或视图不存在

    ---无法转换为内部表示

    ---无效表达式

    ---不能将空值插入

    ---SQL命令未正确结束