黑马程序员小鲁哥哥白话笔记管家婆项目一Word文件下载.docx
- 文档编号:17485294
- 上传时间:2022-12-06
- 格式:DOCX
- 页数:11
- 大小:17.42KB
黑马程序员小鲁哥哥白话笔记管家婆项目一Word文件下载.docx
《黑马程序员小鲁哥哥白话笔记管家婆项目一Word文件下载.docx》由会员分享,可在线阅读,更多相关《黑马程序员小鲁哥哥白话笔记管家婆项目一Word文件下载.docx(11页珍藏版)》请在冰豆网上搜索。
项目中的工具类
工具类的介绍
*每个项目中都会有很多个工具类,不要求每个工具类对能独立写出来,但是要会使用工具类
*JDBCUtils:
用来创建数据库连接池对象
###05数据表的设计
数据表的设计
数据表的设计(详见:
day34_source/表关系.JPG)
*表与表之间是有关系的
*主表和从表的关系
*主表中的主键作为从表中的外键
###06创建数据库数据表写入测试数据
创建数据库数据表写入测试数据
创建数据库数据表
/*
创建管家婆的数据库
名字gjp
*/
CREATEDATABASEgjp;
USEgjp;
创建数据表,表名账务
字段,列
主键
分类名称
可变字符
金额
double
账户
可变字符(支付,收入方法)
创建日期date
账务描述可变字符
CREATETABLEgjp_zhangwu(
--主键
zwidINTPRIMARYKEYAUTO_INCREMENT,
--分类名称
flnameVARCHAR(200),
--金额
moneyDOUBLE,
--账户
zhanghuVARCHAR(100),
--创建日期
createtimeDATE,
--账务描述
description
VARCHAR(1000)
);
SELECT*FROMgjp_zhangwu;
*b:
写入数据
--写入测试的数据
INSERT
INTOgjp_zhangwu(zwid,flname,money,zhangHu,createtime,description)VALUES(1,'
吃饭支出'
247,'
交通银行'
'
2016-03-02'
家庭聚餐'
INTOgjp_zhangwu(zwid,flname,money,zhangHu,createtime,description)VALUES(2,'
工资收入'
12345,'
现金'
2016-03-15'
开工资了'
INTOgjp_zhangwu(zwid,flname,money,zhangHu,createtime,description)VALUES(3,'
服装支出'
1998,'
2016-04-02'
买衣服'
INTOgjp_zhangwu(zwid,flname,money,zhangHu,createtime,description)VALUES(4,'
325,'
2016-06-18'
朋友聚餐'
INTOgjp_zhangwu(zwid,flname,money,zhangHu,createtime,description)VALUES(5,'
股票收入'
8000,'
工商银行'
2016-10-28'
股票大涨'
INTOgjp_zhangwu(zwid,flname,money,zhangHu,createtime,description)VALUES(6,'
5000,'
股票又大涨'
INTOgjp_zhangwu(zwid,flname,money,zhangHu,createtime,description)VALUES(7,'
又开工资了'
INTOgjp_zhangwu(zwid,flname,money,zhangHu,createtime,description)VALUES(8,'
礼金支出'
朋友结婚'
INTOgjp_zhangwu(zwid,flname,money,zhangHu,createtime,description)VALUES(9,'
其他支出'
1560,'
2016-10-29'
丢钱了'
INTOgjp_zhangwu(zwid,flname,money,zhangHu,createtime,description)VALUES(10,'
交通支出'
2300,'
油价还在涨啊'
INTOgjp_zhangwu(zwid,flname,money,zhangHu,createtime,description)VALUES(11,'
1000,'
又吃饭'
INTOgjp_zhangwu(zwid,flname,money,zhangHu,createtime,description)VALUES(12,'
2016-10-30'
开资'
INTOgjp_zhangwu(zwid,flname,money,zhangHu,createtime,description)VALUES(13,'
2000,'
机票好贵'
INTOgjp_zhangwu(zwid,flname,money,zhangHu,createtime,description)VALUES(14,'
又开资'
###07项目中的分层设计
项目中的分层设计
各层功能介绍
*view层作用:
视图层,即项目中的界面
*controller层作用:
控制层,获取界面上的数据,为界面设置数据;
将要实现的功能交给业务层处理
*service层作用:
业务层,功能的实现,与controller控制层和数据访问层DAO交互,将对数据库的操作交给DAO数据访问层来处理
*dao层作用:
数据访问层,用来操作数据库表的数据
*db数据库:
这里指MySQL
*domain实体包:
存放JavaBean
*tools工具包:
存放项目中使用到的工具类
*test测试包:
存放项目功能测试的代码
###08创建项目_分层_导入jar包
创建项目_分层_导入jar包
创建工程包
导入jar包
*在项目根路径下建立文件夹lib
*导入以下jar包
*拷贝以上jar包,选定拷贝的jar包/右键/BuildPath/AddtoBuildPath
###09创建domain包中的类
创建domain包中的类
案例代码
publicclassZhangWu{
privateint
zwid;
privateStringflname;
privatedouble
money;
privateStringzhanghu;
privateStringcreatetime;
privateStringdescription;
//注意生成空参构造、有参构造、set和get方法、toString方法等
}
###10创建JDBCUtils工具类
*A:
创建JDBCUtils工具类
publicclassJDBCUtils{
//创建BasicDataSource对象
privatestaticBasicDataSourcedatasource=newBasicDataSource();
//静态代码块,实现必要参数设置
static{
datasource.setUsername("
root"
datasource.setPassword("
123"
datasource.setMaxActive(10);
datasource.setMaxIdle(5);
datasource.setMinIdle
(2);
datasource.setInitialSize(10);
publicstaticDataSourcegetDataSource(){
returndatasource;
###11创建其他包中的类
创建其他包中的类
*
实现对数据表gjp_zhangwu数据增删改查操作
dbuils工具类完成,类成员创建QueryRunner对象,指定数据源
publicclassZhangWuDao{
privateQueryRunnerqr=newQueryRunner(JDBCUtils.getDataSource());
业务层类
接收上一层,控制层controller的数据
经过计算,传递给dao层,操作数据库
调用dao层中的类,类成员位置,创建Dao类的对象
publicclassZhangWuService{
privateZhangWuDaodao=newZhangWuDao();
控制器层
接收视图层的数据,数据传递给service层
成员位置,创建service对象
publicclassZhangWuController{
privateZhangWuServiceservice=newZhangWuService();
试图层,用户看到和操作的界面
数据传递给controller层实现
成员位置,创建controller对象
publicclassMainView{
privateZhangWuControllercontroller=newZhangWuController();
主程序类,作用,开启软件程序
publicclassMainApp{
publicstaticvoidmain(String[]args){
newMainView().run();
###12实现用户的界面菜单
实现用户的界面菜单
案例核心代码
实现界面效果
接收用户的输入
根据数据,调用不同的功能方法
publicvoidrun(){
//创建Scanner类对象,反复键盘输入
Scannersc=newScanner(System.in);
while(true){
//接收用户的菜单选择
intchoose=sc.nextInt();
//对选择的菜单判断,调用不同的功能
switch(choose){
case1:
//选择添加账务,调用添加账务的方法
break;
case2:
//选择的编辑账务,调用编辑账务方法
case3:
//选择的删除账务,调用删除账务方法
case4:
//选择的是查询账务,调用查询方法
//selectZhangWu();
case5:
System.exit(0);
###13实现查询的界面菜单
实现查询的界面菜单
*定义方法selectZhangWu()
*显示查询的方式1所有查询
2条件查询
*接收用户的选择
publicvoidselectZhangWu(){
intselectChooser=sc.nextInt();
//判断根据用户的选择,调用不同的功能
switch(selectChooser){
//选择的查询所有,调用查询所有的方法
selectAll();
//选的条件查询,调用带有查询条件的方法
select();
*定义方法,实现查询所有的账务数据
publicvoidselectAll(){
*定义方法,实现条件查询账务数据
*提供用户的输入日期,开始日期结束日期
*就2个日期,传递到controller层
*调用controller的方法,传递2个日期参数
*获取到controller查询的结果集,打印出来
publicvoidselect(){
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 黑马 程序员 哥哥 白话 笔记 管家婆 项目
![提示](https://static.bdocx.com/images/bang_tan.gif)