-
2022-02-25 09:00:10
在数据库建立一个employee表,实现以下功能:(基于案例一)
1.实现多条件查询,根据员工的姓名和年龄筛选
(1)当用户输入姓名不为空,年龄为空时,则只根据姓名查询;
(2)当用户输入年龄不为空,姓名为空时,则只根据年龄查询;
(3)当用户输入年龄和姓名都不为空时,根据年龄姓名同时查询;(4)当用户输入年龄和姓名都为空时,则查询出所有职位不为空的的员工信息;
2.查询id=1,2,5,6的员工信息3.单条件查询出所有id值小于5的员工的信息;
4.查询出年龄为26且职位为员工的员工信息;
代码实现:
使用了MyBatis动态SQL中的常用元素<if>、<choose>、<when>、<otherwise>、<foreach>
1.EmployeeMapper.xml文件
<!--根据年龄和姓名查询--> <select id="findByNameOrAge" parameterType="org.example.pojo.Employee" resultType="org.example.pojo.Employee"> select * from employee where 1 = 1 <!--1.(3)当年龄姓名都不为空时,根据年龄姓名同时查询--> <if test="name != null and name != '' and age != null and age != ''"> <!--当写成“and name = #{name} or age = #{age}”时,只能查询到姓名符合的信息,调换位置后才能同时查询出符合信息--> and age = #{age} or name = #{name} </if> <!--1.多条件查询--> <choose> <when test="name != null and name != ''"> and name like concat('%',#{name},'%') </when> <when test="age != null and age != ''"> and age = #{age} </when> <otherwise> and position is not null </otherwise> </choose> </select> <!--2.查询id=1,2,5,6的员工信息--> <select id="findByArray" parameterType="java.util.Arrays" resultType="org.example.pojo.Employee"> select * from employee where id in <foreach collection="array" item="id" index="index" open="(" separator="," close=")"> #{id} </foreach> </select> <!--3.查询id小于5的员工信息--> <select id="findByList" parameterType="java.util.List" resultType="org.example.pojo.Employee"> select * from employee where id in <foreach collection="list" item="id" index="index" open="(" separator="," close=")"> #{id} </foreach> </select> <!--4.查询出年龄为26且职位为员工的员工信息--> <select id="findByMap" parameterType="java.util.Map" resultType="org.example.pojo.Employee"> select * from employee where age = #{age} and position = #{position} and id in <foreach collection="id" item="roleMap" index="index" open="(" separator="," close=")"> #{roleMap} </foreach> </select>
2.测试类findTest
public class findTest { SqlSession sqlSession = MyBatisUtils.getSession(); @Test public void findByNameOrAge(){ Employee employee = new Employee(); employee.setName("张三"); employee.setAge(22); List<Employee> list = sqlSession.selectList("findByNameOrAge",employee); for (Employee employee1:list){ System.out.println(employee1); } sqlSession.close(); } @Test public void findByArray(){ Integer[] ids = {1,2,5,6}; List<Employee> list = sqlSession.selectList("findByArray",ids); for (Employee employee:list){ System.out.println(employee); } //找不到的时候呢? sqlSession.close(); } @Test public void findByList(){ List<Integer> list = new ArrayList<>(); for (int i = 0;i < 5;i++){ list.add(i); } List<Employee> employees = sqlSession.selectList("findByList",list); for (Employee employee:employees){ System.out.println(employee); } sqlSession.close(); } @Test public void findByMap(){ List<Integer> list = new ArrayList<>(); list.add(1); list.add(3); list.add(5); list.add(6); Map<String ,Object> map = new HashMap<>(); map.put("id",list); map.put("age","26"); map.put("position","员工"); List<Employee> employees = sqlSession.selectList("findByMap",map); for (Employee employee:employees){ System.out.println(employee); } sqlSession.close(); } }
更多相关内容 -
疫情防控员工动态信息登记表.xlsx
2021-11-18 22:25:07疫情防控员工动态信息登记表.xlsx -
java实现企业员工信息管理系统(完整版)
2021-07-12 00:30:30java实现企业员工信息管理系统(完整版) java实现企业员工信息管理系统(完整版) java实现企业员工信息管理系统(完整版) java实现企业员工信息管理系统(完整版) -
员工档案.xlsm(动态关联员工图片)
2020-04-05 01:06:54这个工作表记录了一个员工信息档案,查询表可以从数据源查询出指定员工的信息,用定义名称图片,动态查找员工图片及信息等,谢谢大家的支持 -
java企业员工信息管理系统(毕业设计论文)(20210804110629).pdf
2021-08-04 13:51:52根据实际需求,“企业员工信息管理系统”项目采用模块化的设计思想,在WindowsXP操作系统环境下,搭建JSP运行环境JDK+TOMCAT,通过使用JAVA脚本语言完成动态的、交互的web服务器应用程序,实现员工个人信息查询、... -
java企业员工信息管理系统毕业设计(论文).pdf
2021-08-04 13:53:11根据实际需求,“企业员工信息管理系统”项目采用模块化的设计思想,在WindowsXP操作系统环境下,搭建JSP运行环境JDK+TOMCAT,通过使用JAVA脚本语言完成动态的、交互的web服务器应用程序,实现员工个人信息查询、... -
JavaScript实现动态添加员工信息
2020-04-08 10:13:06动态添加员工信息实现功能包括: - 输入员工id,姓名,选择职位,对信息进行表单验证 - 表格实现隔行变色添加 - 点击提交按钮后,弹框提示是否添加 - 实现全选全不选 - 单行删除 - 多行同时删除实现功能包括:
- 输入员工id,姓名,选择职位,对信息进行表单验证
- 表格实现隔行变色添加
- 点击提交按钮后,弹框提示是否添加
- 实现全选全不选
- 单行删除
- 多行同时删除
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title></title> <style> #empAdd { width: 600px; margin: 10px auto; padding: 10px 0px; text-align: center; } #empAdd fieldset { height: 100px; } .btn { margin-top: 5px; width: 60px; } .container { margin: 20px auto; width: 500px; text-align: center; } table { width: 500px; } table, th, td { border: 1px solid #000000; border-collapse: collapse; } </style> <script> function empAdd(){ var empNo = document.getElementById("txtId").value; var empName = document.getElementById("txtName").value; var b = Check(empNo,empName); var empJob = document.getElementById("txtJob").value; //var empJob = job.options[job.selectedIndex].innerText; var emp = new Object(); emp.empNo = empNo; emp.empName = empName; emp.empJob = empJob; if(b){ if (window.confirm("编号:"+empNo+" 姓名:"+empName+" 职位:"+empJob+",确定添加吗?")) { empMessage(emp); } } } //判断数据是否符合规范 function Check(empNo,empName){ var reg =/^\d{1,}$/; if (!reg.test(empNo)) { alert("编号格式错误,请重新输入!"); return false; }else if(empName == null||empName == ""){ alert("姓名不能为空!"); return false }else{ return true; } } //动态添加元素 function empMessage(emp){ var c1 = document.createElement("td"); // 复选框 var box = document.createElement("input"); box.setAttribute("type","checkbox"); box.setAttribute("name","items"); c1.appendChild(box); //员工编号 var c2 = document.createElement("td"); var v2 = document.createTextNode(emp.empNo); c2.appendChild(v2); //员工姓名 var c3 = document.createElement("td"); var v3 = document.createTextNode(emp.empName); c3.appendChild(v3); //员工职位 var c4 = document.createElement("td"); var v4 = document.createTextNode(emp.empJob); c4.appendChild(v4); //删除按钮 var c5 = document.createElement("td"); var btnDel = document.createElement("input"); btnDel.setAttribute("type","button"); btnDel.setAttribute("value","删除"); btnDel.onclick=function(){ //this指向删除按钮 btnDel - td - tr var trNode = this.parentNode.parentNode; var txtName = trNode.getElementsByTagName("td")[2].firstChild.nodeValue; if(confirm("确定删除员工"+txtName+"的信息吗?")){ //tr - tbody - 删除(tr) trNode.parentNode.removeChild(trNode); } } c5.appendChild(btnDel); var tbody = document.getElementById("tbContent"); var row = document.createElement("tr"); //每列信息添加进行中 row.appendChild(c1); row.appendChild(c2); row.appendChild(c3); row.appendChild(c4); row.appendChild(c5); //一行信息加入tbody tbody.appendChild(row); //var trs = tbody.getElementsByTagName("tr"); var trs = document.getElementsByTagName("tbody")[0].children; for (var i = 0; i < trs.length; i++) { if (i % 2 == 0) { //偶数行 trs[i].style.backgroundColor = "yellowgreen"; } else { trs[i].style.backgroundColor = "green"; } } } //实现全选 function selectAll(){ var all = document.getElementById("all"); var items = document.getElementsByName("items"); for(var i=0;i<items.length;i++){ //与全选框动作同步 items[i].checked= all.checked; } } //删除员工信息 function deleteEmp(){ var tbody = document.getElementById("tbContent"); var items = document.getElementsByName("items"); var count = 0; var arr = new Array(); for(var i=0;i<items.length;i++){ if (items[i].checked == true) { count++; //将被选中的行添加到数组中 arr.push(items[i].parentNode.parentNode); } } if(count == 0){ alert("请至少选择一项"); }else{ if(confirm("确定要删除吗?")){ for(index in arr){ tbody.removeChild(arr[index]); } } } } </script> </head> <body> <div id="empAdd"> <fieldset> <legend><strong>添加员工</strong></legend> <label>编号:</label> <input type="text" size="15" id="txtId" name="empNo" value="" maxlength="4" autofocus="autofocus" placeholder="请输入员工编号"/> <label>姓名:</label> <input type="text" size="15" id="txtName" name="empName" value="" maxlength="20" placeholder="请输入姓名"/> <label>职位:</label> <select id="txtJob"> <option value="0" selected="selected">请选择</option> <option value="程序员">程序员</option> <option value="设计师">设计师</option> <option value="项目经理">项目经理</option> </select> <br /><br /> <div> <input type="submit" name="name" id="btnAdd" value="添加" onclick="empAdd();" /> <input type="reset" class="btn" id="btnReset" value="重置" /> </div> </fieldset> </div> <div class="container"> <h1>员工管理</h1> <table> <thead> <tr> <th><input type="checkbox" name="selectAll" onchange="selectAll();" id="all" />全选</th> <th>编号</th> <th>姓名</th> <th>职位</th> <th>操作</th> </tr> </thead> <tbody id="tbContent"></tbody> </table> <p id="empty"> </p> <input type="button" name="name" id="btnDelete" onclick="deleteEmp();" value="删除员工" /> <script> </script> </div> </body> </html>
-
C语言版员工信息管理系统
2015-07-21 16:16:41C语言版员工信息管理系统,功能齐全,操作简单,代码详细易懂 -
基于Java的企业员工信息管理系统
2018-12-30 21:17:19基于Java的企业员工信息管理系统的设计与实现,包含源代码,毕业设计论文 -
一个简易的人事管理系统,用... 功能:其中一个功能模块是根据员工职位、员工姓名分别对员工的信息进行查询。
2021-01-04 18:50:52一个简易的人事管理系统,用servlet+jsp写的,运行环境idea+tomca。 功能:其中一个功能模块是根据员工职位、员工姓名分别对员工的信息进行查询。 也可以对员工信息增加删除修改等操作。 -
react-employee-directory:员工目录是一个全栈 React.js 应用程序,允许用户使用过滤器动态过滤员工
2021-05-31 08:30:14员工目录是一个 Fullstack React.js 应用程序,它允许用户使用过滤器动态过滤员工。 开发工具 Javascript CSS 引导程序 React.js 使用信息 此应用程序应该易于使用且直观。 打开下面的 URL 并在打开时单击访问员工... -
企业员工信息管理系统(完整版)
2011-11-21 14:06:51企业员工信息管理系统 完整的代码设计流程 以及设计文档 超赞 -
Employee_Management_System:解析MySQL数据库以动态显示,更改和呈现员工数据的node.js应用程序
2021-05-28 14:32:52员工管理系统 解析MySQL数据库以动态显示,更改和呈现员工数据的node.js应用程序。 视频演示: : 自述文件演示: 应用说明: 这是一个node.js应用程序,允许用户更改和编辑员工信息,而无需知道MySQL命令。 方法:... -
毕业设计精品课之基于C#企业员工管理系统实战讲解
2021-06-11 09:09:23首先是权限管理方面,一般的企业员工管理系统仅仅通过角色来设计用户权限,同一角色的权限信息必须一致,而想设计不同的权限就必须添加不同的角色,本文设计时使用动态权限分配技术来实现基于用户的权限分配;... -
teampage-generator:一个node.js应用程序,用于根据用户输入动态生成员工名册网页
2021-04-03 11:32:55您的任务是构建一个Node.js命令行应用程序,该应用程序接收有关软件工程团队中员工的信息,然后生成一个HTML网页,以显示每个人的摘要。 测试是使代码可维护的关键,因此您还将为代码的每个部分编写一个单元测试,并... -
Javaweb企业员工信息管理系统
2021-08-23 15:58:50本期项目是《Javaweb企业员工信息管理系统》,对应的视频教程,我已上传到B站、西瓜等视频平台,可复制文章标题关键词前往视频平台搜索观看。 一、项目功能介绍 《javaweb企业员工信息管理系统》该项目采用技术jsp...大家好,这里是天行IT科技馆,我是你们的馆长!
本期项目是《Javaweb企业员工信息管理系统》,对应的视频教程,我已上传到B站、西瓜等视频平台,可复制文章标题关键词前往视频平台搜索观看。
一、项目功能介绍
《javaweb企业员工信息管理系统》该项目采用技术jsp、servlet、jdbc、tomcat服务器、mysql数据库 开发工具eclipse,项目含有源码、论文、配套开发软件、软件安装教程、项目发布教程
javaweb企业员工信息管理系统主要功能: 密码修改、部门管理、员工管理、出勤管理、工资管理、请假审核
二、项目运行截图
三、项目资料截图
四、免费论文查重
-
员工考勤管理系统源码java-github_stars:github之星列表
2021-06-07 04:03:26员工考勤管理系统源码java GitHub 星星 只是我的 github 星列表,以便于搜索。 回购网址 描述 编程语言 日期 基于实验混合器的快速迭代可视化系统 JavaScript 2020 年 4 月 12 日 :ringed_planet: (ringed_planet) ... -
使用JavaScript/JQuery脚本完成对员工信息的增删改查和表格的动态拼接(源码)
2020-06-14 10:44:44使用JavaScript/JQuery脚本完成对员工信息的增删改查和表格的动态拼接 JavaScript/JQuery完成对表格的增删改查和动态拼接使用JavaScript/JQuery脚本完成对员工信息的增删改查和表格的动态拼接1、语言环境和需求2、...使用JavaScript/JQuery脚本完成对员工信息的增删改查和表格的动态拼接
JavaScript/JQuery完成对表格的增删改查和动态拼接
1、语言环境和需求
开发环境:Visual Studio Code /Visual Studio2019
需求说明:现有员工信息表,添加JavaScript/JQuery脚本完成员工信息的增删改查。页面如下图
2、编写表结构,编写表结构,引入jquery和javascript文件
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title></title> <script src="js/jquery-3.3.1.min.js" type="text/javascript" charset="utf-8"></script> <script src="js/new_file.js" type="text/javascript"></script> </head> <body> <a href="#">增加</a> <input type="text"/><a href="#">查询</a> </p> <table border="1" id="table"> <tr> <th>ID</th> <th>姓名</th> <th>薪水</th> <th>功能</th> </tr> <tr> <td>1</td> <td>张三</td> <td>8000</td> <td> <a href="#" class="bc" style="display: none;">保存</a> <a href="#" class="xg">修改</a> <a href="#" class="sc">删除</a> </td> </tr> <tr> <td>2</td> <td>李四</td> <td>9000</td> <td> <a href="#" class="bc" style="display: none;">保存</a> <a href="#" class="xg">修改</a> <a href="#" class="sc">删除</a> </td> </tr> </table> </body> </html>
3、实现“增加”功能,复制表格第一行数据,添加到表格最后一行
$(function(){ //增加 $("a:contains('增加')").click(function(){ var first=$("#table tr:eq(1)"); var news=first.clone(true); news.appendTo(first.parent()); }); });
4、实现“删除”功能,删除员工
$(function(){ //删除 $("a.sc").click(function(){ $(this).parent().parent().remove(); }); });
5、实现“查询”功能,查询员工ID,显示满足条件的员工信息
$(function(){ //查询 $("a:contains('查询')").click(function(){ var keys=$("input").val(); var trr=$("table tr:gt(0)"); if(keys!=""){ for(var i=0;i<trr.length;i++){ var id=trr.eq(i).find("td:first").html(); if(id==keys){ trr.eq(i).show(); } else{ trr.eq(i).hide(); } } } else{ for(var i=0;i<trr.length;i++){ trr.eq(i).show(); } } }) });
6、实现“修改”功能,根据员工ID,点击保存修改员工姓名和薪水。
$(function(){ //查询 $("a:contains('查询')").click(function(){ var keys=$("input").val(); var trr=$("table tr:gt(0)"); if(keys!=""){ for(var i=0;i<trr.length;i++){ var id=trr.eq(i).find("td:first").html(); if(id==keys){ trr.eq(i).show(); } else{ trr.eq(i).hide(); } } } else{ for(var i=0;i<trr.length;i++){ trr.eq(i).show(); } } }) //修改 $(".xg").click(function(){ var tds=$(this).parent().parent().children(); for(var i=0;i<tds.length;i++) { var td=tds.eq(i); if (td.children().length<=0) { var html="<input type='text' value='"+td.text()+"'/>"; td.html(html); } } $(".bc").show(); $(".xg").hide(); }); //保存 $(".bc").click(function(){ var tr=$(this).parent().parent(); var inputs=tr.find("input[type='text']"); for (var i=0;i<inputs.length;i++) { var input=inputs.eq(i); input.parent().text(input.val()); input.remove(); } $(".bc").hide(); $(".xg").show(); }); });
到此就结束啦,快去练习一下吧!欢迎大佬和小Monkey沟通。
感谢大佬指正 小Monkey
如果你觉得有用的话,就留个赞吧!蟹蟹 -
asp+jsp+JavaScript动态实现添加数据行
2021-01-02 23:10:58在应用程序的开发中,有些输入信息是动态的,比如我们要注册一个员工的工作经历,比如下图 如果做成死的,只能填写三个,如果是四个呢?或者更多呢,那不是添加不上去了吗,所以这样固然不好,我们可以用动态添加... -
Java实现 LeetCode 552 学生出勤记录 II(数学转换?还是动态规划?)
2021-01-20 11:07:34552. 学生出勤记录 II 给定一个正整数 n,返回长度为 n 的所有可被视为可奖励的出勤记录的数量。 答案可能非常大,你只需返回结果mod 109 + 7的值。 学生出勤记录是只包含以下三个字符的字符串: ... -
企业社交媒体中员工行为动力学的结构模型-研究论文
2021-05-19 18:48:33我们开发并估计一个动态的结构框架,以分析社交媒体内容的创建和企业内员工的消费行为。 我们特别关注员工的博客行为。 该模型结合了两个在博客论坛中无处不在的关键功能:用户面临1)博客发布和博客阅读之间的权衡... -
蓝色扁平化新员工入职培训PPT模板
2021-07-17 01:23:40PowerPoint模板内容页,由29张蓝色动态幻灯片图表,搭配培训文案排版。另外使用了职场人物插图、企业办公插图、握手插图等装饰。 新员工入职培训PPT目录: 一、公司基本信息 二、公司产品服务 三、公司管理制度 四、... -
使用自定义对象动态在页面上绘制一张表格,动态地向表格中添加公司员工的基本信息,测试数据不少于3 条,...
2020-11-06 23:44:28在页面上绘制一张表格,动态地向表格中添加公司员工的基本信息,测试数据不少于3 条,员工信息包括姓名、年龄、性别和部门 实现思路: 在页面中绘制表格,表头显示员工的基本信息,分别为姓名、年龄、性别和部门... -
链表存储员工信息
2017-07-11 11:14:191、场景: HR需要做⼀个员工管理,每当新员工入职,他需要新建该员工的资料,将其添加到员工管理数据库中,随后老板向HR了解该员工详细信息时, HR要能从系统中调出资料供老板查阅。此外,如果有员工离职, HR为其... -
基于Springboot+Mybatis+Vue的前后端分离的员工信息管理系统
2021-08-31 21:05:07员工信息管理系统技术框架一、系统界面展示二、不足之处三、资源说明 技术框架 前端框架:Vue 后端:Springboot+Mybatis UI框架:Bootstrap 前后端分离 一、系统界面展示 (用户登录页) (用户注册页) (员工... -
员工信息管理系统
2018-04-23 10:04:36SSM-CRUD 这个系统用的是spring、...主要的功能就是对员工信息进行添加,修改,分页查询和单个及批量删除 由于查询的时候带上了分页功能,这里就主要说一下查询吧。 第一:查询 • 1、项目在运行时,index页面... -
基于Java的物联网室内设备在线监管系统的设计与实现【附源码】
2021-08-03 17:08:40介以互联网的便利以及数据信息的长远保存,基于物联网室内设备在线监管系统由此开发。 本网站系统使用动态网页开发技术JSP,Java作为系统的开发语言,MySQL作为后台数据库。设计开发了具有管理员和员工两大板块,... -
Mybatis案例:员工管理系统
2022-03-12 12:41:09Mybatis案例:员工管理系统 要求:根据员工表在数据库中创建一个employee表,并利用本章所学知识完成一个员工管理系统,该系统需要实现以下几个功能。 统需要实现以下几个功能。 (1)根据id查询员工信息; (2)... -
根据参数指定的列名和值查询员工信息(使用动态sql语句)
2015-10-04 18:52:55create or replace procedure dyn_sql_test(p_col varchar2, p_value varchar2) as v_sal employees.salary%type; v_str varchar2(100); begin v_str := 'select salary from employees where ' || p_col -
ssm员工管理系统---通过Bootstrap模态框实现修改员工信息功能
2021-05-07 17:27:01文章目录ssm员工管理系统---通过Bootstrap模态框实现修改员工信息功能需求把bootstrap中的模态框加入到index.jsp首页给index.jsp首页的编辑按钮绑定一个单击事件index.jsp首页中的getDepts方法后端控制器接收/depts...