Java中调用存储过程
dao层:
import java.util.Map;
public interface AppGthdDao {
public String gthd(Map map);
}
mapper层
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.socialsecurity.dao.AppGthdDao">
<select id="gthd" statementType="CALLABLE">
{
call SHBXSB.APP_GTHD (
#{IS_AAE100,mode=IN,jdbcType=VARCHAR},
#{IS_AAZ001,mode=IN,jdbcType=DOUBLE},
#{IS_AAC002,mode=IN,jdbcType=VARCHAR},
#{IS_AAE030,mode=IN,jdbcType=DATE},
#{IS_AAE031,mode=IN,jdbcType=DATE},
#{IS_AAC040,mode=IN,jdbcType=DOUBLE},
#{Os_ErrInfo,mode=OUT,jdbcType=VARCHAR})
}
</select>
</mapper>
测试类:
import com.alibaba.fastjson.JSONObject;
import com.socialsecurity.dao.AppGthdDao;
import com.socialsecurity.util.SqlSessionFactoryUtil;
import org.apache.ibatis.session.SqlSession;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext; import java.math.BigDecimal;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date; public class DataInterchangeTest2 {
public static void main(String[] args) throws ParseException {
SqlSession session = SqlSessionFactoryUtil.getSession();
AppGthdDao mapper = session.getMapper(AppGthdDao.class);
JSONObject map = new JSONObject();
BigDecimal aaz001B = null;
BigDecimal aac040B = null;
aaz001B = new BigDecimal("1");
aac040B = new BigDecimal("1000");
Double aac040 = aac040B.doubleValue();
Double AAZ001 = aaz001B.doubleValue();
Date aae030 = null;
Date aae031 = null;
SimpleDateFormat formatter = new SimpleDateFormat("yyyy/MM/dd");
String date1 = "2019/2/1";
String date2 = "2019/3/1";
aae030 = formatter.parse(date1);
aae031 = formatter.parse(date2);
map.put("IS_AAE100", "2");
map.put("IS_AAZ001", AAZ001);
map.put("IS_AAC002", "35113");
map.put("IS_AAE030", aae030);
map.put("IS_AAE031", aae031);
map.put("IS_AAC040", aac040);
mapper.gthd(map);
String info = (String) map.get("Os_ErrInfo");
session.commit();
session.close();
System.out.println(info);
} }
Java中调用存储过程的更多相关文章
- Java中调用存储过程或函数
//?代表一个参数,多个参数用逗号隔开 CallableStatement cs = connect.prepareCall("{?=call 存储过程名称或函数名(?)}"); ...
- 在Java中调用带参数的存储过程
JDBC调用存储过程: CallableStatement 在Java里面调用存储过程,写法那是相当的固定: Class.forName(.... Connection conn = DriverMa ...
- java程序调用存储过程
java程序调用存储过程 PL/SQL子程序,很多情况下是给应用程序来调用的,所有我们要掌握使用其他编程语言来调用我们写好的存储过程.下面我们介绍下使用java调用Oracle的存储过程. ...
- java程序调用存储过程和存储函数
java程序调用存储过程 jdbcUtil.java文件 package cn.itcast.oracle.utils; import java.sql.Connection; import java ...
- oracle中存储过程中调用存储过程
存储过程中调用存储过程 create or replace package body PF_Role_Pack is procedure sp_GetPage_Role(pageSize_ in nu ...
- ASP.NET中调用存储过程方法
两种不同的存储过程调用方法 为了突出新方法的优点,首先介绍一下在.NET中调用存储过程的“官方”方法.另外,本文的所有示例程序均工作于SqlServer数据库上,其它情况类似,以后不再一一说明.本文所 ...
- Java中调用c/c++语言出现Exception in thread "main" java.lang.UnsatisfiedLinkError: Test.testPrint(Ljava/lang/String;)V...错误
错误: Exception in thread "main" java.lang.UnsatisfiedLinkError: Test.testPrint(Ljava/lang/S ...
- java中调用dll文件的两种方法
一中是用JNA方法,另外是用JNative方法,两种都是转载来的, JNA地址:http://blog.csdn.net/shendl/article/details/3589676 JNativ ...
- java中调用js脚本
JDK1.6加入了对Script(JSR223)的支持.这是一个脚本框架,提供了让脚本语言来访问Java内部的方法.你可以在运行的时候找到脚本引擎,然后调用这个引擎去执行脚本.这个脚本API允许你为脚 ...
随机推荐
- 什么是code-Behind技术?
code-Behind技术就是代码隐藏(代码后置),在ASP.NET中通过ASPX页面指向CS文件的方法实现显示逻辑和处理逻辑的分离,这样有助于web应用程序的创建. 比如分工,美工和编程的可以个干各 ...
- netCore3.0+webapi到前端vue(前端)
前篇已经完成后端配置并获取到api连接 https://www.cnblogs.com/ouyangkai/p/11504279.html 前端项目用的是VS code编译器完成 vue 第一步 引入 ...
- JPA技术之EntityManager使用方法
Session bean or MD bean对Entity bean的操作(包括所有的query, insert, update, delete操作)都是通过EntityManager实例来完成的. ...
- SimpleTagSupport 获取request、session
开发jsp系统时,我们经常会用到tag来写java的逻辑代码,一般会继承两个类,一个是SimpleTagSupport,另一个是TagSupport,由于TagSupport书写配置比较复杂(我个人才 ...
- 团队作业第3周——需求改进&系统设计
目录 团队作业第3周--需求改进&系统设计 1.需求&原型改进 2.系统设计 3.Alpha任务分配计划 4.测试计划 1 测试术语 4.2 有关项目人员组成 2 任务概述 3.测试策 ...
- DjangoForm 提交验证
用户提交数据的验证 1.创建模版 -- class LoginForm(forms.Form):.... 2.将请求交给模版,创建一个对象 -- obj = LoginForm(request.POS ...
- Django 基于 jquery 的 ajax
<1> $.ajax的两种写法: $.ajax("url",{}) $.ajax({}) <2> $.ajax的基本使用 $.ajax({ url:&quo ...
- 逆向破解之160个CrackMe —— 010-011
CrackMe —— 010 160 CrackMe 是比较适合新手学习逆向破解的CrackMe的一个集合一共160个待逆向破解的程序 CrackMe:它们都是一些公开给别人尝试破解的小程序,制作 c ...
- 卷积,reLu,池化的意义
1.卷积 提取局部特征 2.Relu 留下相关特征,去掉不相关特征,卷积之后的正值越大,说明与卷积核相关性越强,负值越大,不相关性越大. 3.池化 池化的目的: (1)留下最相关的特征,或者说留下最明 ...
- KDE 上 任务栏 图标位置更改
任务栏上图标是不能直接拖拽的. 右键点任务栏,选[Panel Options -> Panel Settins]之后,就可以拖拽了. 完成之后,按X就行了.