第三章 DAO模式(分层) ① 笔记

@[TOC](第三章 DAO模式(分层) ① 笔记)

内容回顾

jdbc事务
确保一系列数据操作(增、删、改)作为整体执行的机制,要么都执行,都不执行;

  1. setAutoCommit(false);
  2. commit()
  3. rollback()
    BaseDAO封装
    简化jdbc的数据操作,减少冗余代码,重用,隐藏了细节的实现;

学习目标

 DAO模式,分层处理业务

第一节 DAO模式

dao: database access object 数据访问对象
企业开发过程中的项目的架构:(分层模式)
在这里插入图片描述
显示层:jsp,显示数据,和用户交互。
控制层:用来控制前端的请求,交给后端的业务层去处理。 管家。承上启下。
业务层:具体的业务逻辑(Bussiness) ,服务层(Service),在实现业务的过程中可以调
用一系列数据层的数据操作。
数据层:原子级别的数据操作(增、删、改、查 CRUD)操作。
实体层: 封装数据,在各层之间传递。
dao模式简介:
DAO:Data Access Object :数据存取对象;数据访问层。封装了jdbc操作,实现数据的
CRUD,套路。
实体层:
 实体类:数据的 载体
数据访问层:
 BaseDao:封装过了通用的数据操作
 dao接口:提供的CRUD的标准
 dao实现类:实现接口的方法
业务层:
 service接口:定义业务接口方法
 service实现类:实现业务接口的方法
在这里插入图片描述
dao的实现步骤:

//DAO模式的实现步骤:
/*
* ---数据库
* 1.建库建表
* ---java项目
* 2.创建java项目
*
* ---实体层:使用实体封装数据,在各层传递
* 3.创建实体包 com.entity
* 4.在实体包中创建实体类 UserInfo.java
* 在实体类中根据表字段定义属性和getter setter
*
*---dao层(数据访问层):只负责数据的增删改查
* 5.创建dao接口包 com.dao
* 6.在dao接口包中创建 dao接口 : IUserInfoDAO.java
*
* 7.创建dao接口实现包 com.dao.impl
* 8.在dao接口实现包中创建 dao接口实现类: UserInfoDAOImpl.java
*
* ---service层(业务层):实现业务功能的处理,例如:注册业务,发帖,转账
* 9.创建service接口包 com.service
* 10.在service接口包中创建service接口: IUserInfoService.java
*
* 11.创建service接口实现包 com.service.impl
* 12.在service接口实现包中添加service实现类: UserInfoServiceImpl.java
*
* ---应用程序界面:显示程序的功能菜单,作为程序入口
* 13.创建应用程序入口包:com.test
* 14.在程序入口包创建程序测试类:Test.java
*
*/

第二节 log4j的使用(日志工具)

在程序执行的过程中,我们需要记录程序执行的细节,用于程序分析或解决程序执行出
现的问题。
如何使用log4j工具记录日志:
1.导入log4j.jar包:
项目的src文件夹上—>右键-新建文件夹或包lib
将jar文件拷贝到lib目录中
lib目录上右键-【Add as LIbrary】
2.创建log4j工具的配置文件log4j.properties文件
复制log4j.properties文件->选中项目的src文件夹->黏贴log4j.properties文件
3.使用日志记录对象

#定义日志信息的输出源:输出到控制台
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %m%n
#定义日志信息的输出源:输出到文件
log4j.appender.file=org.apache.log4j.FileAppender
log4j.appender.file.File=test.log
log4j.appender.file.layout=org.apache.log4j.PatternLayout
# %d:日期 %l:行号 %m:信息 %n:换行 %M:方法名 %F:文件名 %p:信息级别
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %l %m%
#定义日志信息的输出源:输出到文件
log4j.appender.x=org.apache.log4j.FileAppender
log4j.appender.x.File=d:/smx_log.txt
log4j.appender.x.layout=org.apache.log4j.PatternLayout
log4j.appender.x.layout.ConversionPattern=%d{yyyy-MM-dd} %F %M %p %l %m%n
#配置日志记录器,记录信息的级别,以及信息输出的目标
log4j.rootLogger=info,stdout,file,x
package com.test1;
import org.apache.log4j.Logger;
public class Test1 {
public static void main(String[] args) {
//log4j:程序日志记录工具
//特点:能够记录不同级别(不同重要性)的信息到不同的地方(输出目标)
//使用步骤:
//1.导入log4j的工具包(jar文件)
//2.创建log4j的配置文件(log4j.properties)
//3.在程序代码中,嵌入日志记录代码
Logger log = Logger.getLogger("Test");
log.debug("记录Debug(调试)级别的内容");
log.info("记录info(信息)级别的内容");
log.warn("记录warn(警告)级别的信息");
log.error("记录error(错误)级别的信息");
log.fatal("记录fatal(终极错误)级别的信息");
}
}

DEBUG - debug调试级别的⽇志
INFO - info 正常级别的⽇志
WARN - warn警告级别的⽇志
ERROR - error错误级别的⽇志
FATAL - fatal致命级别的⽇志
程序会打印高于或等于所设置级别的日志,设置的日志等级越高,打印出来的日志就越

public class Test2 {
public static void main(String[] args) {
//输入两个数,做除法运算
Scanner scanner = new Scanner(System.in);
Logger logger =Logger.getLogger(Test2.class);
logger.debug("程序开始执行");
try {
logger.debug("准备输入第一个数");
System.out.println("请输入第一个数:");
int num1 = scanner.nextInt();
logger.info("用户输入第一个数:"+num1);
logger.debug("准备输入第二个数");
System.out.println("请输入第二个数:");
int num2 = scanner.nextInt();
logger.info("用户输入的第二个数:"+num2);
logger.debug("准备计算结果");
int res = num1/num2;
logger.info("计算的结果是:"+res);
System.out.println("结果:"+res);
} catch (Exception exception) {
logger.error("发生错误:"+exception.getMessage());
exception.printStackTrace();
}
logger.debug("程序执行结束");
System.out.println("程序执行结束");
}
}

练习任务

1、熟练掌握dao模式,实现CRUD操作。
2、员工管理功能实现

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值