JDBC之银行小系统练习
银行系统
登录 查询 存款 取款 转账 开户 销户
1.需求分析
需要数据 账号 密码 余额
存在哪里 MySQL数据库 一张表格
2.创建表格
创建一些测试的数据
3.业务功能
分层架构
几个类 类的关系 类中的属性 方法
- sql语句
create database atm
;
use atm;
create table atm(
aname varchar(20),
apassword varchar(20),
abalance float(10,2)
) character set utf8;
alter table atm add primary key(aname);
insert into atm values
('zhangsan','333',300),('lisi','444',400),('wangwu','555',500)
;
select * from atm;
- 实体类
package atm.domain;
public class Atm {
//domain实体 只是为了存储表格中的数据
//类 表
//对象 行
//属性 列
//类型 类型
private String aname;
private String apassword;
private Float abalance;
public Atm() {
}
public Atm(String aname, String apassword, Float abalance) {
this.aname = aname;
this.apassword = apassword;
this.abalance = abalance;
}
public String getAname() {
return aname;
}
public void setAname(String aname) {
this.aname = aname;
}
public String getApassword() {
return apassword;
}
public void setApassword(String apassword) {
this.apassword = apassword;
}
public Float getAbalance() {
return abalance;
}
public void setAbalance(Float abalance) {
this.abalance = abalance;
}
}
- DAO
package dao;
import domain.Atm;
import java.sql.*;
public class AtmDao {
//DAO持久层
//负责的是纯粹的JDBC读写数据库操作 没有任何的逻辑
//对于atm表格的新增 修改 删除 查询单条 MyBatis Hibernate持久层 读写数据库
//新增 修改 删除---->几乎一致---->优化 SQL 参数
//查询方法-->与别的类-->每一个类都有查询-->几乎一致--->SQL 参数 处理结果
//设计一个方法 负责将某一条记录删除
public void delete(String aname){
Connection conn = null;
Statement stat = null;
try {
String className = "com.mysql.jdbc.Driver";
String url = "jdbc:mysql://localhost:3306/atm";
String user = "zzt";
String password = "123";
String sql = "DELETE FROM ATM WHERE ANAME = '"+aname+"'";
Class.forName(className);
conn = DriverManager.getConnection(url,user,password);
stat = conn.createStatement();
//2.执行一条update语句
stat.executeUpdate(sql);
} catch (Exception e) {
e.printStackTrace();
} finally{
try {
if(stat!=null) {
stat.close();
}