67194:67194 > HELLO JAVA
[导读]? ? ? ? ? ?我所写的项目是使用Maven开发,在pom.xml中添加如下必要依赖: ? ? ? ? ? 添加com.microsoft.sqlserver的mssql-jdbc 6.2.1.

? ? ? ? ? ?我所写的项目是使用Maven开发,在pom.xml中添加如下必要依赖:

? ? ? ? ? 添加com.microsoft.sqlserver的mssql-jdbc 6.2.1.jre8的依赖

	
		com.microsoft.sqlserver
		mssql-jdbc
		6.2.1.jre8
	


? ? ? ? ? ?Java后台代码如下代码块所示。其中,代码中所调用的 proc_test02存储过程,可参考我写的博客: SQL Server数据库学习之 —— 存储过程- 事务 - try-catch代码块

? ? ? ? ? ?我所写的代码有些简化,以“学生 -- 班级 -- 教师”这种经典模式来讲解自己所运用的常识点。可能网友直接将我的代码粘贴-复制,运行会报错。不过其中的常识点确是无误的!


package org.com.api.service;

import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.List;
import java.util.Map;

import com.microsoft.sqlserver.jdbc.SQLServerCallableStatement;
import com.microsoft.sqlserver.jdbc.SQLServerDataTable;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.dao.DataAccessException;
import org.springframework.jdbc.core.CallableStatementCallback;
import org.springframework.jdbc.core.CallableStatementCreator;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Service;

@Service
public class ClazzService {
	
	@Autowired
	private JdbcTemplate jdbcTemplate;
	
	@Autowired
	@Qualifier("sqlServerJdbcTemplate")
	private JdbcTemplate sqlServerJdbcTemplate;
	
	
	/**
	 * 新增学生
	 * @return
	 */
	public int addStudent(Student student) {
		
		Integer testCount = 0;
		
		Integer count = jdbcTemplate.execute(new CallableStatementCreator() {
			
			@Override
			public CallableStatement createCallableStatement(Connection con) throws SQLException {
				// proc_test02(?,?,?,?,?)中的问号,代表调用的存储过程“proc_test02”中的参数
				CallableStatement cs = con.prepareCall("{call proc_test02(?,?,?,?,?)}");
				
				// 为CallableStatement设置参数
				cs.setString(1, student.getSex());           // 获取性别,sex字段为String类型
				cs.setString(2, student.getName());          // 获取姓名,name字段为String类型 
				cs.setInt(3, student.getAge());              // 获取年龄,age字段为int类型
				cs.setInt(4, student.getStuNo());            // 获取学号,stuNo字段为int类型
				cs.registerOutParameter(5, java.sql.Types.INTEGER);  // =1, 则正确!
				
				return cs;
			}
		}, new CallableStatementCallback() {
			
			@Override
			public Integer doInCallableStatement(CallableStatement cs) throws SQLException, DataAccessException {
				cs.execute();
				return cs.getInt(5);
			}
		});
		
		testCount = count;
		
		return testCount;  //  = 1
	}
	
	
}





换一批

延伸阅读

[vr|ar|虚拟现实] 基于沉浸式web的应用程序的WebXR hackathon挑战赛

基于沉浸式web的应用程序的WebXR hackathon挑战赛

作为旧金山WebXR周的一部分,MicroSoft和SAMSUNG联手发起了为期48小时的WebXR hackathon挑战。该活动呼吁那些有兴趣开发虚拟现实(VR)、增强现实(AR)或混合现实(MR)的沉浸式web应用程序的人,利用web构建令人惊叹的体验...

关键字: web mr

[嵌入式资讯] 从 Android 到 Java

从 Android 到 Java

Alimei概况:Android和Java开发在技术堆栈上有何区别? 思考和解决问题时会发生什么? 本文分享了从Android开发到Java应用程序开发的Ali技术专家的经验,分析了两者之间的差异以及一些关于动力学,兼容性,内存管理和...

关键字: Android api java

[科技喵] Java 用户福利,BellSoft 与 VMware 合作改进 OpenJDK

Java 用户福利,BellSoft 与 VMware 合作改进 OpenJDK

在过去的几年中,OpenJDK 的使用率显着增加,尤其在甲骨文于 2019 年决定更改其 Java 许可模式,从提供免费的 Java 更新转变为要求付费订阅以后,这种情况尤为明显。Snyk 于 2020 年进行的一项调查显示,只有 34%...

关键字: vmware java openjdk

[科技前线] 谷歌 Cloud Functions 添加对 Java 11 支撑

谷歌 Cloud Functions 添加对 Java 11 支撑

GOOGLE宣布在其无服务器计算平台 Cloud Functions 上支撑 Java 11。图片来源:SDTimesGuillaume Laforge 在帖子中指出,“通过适用于 谷歌 Cloud Functions 的新 Java 11...

关键字: GOOGLE 11 java

[安全设备/系统] 长亭科技入选IDC《中国 Web 应用安全市场》潜力厂商

  日前,全球知名咨询机构IDC发布了《中国 Web 应用安全市场》报告,对国内市场发展动力、厂商竞争格局、产品特征等维度进行深入分析与解读,最后向技术买家提出有关如何建设 Web 应用安全防御体系的建议。长亭科技凭借下一代Web应用...

关键字: web waf

HELLO JAVA

541 篇文章

关注

发布文章

技术子站

更多

论坛活动

  • 加入Vicor,让机器人供电系统设计更有“料”
    加入Vicor,让机器人供电系统设计更有“料”
  • ADI视频课堂精品上新-观看有礼
  • 【20周年庆】21ic下载站VIP五折起,技术资料免积分下载!
  • 贸泽电子设计“新”头好
更多

资料下载

  • ST-Link原理图和固件
  • Linux下C语言编程入门教程
  • Multisim2001电路设计及仿真教材
  • Linux内核源码分析--zImage出生实录(Linux-3.0ARMv7)
  • AD封装库-国标版
  • 新概念模拟电路全集
  • 张飞电子全套视频下载地址及提取码
  • DSP教程---ADC和DAC
  • stm32温湿度-超声波-LCD结合项目
  • 分布式BFD系统中驱动模块的设计与实现
关闭
XML 地图 | Sitemap 地图