学习笔记:
数据库分析:
建几张表?
需要什么字段?
分析出"实体"建类,对应建数据库表;反之,由实体建好表,建类。
1,由ATM和储户两个实体建表。
2,ATM机实体不需要存储数据可以不建表。因为没有任何的增删改查操作。
3,储户实体需建表。
4,建表:表名和类名一致,表字段和类中的属性一致
5,
//ORM对象关系映射//
映射
类<------->表
对应
类的属性<------->表的字段
对应
类的对象<------->表的一条记录
代码优化:DAO类:只写出所有对数据库进行的操作,不涉及业务,专门操作数据库jdbc。
ATM业务层把卡号,金额给DAO层即可(传参)。
将ATM的业务层与DAO分开,尽可能使他们没有关系,降低耦合度,方便后序运维。
DAO层登陆成功后返回此人的ID,在ATM中加入ID属性。
简化方法中的JDBC操作:尽可能一个项目建一个连接,节省空间
解决方案:截图:前两部可以抽到前面公用,最后一步也可抽出。
n个增删改查操作对应个方法:每个表要对应一个DAO文件,即每个表要为他专门写一个DAO文件。
命名规范:表名+DAO.
DAO层是用来操作JDBC的,所以每建立一个对象都需创建大桥(连接),很占用内存,所以利用继承比较好,在父类里面建立,后代直接调用,不需重复建立大桥。
关闭方法中连接connection先不关即close()对应传空值。
父类中写connection,close函数。
利用他的对象在另一个类中访问它的函数。
1,字符串比较:字符串1.equals (字符串2)
2,用count(*)返回一条语句(0,1)
3,PreparedStatement解决入侵问题
他把SQL条件限制为n个。
建一个连接反复使用
executeUpdate:返回值为修改的int型行数。
executeQuery: 返回值为ResultSet对象,永不为null。