JDBC相关

本身没有问题的sql语句,用户输入些特殊字符导致sql语句报错(sql注入)

使用createstatement缺点:
sql注入
使用+号拼接容易导致sql语法错误
PreparedStatement:1.避免了sql注入问题;2.不再使用+拼接,避免了语法错误;3.将模板sql(固定的部分)和参数部分进行了分离,提高了维护性;4.提前预编译、减少了编译次数,效率较高
jdbc:java database connectivity 是一个接口:java连接数据库
封装jdbc链接的工具类:JdbcUtils 获取连接 释放资源

Jdbc演示事务

批量处理:多条语句一起提交给数据库处理(5.1.7不支持)
preparedstatement的对象调用方法
addBatch():添加需要批量处理的sql语句或参数
executeBatch():执行批量处理语句
clearBatch():清空批处理包的语句

通常我们会遇到两种批量执行的sql语句的情况:
多条sql语句的批量处理(多条sql可能没关系)
statement去执行
一条sql语句的批量传参 (参数不同)
preparedstatement去执行
for循环
减少了编译次数和执行次数
使用批处理功能需要在jdbc链接mysql的URl中添加 rewriteBatchedStatements=true

blob类型数据的读写:存储图片、视频:
InputStream 流的形式写入和读出
update beauty set photo=? where id=1
ps.setBlob(1,new FileInputStream(“src\6.jpg”))
读出写到本地磁盘文件
select photo from beauty where id =1
ResultSet rs =ps.executeQuery()
if(rs.next()){
//1.方式1:
//Blob blob=rs.setBlob(“photo”);
// InputStream inputStream= blob.getBinaryStream();//将blob类型数据返回成流
//2.方式2:
InputStream inputStream= rs.setBinaryStream(“photo”);
FileOutputStream fos =new FileOutputStream(“e:\demo”);
int len;
byte[] b = new byte[1024];
while((len=inputStream.read(b))!=-1){
fos.write(b,0,len);
}
fos.close();
inputStream.close();
}

##数据库连接池
对于一个项目,成千上万个用户连接数据库
object…param 可变长度
datasource源 开源框架
数据库连接池:DBCP、C3P0、Druid(德鲁伊)

封装通用的增删改
封装查询

DbUtils–>apache组织提供的一个开源jdbc工具类库,提供了通用的增删改查方法
QueryRunner 通用的查询方法
ResultSetHandler 是一个接口 结果集处理器 根据查询结果处理不同的返回形式
BeanHandler (sql语句查询出来表中一条数据,对应java中的一个对象) java类中对应一个表的bean类
BeanListHandler
ScalarHandler (select count(*) from 表名)将结果集中的第一行第一列转换成object对象
学习一个类:包 、说明、 构造 、方法
update 通用的增删改方法

Java学习路线:
JavaSE->JavaWeb->ssh、ssm、spring、springmvc->springboot->springcloud
代码要多练习,多敲写,百度

#封装BasicDAO
Jdbc的综合应用:
1.domain实体类:管理员类、学生类、年级类
2.service业务层模块:不涉及到输入输出的内容;
1.登录验证
2…
3.view界面模块:和界面相关的模块
2用到1
3用到2
前台客户操作:3->2->1
书写:123的顺序
数据访问层:DAO data access object 和数据库打交道
学习:泛型方法的设计?泛型类的设计?
java中的自动装拆箱概念?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值