ids

mybatis总结

牧云@^-^@ 提交于 2020-01-06 04:17:29
1.mybatis的工作原理 1:使用连接池,datasource,在驱动并连接的这个过程中优化并解耦 JDBC第一步其实从效率角度来看是不合适的,因为无论什么数据库都不可能支撑随机和庞大的连接数,而且不可避免的存在连接浪费的情况,Mybatis就封装了这些优化的方法。 2:统一sql存取到XML 如果代码写在java块中,在团队合作中很可能出现两个交叉业务的代码使用类似的sql语句,而开发人员的工作本身没有交集,那就代表sql语句肯定是无法复用的。而且对sql的修改,就代表着对java文件的修改,需要重新编译和打包部署(比如常见的状态值更改,sql修改随着业务变化必然存在修改)。 mybatis将sql统一存取到xml中,就算存在业务交叉,但因为统一配置的缘故,sql在xml中一目了然,两个跨team的程序员可以看到对方的sql,来判断自己是否需要重用。并且使用xml配置可以减少代码编译。 3:参数和结果集映射 sql的方式需要传入参数,如果存在多条件“或类型”的查询(列表查询的查询条件允许空),那就代表你必须传参进行sql拼接,就算使用xml的方式也不行。要么每个业务独立配置xml中的sql,要么还是写入java代码中,或者以工具的方式进行自动拼接。 Mybatis使用映射的方式,方便model管理参数,同时以解析器的方式将参数动态拼接到sql(sqlmaper里那些标签)

忆龙2009:检测IDS攻击的技术

冷暖自知 提交于 2020-01-05 09:22:29
目前IDS攻击检测主要包括802.11报文泛洪攻击检测、AP Spoof检测以及Weak IV检测。 为了及时发现WLAN网络中的恶意或者无意的攻击,我们通过记录信息或者发送日志信息的方式通知网络管理者。 1. 泛洪攻击检测 泛洪攻击(Flooding攻击)是指WLAN设备会在短时间内接收了大量的同种类型的报文。此时WLAN设备会被泛洪的攻击报文淹没而无法处理真正的无线终端的报文。 IDS攻击检测通过持续的监控每台设备的流量大小来预防这种泛洪攻击。当流量超出可容忍的上限时,该设备将被认为要在网络内泛洪从而被锁定,此时如果使能了动态黑名单,检查到的攻击设备将被加入动态黑名单。 IDS支持下列报文的泛洪攻击检测。 认证请求/解除认证请求(Authentication / De-authentication); 关联请求/解除关联请求/重新关联请求(Association / Disassociation / Reassociation); 探查请求(Probe request); 空数据帧; Action帧; 2. Weak IV攻击检测 在使用WEP加密的时候,对于每一个报文都会使用初始化向量(IV,Initialization Vector),IV和Key一起作为输入来生成Key Stream,使相同密钥产生不同加密结果。当一个WEP报文被发送时

springmvc参数传递

痴心易碎 提交于 2020-01-03 12:34:53
1.传递数组类型的参数配置 springmvc的接口 @ResponseBody @PostMapping("/setMenu") public Map setMenu(@RequestParam(value = "id") Integer id, @RequestParam(required = false, value = "ids[]") Integer[] ids) throws Exception { System.out.println(id); System.out.println(ids); HashMap<Object, Object> map = new HashMap<>(); map.put("id", id); map.put("ids", ids); return map; } js代码 var param = {id: 1, ids: [1, 2]}; $.ajax({ url: "<%=request.getContextPath() + "/setMenu"%>", type: "POST", dataType: "json", contentType: 'application/x-www-form-urlencoded', data: param, success: function (data) { console.log("data:",

10 — 网上书城(4)— 删除图书

百般思念 提交于 2020-01-02 07:54:06
1 删除图书 1.1 修改 list.jsp 1.2 DAO . . . . public void deleteBookById ( String id ) throws SQLException { QueryRunner qr = new QueryRunner ( C3P0Utils . getDataSource ( ) ) ; String sql = "delete from books where id = ?" ; qr . update ( sql , id ) ; } 1.3 Service . . . public void deleteBookById ( String id ) { try { bookDao . deleteBookById ( id ) ; } catch ( SQLException e ) { e . printStackTrace ( ) ; } } 1.4 Servlet @WebServlet ( "/DeleteBookByIdServlet" ) public class DeleteBookByIdServlet extends HttpServlet { @Override protected void doGet ( HttpServletRequest req , HttpServletResponse resp

流程管理

百般思念 提交于 2019-12-30 03:47:51
基本思路: 一人发起一个流程,该流程由其他几个人(即节点)来分别审核。就像请假流程,分别有不同领导通过,最后通过,改流程结束。 前期session起到很重要的作用,session把每个节点的人员信息保存,通过与数组的来回转换,实现取值与赋值。 把人员信息——流程节点存到session 1.用户选择节点,输出单选框,单选框显示人员名称,并把人员代号存到value中,定义class名,为下边的添加节点按钮选择时用。 查询的是用户表 请选择流程节点:<br><br> <?php session_start(); include("../gongju/DBDA.class.php"); $db=new DBDA(); $user="select * from lc_user"; $auser=$db->Query($user); $str=""; foreach($auser as $v) { echo "<input type='radio' class='us' name='us' value='{$v[0]}'>".$v[2]; } ?> <br> <input type="button" value="添加节点" id="tianjia"> 2.给tianjia按钮添加点击事件,通过class名取单选框中所有元素 var us=$(".us");,用eq(

show-cloud(十四)写复杂sql的例子,使用in

我的未来我决定 提交于 2019-12-24 14:40:35
前面都是通过sql注解的方式来写sql,但今天碰到了个比较复杂的sql,采用sql注解尝试了几次,最终还是以失败告终,最终还是通过xml的方式来解决。 1、service的代码内容: @Override public Map<String, String> getUserRelDepName(String ids) { Map<String,String> mapInfos=new HashMap<>(); List<Long> sqlStr=CommonUtils.getLongList(ids,BaseEnum.BASE_REL_CHAR.getValue()); List<SimpleUserRelDep> list=baseMapper.getUserRelDepName(sqlStr); for(SimpleUserRelDep simpleUserRelDep:list){ mapInfos.put(simpleUserRelDep.getUserId()+"",simpleUserRelDep.getDepName()); } return mapInfos; } 2、mapper的定义 /** *获取用户关联的部门信息 * @param ids * @return */ @SqlParser(filter = true) List<SimpleUserRelDep>

存储过程批量删除

三世轮回 提交于 2019-12-20 10:18:38
今天闲来无事,把批量删除由代码删除 改成存储过程删除 SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER procedure [dbo].[pr_deletepackage]--------套餐批量删除 ( @ids nvarchar(100) --参数 (1,2,3,) ) as declare @temp table(a varchar(100))--创建临时表 --------把参数@ids分割成int数组 判断是否满足删除条件 declare @n Int declare @lid int--临时ID declare @count int --判断是否使用 declare @sercount int --判断该产品下是否存在服务 set @ids=RTRIM(LTRIM(@ids)) set @n=CHARINDEX(',',@ids) while @n>=1 begin set @lid=Left(@ids,@n-1) --截取当前ID set @count= (select COUNT(*) from t_order_package where pi_id=@lid) --判断当前服务是否已经被使用 set @sercount=(select COUNT(*) from t_package_service

jquery实现商品sku多属性选择(商品详情页)

我与影子孤独终老i 提交于 2019-12-20 00:35:14
转载于https://blog.csdn.net/csdn924618338/article/details/51455595 实现效果 源码 <!DOCTYPE HTML> <html lang="en-US"> <head> <meta charset="UTF-8"> <title>商品SKU选择DEMO3</title> </head> <body> <style type="text/css"> ul,li{ padding:0px; margin:0px;} #panel{ width:500px; margin:30px auto;} .goods_attr{ overflow:hidden;} .goods_attr .label {font: 12px/30px '宋体';color: #777;width: 50px;;padding-right: 10px;float: left; display:block;} .goods_attr ul {float:left;width:300px;} .goods_attr li{color:#333;overflow:hidden;position:relative;float:left;text-align:center; vertical-align:middle; border:1px solid #999

前后端结合完成前端页面选中多条记录删除

依然范特西╮ 提交于 2019-12-17 11:35:32
项目架构:springboot--mybatis-mysql-vue-layui 备注:字段描述上有不太好的地方,大家看重点哦! 前端页面呈现: html页面:  <div class="layui-input-inline button-box-480px">   <button class="layui-btn layui-btn-sm base-btn-cancel" @click="del('')"><i class="fa fa-trash-o"> 删除</i></button> </div> js代码   methods: {   del: function (ids) { if(ids==null || ids===''||ids==undefined){ ids = getSelectedRows('cityList', 'id');  //getSelectedRows()方法是获取table选中的id串(比如:1,2,3,4),cityList为layui.table创建时的id,id为城市主键 console.log(ids); } if(ids==null || ids===''||ids==undefined){ alert("至少删除一项"); return ; } confirm('确定要删除选中的记录?', function(){ $.ajax({

mybatis之foreach用法

故事扮演 提交于 2019-12-17 04:15:39
在做mybatis的mapper.xml文件的时候,我们时常用到这样的情况:动态生成sql语句的查询条件,这个时候我们就可以用mybatis的foreach了 foreach元素的属性主要有item,index,collection,open,separator,close。 item: 集合中元素迭代时的别名,该参数为必选。 index :在list和数组中,index是元素的序号,在map中,index是元素的key,该参数可选 open :foreach代码的开始符号,一般是(和close=")"合用。常用在in(),values()时。该参数可选 separator :元素之间的分隔符,例如在in()的时候,separator=","会自动在元素中间用“,“隔开,避免手动输入逗号导致sql错误,如in(1,2,)这样。该参数可选。 close: foreach代码的关闭符号,一般是)和open="("合用。常用在in(),values()时。该参数可选。 collection: 要做foreach的对象,作为入参时,List对象默认用"list"代替作为键,数组对象有"array"代替作为键,Map对象没有默认的键。当然在作为入参时可以使用@Param("keyName")来设置键,设置keyName后,list,array将会失效。 除了入参这种情况外