JDBC复习
PreparedStatement 用到两个方法
1.executeUpdate
2.executeQuery
两个方法的不同之处:
executeUpdate : 执行 增加(insert) 修改(update)删除(delete)
返回值类型是int
executeQuery : 执行 查询 (select)
返回值类型是ResultSet
创建Test_JDBC 项目
1. 写查询方法 JDBCSelect
2. 写增加方法 JDBCInsert
3. 写修改方法 JDBCUpdate
4. 写删除方法 JDBCDelete
MVC分层的设计模式
MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。
将复杂的业务逻辑,分层处理,每层有每层的含义,层与层之间相互独立。每层只需要关注该层的功能逻辑,将业务解耦合。
1. 切分业务逻辑,结构清晰
2. 业务独立,功能专一,各司其职
3. 代码复用
4. 解耦合
entity层 实体类 Mode
dao层 数据接口层,方法层 Mode
service层 具体业务逻辑层 Mode和Controller 的连接层
controller层 与界面交互层 Controller
视图层 View
合并增删改查的方法到一个dao层
创建service层,完成插入,查询功能
引入ThreadLocal
在全局线程栈(ThreadLocal)中创建一个共享变量,为每一个访问的线程提供一个映射的变量副本,所有线程的操作读取一个变量。
多线程之间的变量共享。
service划分接口和实现类
将service分开接口和实现类
1. 解耦合,满足多人开发
2. 面向接口开发
3. 一种规范
模拟银行转账流程的事务
//关闭自动提交
connect.setAutoCommit(false);
//事务回滚
connect.rollback();
//事务提交
connect.commit();
项目步骤:
1. 建立表结构,表名bank_account
列名 | 类型 | 约束 | 备注 |
ba_id | number | 序列自增 | 主键 |
ba_num | varchar2(32) | 非空,唯一 | 银行账号,自然主键 |
ba_balance | number(10,3) |
| 账户余额 |
ba_create_date | date | 默认时间 | 时间戳 |
2. 建立dao,service,main,util层
3. 准备dao层方法
3.1 判断转出人余额是否足够
3.2 判断收款人编号是否存在
3.3 转账流程
4. 完成service转账逻辑
service就是为了完成具体需求逻辑,而dao层是准备的基本方法。通常一个逻辑多次调用dao层方法。
5. main层调用service方法,测试
数据库连接池 DBCP 第三方软件
在服务器启动时,数据库池提前创建好一定数量的连接通道(数据库与数据库池之间的连接通道)。当有连接请求访问数据库时,会与数据库池建立通道,间接的访问数据库;当访问完毕,仅关闭请求与数据库池之间的通道;数据库池与数据库继续保持连接。
Druid 阿里产品,外带web界面监控功能
空间换时间