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
    评论
智慧校园的建设目标是通过数据整合、全面共享,实现校园内教学、科研、管理、服务流程的数字化、信息化、智能化和多媒体化,以提高资源利用率和管理效率,确保校园安全。 智慧校园的建设思路包括构建统一支撑平台、建立完善管理体系、大数据辅助决策和建设校园智慧环境。通过云架构的数据中心与智慧的学习、办公环境,实现日常教学活动、资源建设情况、学业水平情况的全面统计和分析,为决策提供辅助。此外,智慧校园还涵盖了多媒体教学、智慧录播、电子图书馆、VR教室等多种教学模式,以及校园网络、智慧班牌、校园广播等教务管理功能,旨在提升教学品质和管理水平。 智慧校园的详细方案设计进一步细化了教学、教务、安防和运维等多个方面的应用。例如,在智慧教学领域,通过多媒体教学、智慧录播、电子图书馆等技术,实现教学资源的共享和教学模式的创新。在智慧教务方面,校园网络、考场监控、智慧班牌等系统为校园管理提供了便捷和高效。智慧安防系统包括视频监控、一键报警、阳光厨房等,确保校园安全。智慧运维则通过综合管理平台、设备管理、能效管理和资产管理,实现校园设施的智能化管理。 智慧校园的优势和价值体现在个性化互动的智慧教学、协同高效的校园管理、无处不在的校园学习、全面感知的校园环境和轻松便捷的校园生活等方面。通过智慧校园的建设,可以促进教育资源的均衡化,提高教育质量和管理效率,同时保障校园安全和提升师生的学习体验。 总之,智慧校园解决方案通过整合现代信息技术,如云计算、大数据、物联网和人工智能,为教育行业带来了革命性的变革。它不仅提高了教育的质量和效率,还为师生创造了一个更加安全、便捷和富有智慧的学习与生活环境。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值