建设部四库一平台网站服装营销方式和手段

pingmian/2026/1/26 11:05:26/文章来源:
建设部四库一平台网站,服装营销方式和手段,腾讯企点登陆,国外网站在国内做镜像站点目录 DAO设计模式 1.认识DAO 2.DAO各部分的详解 3.DAO设计模式流程 DAO设计模式 1.认识DAO DAO(Data Acess Object 数据库访问对象)的主要功能是操作数据库#xff0c;所以DAO在标准开发架构中数据数据层#xff0c;以下是标准开发的架构 客户层#xff1a;目前使用B/… 目录 DAO设计模式 1.认识DAO 2.DAO各部分的详解 3.DAO设计模式流程 DAO设计模式 1.认识DAO DAO(Data Acess Object 数据库访问对象)的主要功能是操作数据库所以DAO在标准开发架构中数据数据层以下是标准开发的架构 客户层目前使用B/S开发架构居多客户可以通过浏览器访问显示层使用Vue框架、 React框架、 JSP/Servlet等进行页面展示业务层负责将DAO层的操作进行组合形成一个完整的业务逻辑数据层提供原子性操作比如增删查改 2.DAO各部分的详解 DAO的设计流程包括六个部分如下 1.DataBaseConnection 设计一个专门负责打开连接数据库和关闭数据库操作的类 命名规则: xxx.dbc.DataBaseConnection 2.VO 设计VO(值对象),其主要由属性setter和getter组成与数据库中的字段进行对应。 命名规则xxx.vo.ttt ; 其中ttt要和数据库中的表的名字一致 3.DAO 定义一系列原子性操作比如增删查改和实现业务的接口 命名规则xxx.dao.I.xxx.DAO 4.Impl 设计DAO接口真正的实现类完成具体的操作但是不负责数据库的开关 命名规则xxx.dao.imp.xxxDAOImpI 5.Proxy Proxy代理类的实现主要将以上四个部分组合起来完成整个操作过程 命名规则xxx.dao.Proxy.xxx.Proxy 6.Factory Factory类主要用于获得DAO类的实例对象 命名规则xxx.factory.DAOFactory 3.DAO设计模式流程 通过一个案例讲解DAO设计模式的流程 现在需要实现一个能够注册和查询工作者的案例(JDBC与DAO结合) 1.首先需要实现数据库的创建与表单的创建 /* 删除数据库 */ DROP DATABASE IF EXISTS smile ; /* 创建数据库 */ CREATE DATABASE smile ; /* 使用数据库 */ USE smile ; /* 删除数据表 */ DROP TABLE IF EXISTS worker ; /* 创建数据表 */ CREATE TABLE worker(empno INT(4) PRIMARY KEY,ename VARCHAR(10),job VARCHAR(9),hiredate DATE,sal FLOAT(7,2) ) ; /* 插入测试数据 */ INSERT INTO worker(empno,ename,job,hiredate,sal) VALUES (7369,董鸣楠,销售,2003-10-09,1500.90) ; INSERT INTO worker(empno,ename,job,hiredate,sal) VALUES (8964,李祺,分析员,2003-10-01,3000) ; INSERT INTO worker(empno,ename,job,hiredate,sal) VALUES (7698,张惠,销售,2005-03-12,800) ; INSERT INTO worker(empno,ename,job,hiredate,sal) VALUES (7782,杨军,分析员,2005-01-12,2500) ; INSERT INTO worker(empno,ename,job,hiredate,sal) VALUES (7762,刘明,销售,2005-03-09,1000) ; INSERT INTO worker(empno,ename,job,hiredate,sal) VALUES (7839,王月,经理,2006-09-01,2500) ;2.定义VO类 package com.JavaWebDAO.vo; import java.util.Date ; //定义工人类 public class Worker { // 设置工人属性private int empno ;private String ename ;private String job ;private Date hiredate ;private float sal ; // 配置setter函数public void setEmpno(int empno){this.empno empno ;}public void setEname(String ename){this.ename ename ;}public void setJob(String job){this.job job ;}public void setHiredate(Date hiredate){this.hiredate hiredate ;}public void setSal(float sal){this.sal sal ;} // 配置getter函数public int getEmpno(){return this.empno ;}public String getEname(){return this.ename ;}public String getJob(){return this.job ;}public Date getHiredate(){return this.hiredate ;}public float getSal(){return this.sal ;} } 3.定义数据库连接类 package com.JavaWebDAO.db; import java.sql.Connection ; import java.sql.DriverManager ; public class DatabaseConnection { // 配置相关信息private static final String DBDRIVER com.mysql.jdbc.Driver ;private static final String DBURL jdbc:mysql://localhost:3306/smile ;private static final String DBUSER root ;private static final String DBPASSWORD 357703 ;private Connection conn ; // 连接函数public DatabaseConnection() throws Exception { // 加载类库Class.forName(DBDRIVER) ; // 建立连接this.conn DriverManager.getConnection(DBURL,DBUSER,DBPASSWORD) ;} // 返回连接对象public Connection getConnection(){return this.conn ;}// 断开连接函数public void close() throws Exception {if(this.conn ! null){try{this.conn.close() ;}catch(Exception e){throw e ;}}} } 4.新建DAO接口 package com.JavaWebDAO.dao; import java.util.* ; import com.JavaWebDAO.vo.Worker;public interface IWorkerDAO { // 业务需求--注册员工public boolean doCreate(Worker work) throws Exception ; // 业务需求--查询员工public ListWorker findAll(String keyWord) throws Exception ; // 业务需求--通过id查询员工public Worker findById(int empno) throws Exception ; }5.定义完DAO接口后就需要写好具体的实现类实现类分为两种。 一种是真实实现类一种是代理操作类。 真实实现类 package com.JavaWebDAO.dao.impI;import com.JavaWebDAO.dao.IWorkerDAO; import com.JavaWebDAO.vo.Worker; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.util.ArrayList; import java.util.List;//真实实现类实现IWorker中所有业务需求 public class WorkerDAOImpl implements IWorkerDAO {private Connection conn null ;private PreparedStatement pstmt null ; // 通过构造函数获取连接对象public WorkerDAOImpl(Connection conn){this.conn conn ;}// 实现注册员工功能public boolean doCreate(Worker work) throws Exception{boolean flag false ;String sql INSERT INTO worker(empno,ename,job,hiredate,sal) VALUES (?,?,?,?,?) ;this.pstmt this.conn.prepareStatement(sql) ;this.pstmt.setInt(1,work.getEmpno()) ;this.pstmt.setString(2,work.getEname()) ;this.pstmt.setString(3,work.getJob()) ;this.pstmt.setDate(4,new java.sql.Date(work.getHiredate().getTime())) ;this.pstmt.setFloat(5,work.getSal()) ;if(this.pstmt.executeUpdate() 0){flag true ;}this.pstmt.close() ;return flag ;} // 实现查询员工的功能public ListWorker findAll(String keyWord) throws Exception{ListWorker all new ArrayListWorker() ;String sql SELECT empno,ename,job,hiredate,sal FROM worker WHERE ename LIKE ? OR job LIKE ? ;this.pstmt this.conn.prepareStatement(sql) ;this.pstmt.setString(1,%keyWord%) ;this.pstmt.setString(2,%keyWord%) ;ResultSet rs this.pstmt.executeQuery() ;Worker work null ;while(rs.next()){work new Worker() ;work.setEmpno(rs.getInt(1)) ;work.setEname(((ResultSet) rs).getString(2)) ;work.setJob(rs.getString(3)) ;work.setHiredate(rs.getDate(4)) ;work.setSal(rs.getFloat(5)) ;all.add(work) ;}this.pstmt.close() ;return all ;} // 实现通过id查询员工的功能public Worker findById(int empno) throws Exception{Worker emp null ;String sql SELECT empno,ename,job,hiredate,sal FROM worker WHERE empno? ;this.pstmt this.conn.prepareStatement(sql) ;this.pstmt.setInt(1,empno) ;ResultSet rs this.pstmt.executeQuery() ;if(rs.next()){emp new Worker() ;emp.setEmpno(rs.getInt(1)) ;emp.setEname(rs.getString(2)) ;emp.setJob(rs.getString(3)) ;emp.setHiredate(rs.getDate(4)) ;emp.setSal(rs.getFloat(5)) ;}this.pstmt.close() ;return emp ;} }代理操作类 package com.JavaWebDAO.dao.proxy;import com.JavaWebDAO.dao.IWorkerDAO; import com.JavaWebDAO.dao.impI.WorkerDAOImpl; import com.JavaWebDAO.db.DatabaseConnection; import com.JavaWebDAO.vo.Worker;import java.util.List;//代理操作IWorkerDAo中的业务需求 public class WorkerDAOProxy implements IWorkerDAO {private DatabaseConnection db null ;private IWorkerDAO dao null ;// 代理建立连接数据库public WorkerDAOProxy() throws Exception {this.db new DatabaseConnection() ;this.dao new WorkerDAOImpl(this.db.getConnection()) ;} // 代理实现注册功能public boolean doCreate(Worker work) throws Exception{boolean flag false ;try{if(this.dao.findById(work.getEmpno()) null){flag this.dao.doCreate(work) ;}}catch(Exception e){throw e ;}finally{this.db.close() ;}return flag ;} // 代理实现查询用户功能public ListWorker findAll(String keyWord) throws Exception{ListWorker all null ;try{all this.dao.findAll(keyWord) ;}catch(Exception e){throw e ;}finally{this.db.close() ;}return all ;} // 代理通过id查询用户的功能public Worker findById(int empno) throws Exception {Worker emp null;try {emp this.dao.findById(empno);} catch (Exception e) {throw e;} finally {this.db.close();}return emp;} }代理类只是调用了真实类中的方法但是代理类可以让代码开发的结构更加清晰 6.定义工厂类 package com.JavaWebDAO.factory;import com.JavaWebDAO.dao.IWorkerDAO; import com.JavaWebDAO.dao.proxy.WorkerDAOProxy;public class DAOFactory { // 通过工厂获取代理类的实例public static IWorkerDAO getIWorkerDAOInstance() throws Exception{return new WorkerDAOProxy() ;} }设计完所有类和接口后为了保证定义后功能可用则需要做一个测试类来测试所有功能是否能够正常使用 package com.lzl.dao.test ; import com.lzl.factory.DAOFactory ; import com.lzl.vo.* ; public class TestdoCreate{public static void main(String args[]) throws Exception{Worker work null ;work new Worker() ;work.setEmpno(1000) ;work.setEname(SMILE) ;work.setJob(程序员 ) ;work.setHiredate(new java.util.Date()) ;work.setSal(10000) ;DAOFactory.getIWorkerDAOInstance().doCreate(work) ;}} package com.lzl.dao.test ; import java.util.* ; import com.lzl.factory.DAOFactory ; import com.lzl.vo.* ; public class TestfindAll{public static void main(String args[]) throws Exception{ListWorker all DAOFactory.getIWorkerDAOInstance().findAll() ;IteratorWorker iter all.iterator() ;while(iter.hasNext()){Worker work iter.next() ;System.out.println(work.getEmpno() 、 work.getEname() 、 work.getJob() 、work.getHiredate() 、 work.getSal()) ;}} } 整体项目结构 这样DAO层就开发完毕了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/85547.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

wordpress插件密钥实现怎么关闭seo查询

一、创建项目并启动 第一步:全局安装:npm install -g create-react-app 第二步:切换到想创建项目的目录,使用命令create-react-app hello-react 第三步:进入项目目录,cd hello-react 第四步:启…

怎么做网站图标ppt制作模板免费下载

一、1、 硬件接口 二、2、 PCB原理图 三、 官网地址: https://t.rock-chips.com/portal.php 相关资料和固件烧写可参考资料下载菜单

合肥营销网站建设联系方式新沂今天重大新闻

题目链接:https://leetcode-cn.com/problems/climbing-stairs/ 之前在递归中讲过这个问题,现在用动态规划求解。 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? 注意&…

如何快速做h5网站国外网站开发

一. 金丝雀发布作用: 金丝雀发布是指在生产环境中逐步推出新版本应用程序,只在一小部分用户或流量中使用该版本,并根据反馈逐步扩…

网站做推广团队想学做网站从哪里入手

r根本不用10*rn%10实际上,这是一件很棘手的事情,而且很酷。这是一个很好的例子,说明变量命名不当会使代码难以理解。我们有3行代码可以实际执行某些操作,但它的工作原理并不明显。private static int NOTHING_REVERSED_SO_FAR 0;private static int reverse(int numberToBeRev…

做logo赚钱的网站南昌网站建设过程

在实例创建完成后被立即调用。在这一步,实例已完成以下的配置:数据观测 (data observer),属性和方法的运算,watch/event 事件回调。然而,挂载阶段还没开始,$el属性目前不可见。 methods、data、watch等可以…

电力建设规范下载网站重庆网站开发 公司

npm 最初的npm只是简单的通过依赖去递归安装包,所以说每个依赖都会有自己的node_modules,node_modules是嵌套的。一个项目会存在多个包,多个包之间难免会有公共的依赖,node_modules嵌套的话,这样公共依赖就会下载多次。会造成磁盘…

工程设计与建设 网站wordpress目录结构分析

1.文字到语音的整个过程 文字到语音的一般整体结构 主要是下面这个流程,每个网络可能会把其中两者或是三者融合在一起来; 长度不同的问题 生成的语音可能和文字的长度并不一样,因此需要解决这个问题 Tactron使用的是交叉注意力的方式解…

昆山新宇网站建设wordpress制作教程

MongoDB事务 事务介绍 在 MongoDB 中,对单个文档的操作是原子的。由于您可以使用嵌入的文档和数组来捕获单个文档结构中的数据之间的关系,而不是跨多个文档和集合进行规范化,因此这种单一文档的原子性消除了对多文档的需求许多实际用例的事务…

怎么和网站主联系方式wordpress获取指定分类文章列表

最近几天,我一直在与Netflix Governator合作,并尝试使用Governator尝试一个小样本,以将其与Spring Framework的依赖项注入功能集进行比较。 以下内容并不全面,我将在下一系列文章中对此进行扩展。 因此,对于没有经验的…

网站建设计入哪个科目做网站国家大学科技园郑州

将Word转换为HTML能将文档内容发布在网页上,这样,用户就可以通过浏览器直接查看或阅读文档而无需安装特定的软件。Word转HTML对于在线发布信息、创建在线文档库以及构建交互式网页应用程序都非常有用。以下是用Python将Word转换为HTML网页的攻略&#xf…

教育网站平台建设网页设计 做网站的代码

前提环境: 阿里云的源。 sudo apt update sudo apt upgrade sudo apt install gparted 搜索:

手机微信网站怎么做的好处wordpress 3.4 漏洞

题目描述 题目分析 这才是正常的中等题难度嘛,昨天的中等题题解我半天看不懂。。。 首先,需要增加一个哑节点(操作链表的常规操作),因为有可能删除首节点,我们不想要为首节点添加单独的逻辑。其次&#xf…

阿里巴巴中文站官网做国外营销型网站设计

这是系列文章中的最后一篇,我们将分析我们在2014年10月进行的Java Performance Tuning Survey的结果。如果您还没有阅读第一篇文章,我建议您首先阅读以下内容: 性能问题的频率和严重性 最受欢迎的监控解决方案 查找根本原因的工具和技术 …

尚层装饰官网深圳排名seo

作为JavaScript的超集Typescript非常值得大家学习的。 类型限定、流程语句的细节、面向对象思想(封装、继承、多态)抽象类方法、接口和实现类、枚举等 主要的是面向对象编程思想 下面是Typescript学习笔记: Typescript学习笔记&#xff1…

微网站搭建专业团队介绍文案

俗话说的好,框架是服务与大家的,包含的功能比较多,代码多。在现在追求速度的年代。应该根据自己的需求去封装自己所需要的组件。 下边就给大家介绍一下自己封装的一个小弹框组件,不依赖与jQuery,代码少,适…

移动网站开发 王府井网站制作百度

本文主要讲解如何实现在百度地图上添加覆盖物 1.承载数据的实体 我们从服务器返回的数据部分,最终可能是个Json数组,我们需要转换为实体集合,即下面的Info.java 我直接在实体类中声明了一个静态列表集合,模拟从服务器返回的数据…

贵阳网站建设设计公司哪家好吉野家网站谁做的

基于蛾群算法优化概率神经网络PNN的分类预测 - 附代码 文章目录 基于蛾群算法优化概率神经网络PNN的分类预测 - 附代码1.PNN网络概述2.变压器故障诊街系统相关背景2.1 模型建立 3.基于蛾群优化的PNN网络5.测试结果6.参考文献7.Matlab代码 摘要:针对PNN神经网络的光滑…

湖南网站seo公司赣州小程序建设包括哪些服务

目录 两数之和 字母异位词分组 最长连续序列 力扣热题100——哈希算法 两数之和 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答…

公司网站怎么做关键字澧县网站建设

目录 一、OpenStack 1、简介 2、硬件需求 3、网络 二、环境搭建 1、安全 2、主机网络 3、网络时间协议(NTP) 4、OpenStack包 5、SQL数据库 6、消息队列 7、Memcached 一、OpenStack 1、简介 官网:https://docs.openstack.org/2023.2/ OpenStack系统由…