02 jdbc_day1

Jdbc笔记

一. 引言

1. 概念:

​ 是java程序连接数据的桥梁,通过jdbc驱动java程序可以操作访问数据库软件

在这里插入图片描述

2. jdbc的组成

1)接口:由sun公司定义,提供给程序员开发使用,已经在jdk里提供(java.sql包和javax.sql包)
2)实现类:有数据库厂商提供,通过jar包的形式提供

​ ojdbc5.jar — jdk5,6配合 ojdbc6.jar — jdk7,8

在这里插入图片描述

3. 搭建环境 (导入jar包)

1)普通文本编辑工具,将jar包所在路径配置到CLASSPATH环境变量里

​ CLASSPATH = . ; D:\160班级目录\jdbc\资料\ojdbc6.jar

2)使用集成开发工具

​ ① 在项目路径下新建一个lib文件夹,将ojdbc6.jar拷贝到文件夹下

​ ② 右键选中jar包,选择build path选项,选择add to build path

3) 在myeclipse里配置数据库操作窗口

​ ① 菜单window --> show view --> others --> 搜索 db browser --> 选中

​ ② 在打开的窗口有右键 --> new --> 填表格

​ ③ 在src目录下新建一个sql包,里面新建一个 xxx.sql的文件

在这里插入图片描述

二. 第一个jdbc程序

1. 注册Driver(驱动类加载)

​ Class.forName(" 驱动类的全类名") ;

注意: 可以在一个jdbc程序里注册多个Driver驱动类

2. 获取数据库连接

代码: Connection conn = DriverManager.getConnection( 地址,用户名,密码);
注意: 实际负责建立数据库连接的程序是Driver实现类,DriverManager只是一个工具类
地址解析:

在这里插入图片描述

3. 创建Statement(sql命令的传送工具)

代码: Statement stm = conn.createStatement();

4. 执行sql命令(传送)

1)executeUpdate(sql) : 用来执行insert update delete命令,返回int值(命令影响了几行数据)
2)executeQuery(sql) : 用来执行select命令,返回值为ResultSet(包含了查询结果)
3)execute(sql) : 可以用来执行所有的sql命令,返回boolean值(标志是否有结果集返回)

5. 处理结果集

方法: next() getXxx()系列

在这里插入图片描述

6. 释放资源

注意: 资源释放按照生成顺序反向释放 rs – stm – conn

三. 带参sql命令的执行

1. 使用Statement执行带参sql

缺陷:1) 命令字符串的拼接比较繁琐
2)sql注入

在这里插入图片描述

2. 使用PreparedStatement执行带参的sql

1)PreparedStatement 是Statement的子接口,可以解决sql注入(字符串拼接)的问题
2 ) 使用

​ ① 创建PreparedStatement对象( 需要直接指定执行的sql )

​ PreparedStatement pstm = conn.prepareStatement( sql ) ;

​ pstm允许指定 “半成品” 的sql , 允许在sql命令中使用?作为占位符,来代替暂时不方便给定的值

​ ② 为?设置值 : pstm提供一系列的setXxx()

​ pstm.setInt( ?的下标, ?的值 ) pstm.setString() pstm.setDouble() pstm.setDate()

​ ③ 执行sql

​ pstm.executeQuery() pstm.executeUpdate()

四. JdbcUtil工具类的封装

1. java代码重构的基本原则

在这里插入图片描述

2. 配置文件的常见格式

1) 常见文件类型:xxxx.properties xxx.xml
2) properties文件 : 每一行保存一个值 , 每一行由 name=value
3) Properties集合,它是Hashtable的子类 , 主键和值默认都是String

集合提供了一个load(InputStream) , 可以帮助读取指定文件解析读到的内容,并且默认将所有数据存入集合.

3. 类对象提供了一个方法可以获取InputStream

在这里插入图片描述

五. 总结

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值