javaweb实训第四天下午——JDBC深入理解(4)

简介: 如何把dbcp.properties中的配置信息,设置到程序中去: ![在这里插入图片描述](https://img-blog.csdnimg.cn/20210602102428898.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2RlYXJRaUhhbw==,size_16,color_FFFFFF,t_70) ![在这里插入图片描述](https://img-blog.csdnimg.cn/20210602102435935.pn

javaweb实训第四天下午——JDBC深入理解(3)https://developer.aliyun.com/article/1414848

如何把dbcp.properties中的配置信息,设置到程序中去: ![在这里插入图片描述](https://ucc.alicdn.com/images/user-upload-01/20210602102428898.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2RlYXJRaUhhbw==,size_16,color_FFFFFF,t_70) ![在这里插入图片描述](https://ucc.alicdn.com/images/user-upload-01/20210602102435935.png?x-oss-

process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2RlYXJRaUhhbw==,size_16,color_FFFFFF,t_70)

直接读取资源文件的方式:

20210602102441743.png

注意:在db.properties里的属性名称必需要和这边的对应上

测试方法:

20210602102448772.png

方式二: 通过BasicDataSourceFactory工厂

通过BasicDataSourceFactory工厂拿到连接:

20210602102455267.png

注意:在db.properties里的属性名称必需要和这边的对应上,ds.setUsername的首字母小写;

注意

5.3 抽取(了解)

5.4.1 抽取 (增,删,改方法)

抽取方式一:

① 写个类BaseDAOImpl

写一个公共的方法 – 完成增加,删除,修改

20210602102535630.png

①一个类BaseDAOImpl

②改写 增,删,改

20210602102542656.png

5.5小结

1.连接池是什么

  装连接的容器

2.为什么要使用连接池

  提高数据库的连接效率 节省内存资源,避免系统里面存在大量的连接数

3.连接池的思想

  从连接池里面拿到连接 不用每次都从数据库拿到连接,结合火车站的示例

4.连接池的实现(理解)

  DBCP(Spring) C3PO(hibernate)

5. 把增 删 改的方法 抽取一个公共的方法里面

6.课程总结

6.1重点

1.认识PreparedStatement(预编译语句对象)

2.PreparedStatement使用

 创建的对象时候,需要传入sql ,执行的时候 不需要传入sql

3.PreparedStatement和Statement区别

 不用拼接字符串结构清晰 效率高 可用防此sql注入

4.登录方式比较

  方式一 select * from user where username=’’ and password=’’;

 方式二 select * from user where username=’’>

 方式三 select count(*) from user where username =’’ and password=’’(不考虑)

5.事务的特性ACID

 事务:一组操作 要么都成功 要么都失败

 原子性 一致性 隔离性 持久性

6.连接池思想掌握

  连接池:装连接的容器 结合火车卖票例子

  使用连接池 和不使用连接池的区别?

 从用法上面区别 /从效率上的区别

  使用连接池 --了解

6.2难点

1.理解并且使用连接池思想

2.难点二:sql注入

6.3如何掌握

1.多去敲上课老师的代码 敲一下(照着敲一票)

2.理论结合实现去掌握知识点

6.4 排错技巧

有报错情况:

1.出现不懂得异常之后,可以把异常信息拷贝到百度或者API里面搜索;

2.出现问题之后,报错信息 ,怎么看 自己写的代码 有没有问题

3.根据百度或者API里面信息去解决问题;


没有报错情况:

1.会根据解题思路 一步一步去排查

2.System.out.println();

3.debug模式 F8 直接运行下一个断点 F6 直接运行一句代码 F5 进入方法里面

7.课后练习

1.第一题:完成两种登录方法的登录

2.第二题: 模拟完成一个转账的功能(练习事务)

3.第三题: PrepareStatement 返回主键(选做)

4.第四题: 使用 DBCP完成一张表的crud(选做)

5.第五题(选做):如果一个项目中有多个实体类(domian包下面有多个类,例如学生,老师,用户,部门等),那么对应的dao下面也会有多个对应的接口和多个实现类。请先写出至少2个实体类的场景,然后考虑如何优化抽取dao层对应的接口和实现类

8.面试题

1.第一题 事务的特性有哪些

2.第二题 PreparedStatement和Statement的区别

3.第三题 使用连接池和不使用连接池的区别

9.扩展知识或课外阅读推荐


目录
相关文章
|
1天前
|
SQL Java 关系型数据库
JavaWeb(JDBC编程)看这一篇就够了 —— 如何使用Java操作mysql数据库
JavaWeb(JDBC编程)看这一篇就够了 —— 如何使用Java操作mysql数据库
6 0
|
1天前
|
SQL Java 关系型数据库
Java核心-JDBC
Java核心-JDBC
5 1
|
2天前
|
SQL Java 关系型数据库
Java之JDBC数据库编程
Java之JDBC数据库编程
11 2
|
10天前
|
SQL Java 数据库连接
Java一分钟之-JDBC:Java数据库连接基础
【5月更文挑战第14天】JDBC是Java与关系数据库交互的API,常见问题包括资源管理、SQL注入和性能优化。易错点涉及驱动加载、空指针异常和事务管理。避免这些问题的方法有使用try-with-resources自动关闭资源、预编译PreparedStatement以防止SQL注入,以及正确管理事务。示例代码展示了基本的JDBC连接和查询。在实际开发中,推荐使用ORM框架如Hibernate或JPA来简化数据库操作。
21 1
|
10天前
|
SQL Java 关系型数据库
零基础轻松入门Java数据库连接(JDBC)
零基础轻松入门Java数据库连接(JDBC)
18 0
|
10天前
|
SQL Java 数据库连接
JDBC Java标准库提供的一些api(类+方法) 统一各种数据库提供的api
JDBC Java标准库提供的一些api(类+方法) 统一各种数据库提供的api
14 0
|
10天前
|
Java 关系型数据库 MySQL
【JDBC编程】基于MySql的Java应用程序中访问数据库与交互数据的技术
【JDBC编程】基于MySql的Java应用程序中访问数据库与交互数据的技术
|
10天前
|
SQL Java 数据库连接
Java从入门到精通:2.3.1数据库编程——学习JDBC技术,掌握Java与数据库的交互
ava从入门到精通:2.3.1数据库编程——学习JDBC技术,掌握Java与数据库的交互
|
10天前
|
SQL Java 数据库连接
Javaweb之JDBC的详细解析
Javaweb之JDBC的详细解析
15 0
|
10天前
|
SQL Java 关系型数据库
MySQL之JDBC(二)
MySQL之JDBC(二)
37 0