param

Mysql中的存储过程

偶尔善良 提交于 2019-12-28 19:55:41
什么是存储过程 简单的说,就是一组SQL语句集,功能强大,可以实现一些比较复杂的逻辑功能,类似于JAVA语言中的方法; ps:存储过程跟触发器有点类似,都是一组SQL集,但是存储过程是主动调用的,且功能比触发器更加强大,触发器是某件事触发后自动调用; 有哪些特性 有输入输出参数,可以声明变量,有if/else, case,while等控制语句,通过编写存储过程,可以实现复杂的逻辑功能; 函数的普遍特性:模块化,封装,代码复用; 速度快,只有首次执行需经过编译和优化步骤,后续被调用可以直接执行,省去以上步骤; 创建一个简单的存储过程 存储过程proc_adder功能很简单,两个整型输入参数a和b,一个整型输出参数sum,功能就是计算输入参数a和b的结果,赋值给输出参数sum; 几点说明: DELIMITER ;;:之前说过了,把默认的输入的结束符;替换成;;。 DEFINER:创建者; -- ---------------------------- -- Procedure structure for `proc_adder` -- ---------------------------- DROP PROCEDURE IF EXISTS `proc_adder`; DELIMITER ;; CREATE DEFINER=`root`@`localhost` PROCEDURE

Java-MySQL的JDBC连接及JDBC工具类的实现

安稳与你 提交于 2019-12-28 16:23:07
Java IDE 连接MySQL5.7的工具类: import java . sql . * ; /* JDBC工具类 MySQL */ public class DBHelper { //mysql private static final String DRIVER = "com.mysql.jdbc.Driver" ; //驱动类的路径 private static final String URL = "jdbc:mysql://127.0.0.1:3306/mysql?useUnicode=true&characterEncoding=UTF-8" ; private static final String USER = "root" ; private static final String PWD = "12053a1203884352" ; //获得连接 public static Connection getConn ( ) { Connection conn = null ; try { //加载驱动 Class . forName ( DRIVER ) ; //在驱动管理器的基础上获得链接 conn = DriverManager . getConnection ( URL , USER , PWD ) ; } catch (

mininet 操作命令

和自甴很熟 提交于 2019-12-28 13:41:33
2.mininet操作 2014/9 1.启动mininet 运行 sudo mn 以下是结果 administrator@ubuntu:~$ sudo mn *** Creating network *** Adding controller *** Adding hosts: h1 h2 *** Adding switches: s1 *** Adding links: (h1, s1) (h2, s1) *** Configuring hosts h1 h2 *** Starting controller *** Starting 1 switches s1 *** Starting CLI: mininet> 可见,mininet默认会建立一个两个主机连接着一个交换机的网络 2.常用命令 mininet> help 查看帮助 nodes 查看节点 net 查看链路、 dump 各个节点的信息 exit 退出 gterm hostname 虚拟终端 gnome-terminal xterm hostname 虚拟终端 xterm h1 ping h2 h1节点对h2节点进行ping操作 Link Up/Down 禁用s1与h1通路 link s1 h1 down 启用s1和h1通路 link s1 h1 up 3.mininet 运行参数 sudo mininet -c

C#调用存储过程。

怎甘沉沦 提交于 2019-12-28 02:04:07
使用存储过程的好处:   现对于直接使用SQL语句,在应用程序中直接调用存储过程有以下好处:   (1)减少网络通信量。调用一个行数不多的存储过程与直接调用SQL语句的网络通信量可能不会有很大的差别,可是如果存储过程包含上百行SQL语句,那么其性能       绝对比一条一条的调用SQL语句要高得多。   (2)执行速度更快。有两个原因:首先,在存储过程创建的时候,数据库已经对其进行了一次解析和优化。其次,存储过程一旦执行,在内存中就会保留一份这个       存储过程,这样下次再执行同样的存储过程时,可以从内存中直接调用。   (3)更强的适应性:由于存储过程对数据库的访问是通过存储过程来进行的,因此数据库开发人员可以在不改动存储过程接口的情况下对数据库进行任何改动,而         这些改动不会对应用程序造成影响。   (4)布式工作:应用程序和数据库的编码工作可以分别独立进行,而不会相互压制。 由以上的分析可以看到,在应用程序中使用存储过程是很有必要的。 两种不同的存储过程调用方法: 为了突出新方法的优点,首先介绍以下在。NET中调用存储过程的“官方”方法。另外本文的所有示例程序均工作于SQLserver数据库上。均采用C#语言。 要在应用程序中访问数据库,一般性的步骤是:首先声明一个数据库连接SqlConnection,然后声明一个数据库命令SqlCommand

存储过程的优势及其调用方法介绍

霸气de小男生 提交于 2019-12-28 02:03:42
在使用.net的过程中,数据库访问是一个很重要的部分,特别是在b/s系统的构建过程中,数据库操作几乎成为了一个必不可少的操作。调用存储过程实现数据库操作使很多程序员使用的方法,而且大多数的程序员都是能使用存储过程就使用存储过程,很少直接使用sql语句,所以存储过程是很有用而且很重要的。 存储过程简介 简单的说,存储过程是由一些sql语句和控制语句组成的被封装起来的过程,它驻留在数据库中,可以被客户应用程序调用,也可以从另一个过程或触发器调用。它的参数可以被传递和返回。与应用程序中的函数过程类似,存储过程可以通过名字来调用,而且它们同样有输入参数和输出参数。 根据返回值类型的不同,我们可以将存储过程分为三类:返回记录集的存储过程, 返回数值的存储过程(也可以称为标量存储过程),以及行为存储过程。顾名思义,返回记录集的存储过程的执行结果是一个记录集,典型的例子是从数据库中检索出符合某一个或几个条件的记录;返回数值的存储过程执行完以后返回一个值,例如在数据库中执行一个有返回值的函数或命令;最后,行为存储过程仅仅是用来实现数据库的某个功能,而没有返回值,例如在数据库中的更新和删除操作。 使用存储过程的好处 相对于直接使用sql语句,在应用程序中直接调用存储过程有以下好处: (1)减少网络通信量。调用一个行数不多的存储过程与直接调用sql语句的网络通信量可能不会有很大的差别

带参数的存储过程

流过昼夜 提交于 2019-12-28 02:02:48
创建带参数的sql存储过程:创建带参数的存储过程首先要在存储过程中声明该参数,每个存储过程参数都必须用惟一的名称进行定义。与标准的Transact-SQL变量相同,参数名必须以@为前缀, 创建带参数的存储过程 创建带参数的存储过程首先要在存储过程中声明该参数,每个存储过程参数都必须用惟一的名称进行定义。与标准的Transact-SQL变量相同,参数名必须以@为前缀,并且遵从对象标识符规则。当用户不提供该参数的值时可以使用一个默认值来代替。 在执行带参数的存储过程时,既可以通过显式指定参数名称并赋予适当的值,也可以通过提供在CREATE PROCEDURE语句中给定的参数值(不指定参数名称)来向存储过程传递值。 在存储过程PRO_Student_IN中命名4个参数,其定义顺序为@Chinese、@English、@maths和@class。 例如,将值传递给存储过程指定的参数名称。 EXEC PRO_Student_IN @class="三年一班",@Chinese=85,@maths=85,@English=85 例如,按照参数的位置传递,而不命名参数名称。 EXEC PRO_Student_IN 85,85,85,"三年一班" 1.不带默认值的参数 创建一个参数不带默认值的存储过程,在调用该存储过程时,必须对存储过程中的所有参数进行赋值,如果有一个参数没有赋值

net core体系-web应用程序-4asp.net core2.0 项目实战(1)-9项目各种全局帮助类

淺唱寂寞╮ 提交于 2019-12-27 05:51:22
本文目录 1. 前沿 2.CacheHelper基于Microsoft.Extensions.Caching.Memory封装 3.XmlHelper快速操作xml文档 4.SerializationHelper文件序列化操作 5.JsonHelper基于Newtonsoft.Json封装 6.ByteConvertHelper byte转换操作类 7. 总结 1. 前沿   Net Core2.0以前缓存操作、XML操作文档、处理JSON、序列化等都整理过相关帮助类,方便项目全局开发调用,但这些Helper在Net Core下面需要做调整才能使用,下面是我开发过程中整理的几个帮助类,可单独使用,仅供参考。 2. CacheHelper基于Microsoft.Extensions.Caching.Memory封装   在net core2.0下System.Web.Caching不在提供支持,取而代之的是Microsoft.Extensions.Caching.Memory,现在就基于新的类库做扩展封装。注意:netcore2.0文件依赖缓存好像没有扩展,修改文件信息后缓存自动更新功能暂未整合。 using System; //using System.Web.Caching;//netcore2.0不再提供支持 using Microsoft.Extensions.Caching

在python中使用pymysql踩过的坑

蹲街弑〆低调 提交于 2019-12-27 05:14:32
在python中使用pymysql踩过的坑 当你的sql中使用到%()s来接收dict格式的参数时,无论是有没有使用到的key,key的值都不能是字典列表[{}], 否则会报TypeError: sequence item 0: expected str instance, dict found错误,其它的二元数组[[]]、字典{{}}等都不会报错。 举例: # 只要param中包含像c这样的字典列表[{}]值,无论sql中有没有使用这个参数都会报错 param = {"a": 11, "b": ['x','z'], "c": [{"d": 1}], "d": {"f": {"e": 1}}} sql = """ select * from table where true and a = %(a)s and b = %(b)s -- and c = %(c)s and d = %(d)s """ cur.execute(sql, param) 来源: CSDN 作者: 孤独王者_YWX 链接: https://blog.csdn.net/qq_30966497/article/details/103720439

HttpKit

核能气质少年 提交于 2019-12-27 04:11:48
public class HttpKit { public static String getIp(){ return HttpKit.getRequest().getRemoteHost(); } /** * 获取所有请求的值 */ public static Map<String, String> getRequestParameters() { HashMap<String, String> values = new HashMap<>(); HttpServletRequest request = HttpKit.getRequest(); Enumeration enums = request.getParameterNames(); while ( enums.hasMoreElements()){ String paramName = (String) enums.nextElement(); String paramValue = request.getParameter(paramName); values.put(paramName, paramValue); } return values; } /** * 获取 HttpServletRequest */ public static HttpServletResponse getResponse() {

EAS常用工具类

懵懂的女人 提交于 2019-12-27 00:34:55
1 package com.kingdee.eas.custom; 2 import java.io.File; 3 import java.io.FileNotFoundException; 4 import java.io.FileOutputStream; 5 import java.io.IOException; 6 import java.io.InputStream; 7 import java.io.PrintWriter; 8 import java.io.StringWriter; 9 import java.math.BigDecimal; 10 import java.sql.SQLException; 11 import java.text.ParseException; 12 import java.text.SimpleDateFormat; 13 import java.util.ArrayList; 14 import java.util.Date; 15 import java.util.HashMap; 16 import java.util.Iterator; 17 import java.util.Map; 18 import javax.swing.JFileChooser; 19 import javax.swing