精华内容
下载资源
问答
  • #include<stdio.h> #include<stdlib.h> #define LEN sizeof(struct Student) struct Student { long num; float score; struct Student *next; }; int n; struct Student *creat(void) ...p1 = p2 = (struc
    #include<stdio.h>
    #include<stdlib.h>
    #define LEN sizeof(struct Student)
    struct Student
    {
    long num;
    float score;
    struct Student *next;
    };
    int n;
    struct Student *creat(void)
    {
    struct Student *head;
    struct Student *p1, *p2;
    n = 0;
    p1 = p2 = (struct Student *)malloc(LEN);
    scanf("%ld,%f", &p1->num, &p1->score);
    head = NULL;
    while (p1->num!=0)
    {
    n = n + 1;
    if (n == 1)
    {
    head = p1;
    }
    else
    {
    p2->next = p1;
    }
    p2 = p1;
    p1 =(struct Student *)malloc(LEN);
    scanf("%ld,%f", &p1->num, &p1->score);
    }
    p2->next=NULL;
    return(head);
    }
    int main()
    {
    struct Student *pt;
    pt = creat();
    printf("\nnum=%ld\nscore=%5.1f\n", pt->num, pt->score);
    return 0;
    }
    
    展开全文
  • 员工管理系统因为学业要求,需要完成一个过关检测,但是因为检测之前没有做好准备,且想到之前用mysql+jdbc+Struts2+bootstrap做成了一个ATM系统(主要有对数据的增删改查操作),应对这次的检测应该不成问题,但是...

    员工管理系统

    因为学业要求,需要完成一个过关检测,但是因为检测之前没有做好准备,且想到之前用mysql+jdbc+Struts2+bootstrap做成了一个ATM系统(主要有对数据的增删改查操作),应对这次的检测应该不成问题,但是万万没想到,过关检测重在“检测”,需要在规定的时间内完成一个系统,且无关前端的好看与否,只需功能的实现,而我还在套用之前的ATM系统,因为ATM系统时隔久远,我已大半年没有接触web相关的知识了,套用起来很生疏,甚至连jdbc的使用都是很费力,所以最后理所当然的没有通过检测,因此想着要重新完成这个检测,且要使用最简单的前端和后端等技术。

    系统介绍

    整个系统其实很简单,这里主要参考了一篇博客:JSP + Servlet + JDBC + Mysql 实现增删改查其中类的设计(实体)很有参考意义。整个系统设计的目标人群是管理者,系统的主要功能是对员工进行各种信息的操作。主要是完成对数据库的增删改查的功能。

    1. 项目整体目录结构

    界面层(WebContent)主要使用jsp来动态展现数据库中的数据,业务逻辑层(servlets)使用的servlet,数据访问层(dao)主要是连接各个Servlet与数据库之前的通信,从而实现对数据库的各种操作。其中的entity包参考了上面提到的博客,主要是封装了两个实体:管理员和员工,方便且规范对数据的操作和代码的书写。

    d156699d7af751cd1f4a6e6d7fafdc6f.png

    2. 界面效果展示:

    login.jsp:

    6e747dd3cb8a3266b8b67be515560344.png

    mainPage.jsp:

    9855547d5e70139ca420961e83e3b043.png

    add.jsp:

    94f45e254bfb4c617ebbe85ad427612b.png

    modify.jsp:

    a1384dacc029c2f777e7da8ad7a5dc31.png

    数据库设计

    user表(管理员的账号和密码)

    aa9f86c28b1529daa91c6f1bbf57dff0.png

    employee表(员工信息表)

    af62016305fdf1f255704103d1b17551.png

    核心代码展示:(完整代码参见文章末尾)

    1. Admin.java(管理员属性的实体层,这里有管理员的登录账号和密码的定义)

    4015c9d13fe5632eabf94b4b66e50b7c.png

    2. Employee.java(和Admin.java差不多主要是实体属性的get和set方法)

    1c1bf04d5147885c39d277f9f6c3dfe2.png

    3. DbHelper.java(使用静态方法,通过JDBC获得与数据库的Connection)

    b361d4fbcc7323adf762df5613bddd6d.png

    4. AdminDao.java(管理员对员工数据的各种操作方法,在各种Servlet中得到应用,且这里通过DbHelper得到与数据库的连接)

    (1)loginAdmin(管理员的登录,对账号和密码的比对)

    ed23d27495577e320daddc423255d7e7.png

    (2)getAllEmployees(获得数据库中所有的员工信息,用于前台展示所有员工信息)

    f2ec1bf930e22ab036cff115f6d445eb.png

    (3) deleteEmpolyeeByName(数据库中以Name为主键,所以通过Name删除员工信息)

    152ec73df1e423d4c87236b4d103a8d1.png

    (4)addEmployee(向数据库中增加员工信息)

    82b2ec05f481d69688cd953a7a941bbf.png

    (5)getEmployeeByName(工具方法,通过Name获得单个员工信息)

    aa53c3821e97001be399e555dca8f1a0.png

    (6) updateEmployee(更新单个员工信息)

    df709d36ebd3669ca4a7e47d8806b19d.png

    loginServlet.java(处理login.jsp请求的servlet)

    a514fe1ee7e9f65489b0bef9b0c08734.png

    ShowServlet.java(将数据库中的所有员工信息展现到mainPage.jsp页面中)

    51db36687fd99c54a1594a2543b14b7e.png

    modifyServlet.java(当用户在mainPage页面点击修改按钮,会调用此servlet的doGet方法,再跳转到modify.jsp页面。当在modify.jsp页面点击提交之后会调用此servlet的doPost方法,提交修改到数据库中)

    e3ed10eeefa7416ded46d595a9267c06.png

    8683aa4c90d29a9f36417e648696f79d.png

    deleteServlet.java(处理删除单个员工信息的Servlet)

    523560746ad855990579bdeb5d725031.png

    addServlet.java(处理添加单个员工信息的Servlet)

    4b4befcb6358f7be05a5033879021b9c.png

    login.jsp(注册页面)

    0ab58175d88628cd1b5e1f33ad069f10.png

    c1f84250799341477be56335afa27cf4.png

    mainPage.jsp(主页面,展示所有员工信息)

    8043b2d9d0b501958e1e587bd57b9493.png

    add.jsp(添加员工信息的页面)

    4fe98ea3d8df4df20e9afd2e0dcef26d.png

    modify.jsp(修改员工信息的页面)

    d78d032ce5d36909b75f079db9294d28.png

    8de4d383d3ef59a337cb82ce216cf7cd.png

    源代码在github仓库:[

    原文出处:https://www.cnblogs.com/haoocker/p/12392906.html

    展开全文
  • 请你出更新语句,将所有获取奖金的员工当前的(salaries.to_date=‘9999-01-01’)薪水增加10%。(emp_bonus里面的emp_no都是当前获奖的所有员工) create table emp_bonus( emp_no int not null, btype smallint not ...

    题目描述

    请你写出更新语句,将所有获取奖金的员工当前的(salaries.to_date=‘9999-01-01’)薪水增加10%。(emp_bonus里面的emp_no都是当前获奖的所有员工)
    create table emp_bonus(
    emp_no int not null,
    btype smallint not null);
    CREATE TABLE salaries (
    emp_no int(11) NOT NULL,
    salary int(11) NOT NULL,
    from_date date NOT NULL,
    to_date date NOT NULL, PRIMARY KEY (emp_no,from_date));
    如:
    INSERT INTO emp_bonus VALUES (10001,1);
    INSERT INTO salaries VALUES(10001,85097,‘2001-06-22’,‘2002-06-22’);
    INSERT INTO salaries VALUES(10001,88958,‘2002-06-22’,‘9999-01-01’);

    UPDATE salaries
    SET salary = 1.1*salary
    WHERE emp_no in(SELECT emp_no FROM (SELECT s.emp_no 
                                        FROM salaries s 
                                        join emp_bonus e 
                                        ON s.emp_no = e.emp_no)a
                   WHERE to_date = '9999-01-01')
    

    需要注意的点

    1. UPDATE 的格式 UPDATE table名
    2. 子查询的应用。写成
    UPDATE salaries
    SET salary = 1.1*salary
    WHERE emp_no in (SELECT s.emp_no                                   FROM salaries s join emp_bonus e                                     ON s.emp_no = e.emp_no
    WHERE to_date = '9999-01-01')
    

    是错误的。

    展开全文
  • 本人在刚开始了解Kotlin协程的时候,断断续续看了网上不少文章,用长篇大论把Kotlin协程描述的非常玄乎,但是看完后还是依然云里雾里,所以决定来一篇关于协程的文章,希望能够帮助大家能够更快的上手Kotlin协程 ...

    目录

    前言

    Kotlin协程,现在已经成为了面试甚至是工作中一个非常火的东西。

    本人在刚开始了解Kotlin协程的时候,断断续续看了网上不少文章,用长篇大论把Kotlin协程描述的非常玄乎,但是看完后还是依然云里雾里,所以决定来写一篇关于协程的文章,希望能够帮助大家能够更快的上手Kotlin协程

    1. Android架构设计模式

    • MVC架构设计模式:MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写。
    • MVP架构设计模式:MVC全名是Model View Persenter,MVP由MVC演变而来,是现在主流的开发模式。
    • MVVM架构设计模式:MVVM全名是Model-View-ViewModel,它本质上就是MVC的改进版。

    各种模型的**主要目的**都是是分离视图(View)和模型(Model),即将UI界面显示和业务逻辑进行分离。

    1.1 架构设计模式-MVC

    (1) 定义:

    在android开发过程中,比较流行的开发框架曾经采用的是MVC框架模式。

    • M(Model)层:实体模型,处理业务逻辑。如:数据库操作,网络操作,I/O操作,复杂操作和耗时任务等。
    • V(View)层:处理数据显示。在Android开发中,它一般对应着xml布局文件。
    • C(Controller)层:处理用户交互。在Android开发中,它一般对应着Activity/Feagment。android中主要通过activity处理用户交互和业务逻辑,接受用户的输入并调用Model和View去完成用户的需求。

    (2) 特点

    • 低耦合
    • 可重用易拓展
    • 模块职责划分明确

    (3) 实例

    android本身的设计结构符合 MVC 模式。

    (4) MVC优缺点

    • MVC的优点:MVC模式通过Controller来掌控全局,同时将View展示和Model的变化分离开
    • MVC也有局限性:

    View层对应xml布局文件能做的事情非常有限,所以需要把大部分View相关的操作移到Controller层的activity中。导致activity相当于充当了2个角色(View层和Controller层),不仅要处理业务逻辑,还要操作UI。一旦一个页面的业务繁多复杂的话,activity的代码就会越来越臃肿和复杂。

    1.2 架构设计模式-MVP

    MVP是从经典的MVC模式演变而来,它们的基本思想有相通的地方:Controller/Presenter负责逻辑的处理,Model提供数据,View负责显示。在Android开发中,MVP的具体实现流程是当Presenter接收到View的请求,便从Model层获取数据,将数据进行处理。处理好的数据再通过View层的接口回调给Activity或Fragment。这样MVP能够让Activity或Fragment成为真正的View,只做与UI相关的事而不处理其他业务流程。

    (1) 定义

    • M(Model)层:实体模型,处理业务逻辑。如:数据库操作,网络操作,I/O操作,复杂操作和耗时任务等。
    • V(View)层:负责View的绘制以及与用户交互。在Android开发中,它一般对应着xml布局文件和Activity/Fragment
    • P(Presenter)层:负责完成Model层和View层间的数据交互业务逻辑

    (2) 实例

    (3) MVC和MVP的区别

    MVP中的View并不直接使用Model,它们之间的通信是通过Presenter来进行的,所有的交互都发生在Presenter内部,而在MVC中View会直接从Model中读取数据而不通过Controller

    • MVC和MVP的最大区别:MVC的Model层和View层能够直接交互;MVP的Model层和View层不能直接交互,需通过Presenter层来进行交互。
    • Activity职责不同:Activity在MVC中属于Controller层,在MVP中属于View层,这是MVC和MVP很主要的一个区别。可以说Android从MVC转向MVP开发也主要是优化Activity的代码,避免Activity的代码臃肿庞大
    • View层不同:MVC的View层指的是XML布局文件(或用Java自定义的View);MVP的View层是Activity(或Fragment)
    • 控制层不同:MVC的控制层是Activity(或Fragment);MVP的控制层是Presenter,里面没有很多的实际东西,主要负责Model层和View层的交互。

    (4) MVP优缺点

    • MVP的优点如下:

    模型与视图完全分离,我们可以修改视图而不影响模型;项目代码结构清晰,一看就知道什么类干什么事情;我们可以将一个Presenter用于多个视图,而不需要改变Presenter的逻辑,这个特性非常的有用,因为视图的变化总是比模型的变化更频繁 ;协同工作(例如在设计师没出图之前可以先写一些业务逻辑代码)

    • MVP也有不足之处:

    接口过多,一定程度影响了编码效率。一定程度上导致Presenter的代码量过大。
    为了降低Presenter中业务繁多的问题,Google又推出了MVVM,试图通过数据驱动来减少Presenter的代码量。

    1.3 架构设计模式-MVVM

    (1) 定义

    • M(Model)层:仍然是实体模型(但是不同于之前定义的Model层),主要负责数据获取、存储和变化,提供数据接口供 ViewModel 层调用。
    • V(View)层:对应Activity/Feagmentxml布局文件 ,负责View的绘制以及与用户交互
      说明:View层仅能操作UI(数据绑定来实现 UI 更新);不能做任何和业务逻辑有关的数据操作
    • VM(ViewModel)层:负责完成Model层和View层间的数据交互业务逻辑
      说明:ViewModel层仅能做和业务逻辑有关的数据操作;不能做UI相关的操作

    2. android插件化

    插件化来由:随着业务的增多,业务逻辑代码越来越多,apk包也逐渐增大,不利于维护和升级。通过插件化开发可将功能模块解耦,不同的维护团队仅维护某模块的业务,同时当app升级时可仅对某功能模块进行升级而不需整体升级。

    2.1 插件化要解决的问题—如何动态加载apk

    (1) android类加载器及区别

    类加载器作用:java字节码通过类加载器加载到java虚拟器。

    • PathClassLoader:仅能加载文件目录下的apk。
    • DexClassLoader:可以加载apk文件中的字节码(从dex实体jar文件中加载java字节码)。主要用于动态加载和代码热更新等。

    (2)反射: java中的反射使我们在运行时获得这个类的属性、方法和class内部的信息机制,最重要的是我们可以在运行时实例化这个对象调用方法,这也是java反射的最大优点。
    (3) 实现动态加载apk

    什么是动态加载apk:android中有一个速度程序会主动到指定的sd卡中去加载apk,并通过代理activity去执行。

    实现:需要一个代理activity去执行apk中的activity,主要通过反射去获得它的属性和方法,从而进行apk的调用。
    实现原理:类加载器(加载类)+反射(获取属性和方法)+动态代理(执行)

    这里我就分享一份资料,希望可以帮助到大家提升进阶。

    内容包含:Android学习PDF+架构视频+面试文档+源码笔记高级架构技术进阶脑图、Android开发面试专题资料,高级进阶架构资料 这几块的内容。分享给大家,非常适合近期有面试和想在技术道路上继续精进的朋友。

    如果你有需要的话,可以**点击Android学习PDF+架构视频+面试文档+源码笔记获取免费领取方式**

    喜欢本文的话,不妨给我点个小赞、评论区留言或者转发支持一下呗~

    可以**点击Android学习PDF+架构视频+面试文档+源码笔记获取免费领取方式**

    喜欢本文的话,不妨给我点个小赞、评论区留言或者转发支持一下呗~

    img

    展开全文
  • MyBatis 动态 SQL 详解(以后 SQL 爽多了)

    千次阅读 多人点赞 2021-03-03 14:53:01
    动态 SQL 是 MyBatis 的强大特性之一。如果你使用过 JDBC 或其它类似的框架,你应该能理解根据不同条件拼接 SQL 语句有多痛苦,例如拼接时要确保不能忘记添加必要的空格,还要...
  • 设 计 报 告课题名称: 员工销售业绩统计系统学 院:专业班级: 电子信息工程14-1学 号:学 生:指导教师:2015年 07 月 02 日学 生指导教师课题名称员工销售业绩统计系统设计时间06月22日-07月02日设计地点设计目的...
  • 8.2版本配置员工信息维护列表的动态字段(这里自定义目录标题) 8.2版本员工信息维护配置字段 8.2版本员工信息维护配置字段 比如想要把职业信息的某个字段配置出来,在员工信息维护列表里面需要选出来这个字段 1、先...
  • 许多朋友想换工作,但是对“换工作”的理解可能仅限于简历、投简历、面试。在跳槽之前,我也是这么想的。 当时,工作并不顺利,我的专业技能并没有很好的发挥,公司也给不了什么发展前景,就有了跳槽的打算。 我...
  • 牛客SQL题解-找出所有非部门领导的员工emp_no题目描述有一个员工表employees简况如下:有一个部门领导表dept_manager简况如下:建表语句如下:CREATE TABLE `employees` (`emp_no` int(11) NOT NULL,`birth_date` date ...
  • 15序列化 Serializable 和 Parcelable 的区别 16.string 转换成 integer 的方式及原理 17静态代理和动态代理的区别,什么场景使用? 18. 说说你对 Java 反射的理解 19. 说说你对 Java 注解的理解 20. 说一下泛型...
  • 员工考勤管理系统

    千次阅读 2021-05-11 21:39:46
    这里自定义目录标题1、需求分析1.1系统概述、产品说明1.2功能需求分析1.3开发使用工具1.4开发原则1.5开发目标1.6项目进度2、概要设计、项目简介2.1 页面概述2.2设计思路2.3流程图(页面结构)3、详细设计3.1页面...
  • 递归与动态规划

    2021-12-12 10:11:13
    动态规划(dynamic programming)是运筹学的一个分支,是求解决策过程(decision process)最优化的数学方法。 动态规划一般可分为线性动规,区域动规,树形动规,背包动规四类。 1、线性动规:拦截导弹,合唱队形...
  • 动态代理和静态代理的区别,动态代理直接在虚拟机层面构建字节码对象。 面试官:View自定义的流程,实现哪些方法。 回答: 实现OnMeasure,onlayout,onDraw。 继续问“onMeasure中会用哪些方法?”(我觉得这题可能...
  • 前段时间在腾讯工作,新员工入职的时候都会配发一个Token配件,核心作用只有一个,那就是验证身份。腾讯内部的系统、网站访问大多都需要PIN + Token的形式,PIN为固定的个人密码,Token为动态令牌,这样动静结合可以...
  • } 结果如下 2.3 在 INSERT 动态插入中使用 if 标签 我们插入数据库中的一条记录, 不是每一个字段都有值的, 而是动态变化的。在这时候使用 if 标签, 可帮我们解决这个问题。 2.3.1 插入条件 只有非空属性才插入。...
  • PLSQL 动态SQL

    2021-06-01 18:01:15
    这些语句可以使用动态SQL来实现。 语法格式:动态SQL EXECUTE IMMEDIATE 动态语句字符串 [INTO 变量列表] [USING 参数列表] BEGIN EXECUTE IMMEDIATE 'CREATE TABLE TMP_BAK AS SELECT * FROM TMP'; -- 字符串...
  • 员工管理系统配置文件web开发数据访问引入各种依赖配置application.yaml文件 配置文件 web开发 数据访问 引入各种依赖 导入jdbc场景 <dependency> <groupId>org.springframework.boot</groupId>...
  • 对于研发语言特性java/kotlin有深入理解,如反射、动态代理、apt等。 对android架构有基础了解,对apk结构和打包原理有深入了解。 对于android各个版本特性有基本了解,如MD设计、权限管理、doze模式等。 熟练掌握...
  • 2.Retrofit Java中的动态代理 Retrofit中的动态代理 Retrofit作用 3.OkHttp 请求任务队列 复用连接池 最后 文末放一个小福利给大家,点击我的腾讯文档即可领取 群内有许多技术大牛,有任何问题,欢迎广大网友一起来...
  • 主要为Java面向对象中创建员工类的相关内容
  • 动态sql语句基本语法

    2021-04-12 16:12:14
    Select * from tableNameExec('select * from tableName')Exec sp_executesql N'select * from tableName' -- 请注意字符串前一定要加N2:字段名,表名,数据库名之类作为变量时,必须用动态SQLeg:declare @fname ...
  • 目录员工管理系统1、准备工作1.1、导入资源1.2、编写pojo层1.3、编写dao层2、首页实现2.1、引入Thymeleaf2.2、编写MyMvcConfig2.3、测试首页3、页面国际化3.1、 File Encodings设置3.2、配置文件编写4、登录+拦截器...
  • 文章目录1. 题目描述1.1 输入1.2 输出2. 题目分析及解答2.1 题目分析2.2 详细解答 ...(注:可能有employees表和salaries表里存在记录的员工,有对应的员工编号和涨薪记录,但是已经离职了,离职的员工salar
  • 之前我们员工管理系统的后端笔记已经书写完毕,现在我们整理一下前端的笔记。 2.安装Vue环境,并新建Vue的项目 过程比较简单,此处省略.... 3.登录界面的开发 一般的登录界面就是简单的表单:用户名、登录密码、...
  • 1、mysql自定义函数的例子mysql不能像oracle 一样 动态SQL。复制代码 代码示例:DROP function IF EXISTS getTableMaxId;delimiter //CREATE FUNCTION getTableMaxId(table_name varchar(100))...
  • Max Howell在Google面试,但Google拒绝了他,给出的答复是:“虽然我们90%的工程师都用你的软件,但抱歉我们不能聘用你,因为你无法在白板上出翻转二叉树。” 这个事件在业内引起了轩然大波,人们开始讨论考查...
  • 可折叠ListView的使用方法 自定义Adapter的实现方法 自定义View的实现方法 动态控件布局的上实现方法 上拉刷新下拉加载更多 3、android网络编程与数据存储 1).基于Android平台的HTTP通讯: Http协议回顾 使用Get方法...
  • 热修复:让应用能够在无需重新安装的情况实现更新,帮助应用快速建立动态修复能力。大厂面试需要我们掌握通过设计思想解读开源框架! 第七模块:图片相关 现在Android上的图片加载框架非常成熟,从最早的老牌图片...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 41,150
精华内容 16,460
关键字:

员工动态怎么写