jdbc入门

JDBC的概述
jdbc入门
jdbc的api使用
jdbc的资源释放
jdbc的crud操作 增删改查操作
jdbc工具类的抽取
jdbc的preparedstatement

jdbc的概述
全称:Java database connectivity (Javau数据库连接)

jdbc的入门:
搭建开发环境
编写程序,在程序中加载数据库驱动
建立连接
创建用于向数据库发送的sql的statement对象
从代表结果集的resultset中取出数据
断开与数据库的连接,并释放相关资源。

创建数据库,表,插入数据:
create database jdbctest;
use jdbctest;
create table user(
uid int primary key auto_increment,
username varchar(20),
password varchar(20),
name varchar(20)
);

插入数据:
insert into user values (null,’aaa’,’111’,’张三’);
insert into user values (null,’bbb’,’222’,’李四’);
insert into user values (null,’ccc’,’333’,’王五’);

Junit是一个单元测试工具,目前在我们的eclipse、idea都可以进行使用
作用:
简化单元测试,写一点测试一点,能够快速定位追踪问题的所在

@Test:测试方法
解释:加了注解的方法可以像主方法一样使用

DriverManager:驱动管理类
主要作用:
注册驱动
实际开发中注册驱动会使用如下方式:
Class.forName(“com.mysql.jdbc.Driver”);
因为之前的加载驱动方式会导致驱动被注册2次
获得连接
Connection conn = DriverManager.getConnection(String url,String username,String password);
url jdbc:mysql://localhost:3306/jdbctest(数据库名字)
jdbc 协议
mysql 子协议
localhost 主机名/127.0.0.1
3306 端口号

url简写:jdbc:mysql:/// jdbctest

Connection 连接对象
主要作用:
创建执行sql语句的对象
Statement createStatement() 执行sql语句,有sql注入的漏洞
preparedstatement preparestatement(String sql) 预编译sql语句 很好的解决sql注入的漏洞
CallableStatement prepareCall(String sql) 执行sql中的存储过程

进行事务的管理
setAutoCommit (Boolean autoCommit) 设置事务是否自动提交
commit() 事务提交
rollback() 事务回滚

Statement 主要就是用来执行sql语句的
主要作用:
执行sql语句
boolean execute(String sql) 执行sql,执行select 语句返回true 否则false
ResultSet executeQuery(String sql) 执行sql中的select语句
int executeUpdate(String sql) 执行sql中的delete insert update语句

执行批处理
addBatch(String sql) 添加到批处理的操作
executeBatch() 执行批处理
clrearBatch() 清空批处理

resultset结果集封装的是select 查询到的数据

resultset结果集
结果集:其实就是查询语句(select)查询的结果的封装
主要作用:
结果集获取查询到的结果。
next() 是否存在下一行数据,如果存在的话就查询出来
针对不同的类型的数据可以使用getxxx获取数据,通过获取的方法:getObject();

jdbc的资源释放
程序运行完,切记在运行中释放资源,
要释放的资源:和数据库有交互的对象
ResultSet
Statement
Connection

为什么要释放?特别是connection对象,是非常稀有的资源
如果不释放:导致系统的宕机
尽量晚创建
尽量早释放

JDBC的CRUD操作
1、向数据库保存记录 insert
2、修改数据库记录的操作;update
3、删除数据库记录的操作 :delete

查询时最难的:
先查询所有记录
再查询一条记录

jdbc工具类的抽取

jdbc的sql注入漏洞

sql注入漏洞的解决
preparedStatement是 Statement的子接口

preparedStatement的使用 对sql进行预编译
保存操作
修改数据
删除数据
查询数据

C3p0数据库连接池使用
c3p0连接池比较常用的,开源的,需要引入jar包

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JDBC,即Java数据库连接,是Java语言操作数据库的标准API。从入门到熟练使用JDBC,需要掌握以下几个方面的功能。 1. 数据库连接:通过JDBC可以与各种数据库建立连接,如MySQL、Oracle、SQL Server等。首先要了解数据库的连接URL、用户名和密码等信息,然后使用`DriverManager`类的`getConnection()`方法建立与数据库的连接。 2. SQL语句执行:使用JDBC可以执行SQL语句对数据库进行增、删、改、查等操作。通过`Connection`接口的`createStatement()`方法创建执行SQL语句的`Statement`对象,然后使用该对象的`executeUpdate()`方法执行更新语句,或者使用`executeQuery()`方法执行查询语句,获取结果集。 3. 事务控制:在一些复杂的业务场景中,需要保证事务的一致性和完整性。JDBC通过`Connection`接口的`setAutoCommit()`方法设置是否自动提交事务,`commit()`方法提交事务,`rollback()`方法回滚事务。 4. 预编译SQL语句:预编译SQL语句可以提高SQL执行效率,减少数据库的负担。使用`PreparedStatement`接口可以先预编译SQL语句,然后再执行多次绑定不同参数值的操作。 5. 批处理操作:当需要执行一批相同类型的SQL语句时,使用批处理可以提高执行效率。通过`Statement`或`PreparedStatement`的`addBatch()`方法添加批处理操作,再使用`executeBatch()`方法执行批处理。 6. 结果集处理:JDBC通过`ResultSet`接口表示查询的结果集,可以通过该接口的方法获取结果集的数据,如使用`next()`方法遍历结果集的每一行,使用`getInt()`、`getString()`等方法获取具体的字段值。 7. 连接池管理:在高并发访问数据库的情况下,使用连接池可以减少连接创建的开销和资源的消耗。通过一些开源的连接池框架,如C3P0、Druid等,可以配置连接池的属性,提供可复用的数据库连接。 总结起来,JDBC入门到熟练使用,需要理解数据库连接、SQL语句执行、事务控制、预编译SQL语句、批处理操作、结果集处理和连接池管理等功能,并能熟练运用API进行操作。不断实践和积累经验,才能掌握JDBC的使用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值