准备一个表:
1. 建立表结构,表名bank_account
列名 |
类型 |
约束 |
备注 |
id |
int |
主键,自增 |
主键 |
num |
varchar(32) |
非空,唯一 |
银行账号,自然主键 |
balance |
double(8,2) |
|
余额 |
create_date |
timestamp |
默认当前时间 |
时间戳 |
界面操作:
代码操作:
2. 对该表的CRUD操作
Eclipse测试MySQL连接
https://blog.csdn.net/tbicf/article/details/79285559
JDBC编程
1. 创建一个Java项目
2. 导包 mysql-connector-java-5.1.35.jar
3. 创建一个main类,套路代码
类加载驱动
准备参数
建立数据库连接
准备sql
预装载sql
执行sql
收集参数
关闭流
测试修改SQL
PreparedStatement 用到两个方法
1.executeUpdate int
2.executeQuery
两个方法的不同之处: CRUD
executeUpdate : 执行 增加(insert) 修改(update)删除(delete)
返回值类型是int
executeQuery : 执行 查询 (select)
返回值类型是ResultSet
完成JDBCDao 的其它CRUD 需求
1. 写查询方法 JDBCSelect
2. 写增加方法 JDBCInsert
3. 写修改方法 JDBCUpdate
.4. 写删除方法 JDBCDelete
引入工具类
MVC分层的设计模式 先思想 后实现
MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。
将复杂的业务逻辑,分层处理,每层有每层的含义,层与层之间相互独立。每层只需要关注该层的功能逻辑,将业务解耦合。
1. 切分业务逻辑,结构清晰
2. 业务独立,功能专一,各司其职
3. 代码复用
4. 解耦合
MVC实现
entity层 实体类 Model
dao层 数据接口层,方法层 Model 基础方法区
service层 具体业务逻辑层 Model和Controller 的连接层
controller层 与界面交互层 Controller test
视图层 View
util 其它层 Model
创建service层,完成CRUD功能
1. Service层调用Dao层对象
2. Dao层不再关闭流,在Service层关闭
3. 完成一个业务逻辑 新增+查询 功能
service划分接口和实现类
将service分开接口和实现类
1. 解耦合,满足多人开发
2. 面向接口开发
3. 一种规范
项目步骤: 项目名 Bank_XXX
1. 建立表结构,表名bank_account1
列名 |
类型 |
约束 |
备注 |
ba_id |
int |
序列自增 |
主键 |
ba_num |
varchar(32) |
非空,唯一 |
银行账号,自然主键 |
ba_balance |
double(10,3) |
|
账户余额 |
ba_create_date |
timestamp |
默认时间 |
时间戳 |
2. 建立dao,service,main,util层
3. 准备dao层方法 转账 A 200 – B 200
3.1 判断转出人余额是否足够
3.2 判断收款人编号是否存在
3.3 转账流程(A扣款,B增款)
4. 完成service转账逻辑
service就是为了完成具体需求逻辑,而dao层是准备的基本方法区。通常一个逻辑多次调用dao层方法。
5. main层调用service方法,测试
6. 事务处理 一个事务对应一个逻辑需求(service),ACID
//关闭自动提交
connect.setAutoCommit(false);
//事务回滚
connect.rollback();
//事务提交
connect.commit();
数据库连接池 DBCP 第三方软件
在服务器启动时,数据库池提前创建好一定数量的连接通道(数据库与数据库池之间的连接通道)。当有连接请求访问数据库时,会与数据库池建立通道,间接的访问数据库;当访问完毕,仅关闭请求与数据库池之间的通道;数据库池与数据库继续保持连接。
Druid 阿里产品,外带web界面监控功能
标签:dao,逻辑,JDBC,service,数据库,编程,Model,主键 From: https://www.cnblogs.com/Lovew2/p/17048114.html