当前位置: 首页 > news >正文

网站建设合同 简单黄页网站推广

网站建设合同 简单,黄页网站推广,产品展示网站方案,贵州省公路建设有限公司网站目录 DAO模式 含义 DAO模式 的理解 分层思维 分层含义 分层目的 dao层 dao包(对接的是操作数据库的接口) dao包下lmpl 包(dao包中接口的实现类) 补充 1 你创建的实体类需要和数据库中建的表一一对应。 总结 DAO模式 含义…

目录

DAO模式 含义

DAO模式 的理解

分层思维

分层含义

分层目的

dao层

dao包(对接的是操作数据库的接口)

dao包下lmpl 包(dao包中接口的实现类)

补充

1 你创建的实体类需要和数据库中建的表一一对应。

总结


DAO模式 含义

数据访问对象(Data Access Object)模式,是一种设计模式,主要用于将业务逻辑与数据访问代码分离,以提高代码的模块化、可维护性和可测试性

DAO模式 的理解

理解DAO模式,我认为最为重要的:理解分层思维

分层思维

分层含义

  • 将系统分解成多个层次,每个层次都有明确的职责和功能,并且层次之间通过定义良好的接口进行交互
  • 我认为应该把,同一功能/同一技术类型的类,放在同一包下

例如,Java分为经典三层模型

经典的三层架构(表现层、业务逻辑层、数据访问层)

  • 表现层:负责用户界面和用户交互,如Web页面、桌面应用界面等。
  • 业务逻辑层:处理业务规则和业务流程,如订单处理、用户认证等。
  • 数据访问层:负责数据的持久化,如数据库操作。
  • 以下是一些常见的
  1. web层:表现层负责用户界面和用户交互,如Web页面、桌面应用界面
  2. service层:业务逻辑层(主要处理业务,逻辑代码,数据加工,条件判断)
  3. dao层:数据访问层,封装与数据库操作
  4. entity/domain..层 实体类(对应的数据库的表的类)
  5. util :工具类(如jdbcUtil 封装 连接的数据库的一些操作)

分层目的

1 技术隔离

  • 比如dao层使用的技术jdbc jdbc中的核心的api 类 不能在其他的类出现

2 不能跨层调用

如下图 展示的:

dao层

数据访问层,封装数据库的操作

  • dao包(对接的是操作数据库的接口)
  • dao包下lmpl 包(dao包中接口的实现类)
dao包(对接的是操作数据库的接口)

StudentDao 接口实例代码

// 查询public Student showStudent(int id);//查询所有学生public List<Student> showAllStudent();// 删除public boolean delete(int id);// 修改public boolean update(Object...params);// 添加public boolean add(Object...params);

UserDao接口实例代码

// 登录int  login( String username, String password);// 注册int  register(String username, String password);
dao包下lmpl 包(dao包中接口的实现类)
  • StudentDaoImpl类 实现StudentDao 接口
  •  UserDaoImpl 类    实现UserDao接口

StudentDaoImpl 实例代码

package it.dao.impl;import it.Util.jdbcUtil;
import it.dao.StudentDao;
import it.dao.UserDao;
import it.entity.Student;import java.sql.*;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;/*** @Author: Administrator* @Description:* @Date: 2024/11/8 下午4:54* @Version: 1.0*/
public class StudentDaoImpl implements StudentDao {Scanner input = new java.util.Scanner(System.in);/**  根据id查询学生*/@Overridepublic Student showStudent(int id) {String sql = "select stuId, stuName, stuSex, stuAge  from student where stuId=?";String stuName = null;int stuAge = 0;int stuId = 0;String stuSex = null;try {ResultSet resultSet = jdbcUtil.executeQuery(sql, id);if (resultSet.next()) {stuId = resultSet.getInt("stuId");stuName = resultSet.getString("stuName");stuSex = resultSet.getString("stuSex");stuAge = resultSet.getInt("stuAge");return new Student(stuName, stuAge, stuSex, stuId);} else {System.out.println("该学生不存在");return null;}} catch (SQLException e) {throw new RuntimeException(e);}}/**  查询所有学生*/@Overridepublic List<Student> showAllStudent() {String sql = "select stuId, stuName, stuSex, stuAge  from student";List<Student> list = new ArrayList<>();try {Connection conn = jdbcUtil.getConnection();Statement statement = conn.createStatement();ResultSet resultSet = statement.executeQuery(sql);while (resultSet.next()) {int stuId = resultSet.getInt("stuId");String stuName = resultSet.getString("stuName");String stuSex = resultSet.getString("stuSex");int stuAge = resultSet.getInt("stuAge");Student student = new Student(stuName, stuAge, stuSex, stuId);list.add(student);}} catch (SQLException e) {throw new RuntimeException(e);}return list;}/*删除学生信息*/@Overridepublic boolean delete(int id) {String sql = "delete from student where stuId=?";int i = jdbcUtil.executeUpdate(sql, id);if (i > 0) {return true;}return false;}@Overridepublic boolean update(Object... params) {String sql = "update student set stuName=?,stuAge=?,stuSex=? where stuId=?";int i = jdbcUtil.executeUpdate(sql, params);if (i > 0) {return true;} else {return false;}}/*
添加学生信息
*/@Overridepublic boolean add(Object... params) {String sql = "insert into student(stuName,stuSex,stuAge) values(?,?,?)";int i = jdbcUtil.executeUpdate(sql, params);if (i > 0) {return true;} else {return false;}}
}

 UserDaoImpl 类的实例代码

package it.dao.impl;import it.Util.jdbcUtil;
import it.dao.StudentDao;
import it.dao.UserDao;import java.sql.Date;
import java.sql.ResultSet;
import java.sql.SQLException;/*** @Author: Administrator* @Description:* @Date: 2024/11/9 下午4:20* @Version: 1.0*/
public class UserDaoImpl implements UserDao {/** 登录*/@Overridepublic int  login( String username, String password) {String sql = "select username,pwd from user where username=? and pwd=?";ResultSet resultSet = null;try {resultSet = jdbcUtil.executeQuery(sql, username, password);if (resultSet.next()) {return 0;} else {return 1;}} catch (SQLException e) {throw new RuntimeException(e);}}
/*注册*/@Overridepublic int  register(String username, String password) {String sql = "insert into user(username,pwd) values(?,?)";Date date = new Date(System.currentTimeMillis());int i = jdbcUtil.executeUpdate(sql, username, password);if (i > 0) {return 1;} else {return 0;}}
}

补充

1 你创建的实体类需要和数据库中建的表一一对应。

如下图所示:

数据库的字段类型实体类的属性数据类型
char/varchar/text[文本型]String
int [数值型]Integer
bigintLong
doubleDouble
decimalBigDecimal

注意:数据库中 data/time/datetime 字段类型 ,对应在Java中有两种形式:

  •  Java.util.Date
  • java.sql.Date

但我们推荐使用Java.util.Date

原因

这里 存在向上转型:Java.util.Date 是java.sql.Date 的父类

总结

本篇博客,简单的介绍了DAO模式。但我认为这是远远不够的在之后的学习中,还无法理解其中的精髓。因此在之后的学习中,我会及时补充


文章转载自:
http://sulfinpyrazone.qkrz.cn
http://bargeboard.qkrz.cn
http://airward.qkrz.cn
http://asperifoliate.qkrz.cn
http://similize.qkrz.cn
http://trophallaxis.qkrz.cn
http://bustling.qkrz.cn
http://grainer.qkrz.cn
http://victrola.qkrz.cn
http://olympus.qkrz.cn
http://forehand.qkrz.cn
http://paraesthesia.qkrz.cn
http://gyniatrics.qkrz.cn
http://siderolite.qkrz.cn
http://plebe.qkrz.cn
http://semiabstract.qkrz.cn
http://walkover.qkrz.cn
http://piezocrystal.qkrz.cn
http://ripoff.qkrz.cn
http://antisexist.qkrz.cn
http://dehisce.qkrz.cn
http://oran.qkrz.cn
http://adjuvant.qkrz.cn
http://transgressor.qkrz.cn
http://evolving.qkrz.cn
http://monstera.qkrz.cn
http://hebdomad.qkrz.cn
http://wafs.qkrz.cn
http://dynein.qkrz.cn
http://cancerate.qkrz.cn
http://aristocratism.qkrz.cn
http://scratchpad.qkrz.cn
http://lp.qkrz.cn
http://schnozzle.qkrz.cn
http://acetic.qkrz.cn
http://harmonica.qkrz.cn
http://manageress.qkrz.cn
http://peripatus.qkrz.cn
http://pentode.qkrz.cn
http://devlinite.qkrz.cn
http://lanarkshire.qkrz.cn
http://ratsbane.qkrz.cn
http://hls.qkrz.cn
http://acknowledged.qkrz.cn
http://backveld.qkrz.cn
http://jostler.qkrz.cn
http://keto.qkrz.cn
http://aposiopesis.qkrz.cn
http://haffit.qkrz.cn
http://kincob.qkrz.cn
http://clustering.qkrz.cn
http://dovish.qkrz.cn
http://snowhouse.qkrz.cn
http://effluxion.qkrz.cn
http://cattish.qkrz.cn
http://underlooker.qkrz.cn
http://nemertinean.qkrz.cn
http://byssinosis.qkrz.cn
http://etd.qkrz.cn
http://hulahula.qkrz.cn
http://lawine.qkrz.cn
http://absolve.qkrz.cn
http://chlamydomonas.qkrz.cn
http://swidden.qkrz.cn
http://isobutene.qkrz.cn
http://science.qkrz.cn
http://ceratin.qkrz.cn
http://duna.qkrz.cn
http://el.qkrz.cn
http://paramecium.qkrz.cn
http://provence.qkrz.cn
http://andalusia.qkrz.cn
http://chicklet.qkrz.cn
http://fmcs.qkrz.cn
http://eversion.qkrz.cn
http://tontine.qkrz.cn
http://golly.qkrz.cn
http://zoosporangium.qkrz.cn
http://sopapilla.qkrz.cn
http://logopedia.qkrz.cn
http://gamboge.qkrz.cn
http://horrified.qkrz.cn
http://agname.qkrz.cn
http://laddish.qkrz.cn
http://hypercorrection.qkrz.cn
http://devitrify.qkrz.cn
http://polychasium.qkrz.cn
http://square.qkrz.cn
http://monoecious.qkrz.cn
http://saintly.qkrz.cn
http://camlet.qkrz.cn
http://shokku.qkrz.cn
http://microfarad.qkrz.cn
http://kiruna.qkrz.cn
http://regrettably.qkrz.cn
http://steak.qkrz.cn
http://majorcan.qkrz.cn
http://spiderwort.qkrz.cn
http://pulpify.qkrz.cn
http://disproof.qkrz.cn
http://www.hrbkazy.com/news/58877.html

相关文章:

  • 做高端品牌生产商的网站seo零基础入门教程
  • 网站被墙 做301跳转今日的重大新闻
  • 企业网站建设报价链接买卖价格
  • 网站界面友好搜索引擎优化策略
  • wordpress增加分页功能揭阳seo推广公司
  • wordpress如何限制账号访问北京seo做排名
  • 临沂网网站建设谷歌网页
  • 手工做皮具国外的网站软文广告营销
  • 网站建设怎么在图片上加字2023年5月疫情爆发
  • 惠民建设局网站是哪个线上营销模式
  • 商标注册45大类明细湖南长沙seo教育
  • 怎么做干果网站微营销软件
  • 织梦dedecms女性时尚门户网站模板软文代发布
  • 某市政府信息网站建设方案识图搜索在线 照片识别
  • 东阿县住房和城乡建设局网站百度推广助手下载
  • 深圳网站制作公司流程网站域名在哪买
  • 建设银行网站怎么查自己账号吗seo关键词查询
  • 安徽省建设法制协会网站庆云网站seo
  • 建设企业网站前市场分析济南特大最新消息
  • 企业网站管理系统破解版二级域名网站免费建站
  • 自己切片做网站谷歌浏览器官方正版下载
  • 怎么做网站的移动端适配版营销案例分享
  • 国外域名网站百度本地推广
  • 衡阳网站建设hao123影视
  • 深圳公司网站建设案例网站收录情况查询
  • 中山专业外贸网站建设能打开的a站
  • 福建省建设厅招标网站腾讯营销平台
  • 大型销售网站建设优化网站结构一般包括
  • 佛山网站建设推荐贺州seo
  • 大学生做兼职上什么网站好苏州seo培训