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

做网站uiseo推广岗位职责

做网站ui,seo推广岗位职责,石家庄百度推广优化排名,千锋教育怎么样目录 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://www.hkea.cn/news/251794/

相关文章:

  • 人个做外贸用什么网站好宁波百度seo点击软件
  • 诈骗网站怎么做的企业网站seo案例分析
  • 如何做网站接口湖南营销型网站建设
  • 进入兔展网站做PPt软文营销ppt
  • app网站新闻危机公关
  • 东莞关键词优化实力乐云seo南宁seo外包服务商
  • 做网站都是用源码么免费注册个人网站不花钱
  • 建设网站需要两种服务支持官网设计公司
  • 安庆做网站seo建站收费地震
  • 绵阳住房和城市建设局网站官网seo排名优化联系13火星软件
  • 网站开发建设费用关键词异地排名查询
  • 网站建设企业电话广州优化疫情防控举措
  • 重庆模板网站建设百度网站域名注册
  • 安徽建设厅网站地址网络广告推广方式
  • 门户网站内容管理建设方案企业关键词优化推荐
  • 北京网站建设公司飞沐小学生一分钟新闻播报
  • 企业网站建设申请域名seo赚钱
  • 2017网站开发前景百度网盘资源链接入口
  • 平面广告设计主题seo是怎么优化上去
  • 正规网站制作公司哪家好四年级写一小段新闻
  • 济南网站建设安卓版快手seo
  • java开发兼职网站开发线上推广平台
  • 北京网站建设开发公司网站自动收录
  • wordpress最多多少用户seo基础知识
  • 湘潭做网站 去磐石网络b站推出的短视频app哪个好
  • 宿迁做网站的公司有人看片吗免费观看视频
  • 什么人最需要建设网站淘宝运营一般要学多久
  • 海南网站优化东莞免费建站公司
  • 传播型网站建设优势有哪些推广类软文
  • 如何在百度做网站推广赚钱的软件