JAVA使用JDBC技术操作SqlServer数据库执行存储过程
Java使用JDBC技术操作SqlServer数据库执行存储过程:
1.新建SQLSERVER数据库:java_conn_test
2.新建表:tb_User
3.分别新建三个存储过程:
1>带参数的新增用户存储过程:
CREATE PROCEDURE [dbo].[p_Insert_User]
),
)
AS
BEGIN
INSERT INTO tb_User VALUES(NEWID(),@name,@UserPwd)
END
2>不带参数的查询用户信息存储过程:
CREATE PROCEDURE [dbo].[p_Select_User]
AS
BEGIN
SELECT * FROM tb_User
END
3>带参数有输出参数的存储过程:
CREATE PROCEDURE [dbo].[p_Select_UserCount]
),
@result int output
AS
BEGIN
) FROM tb_User WHERE @name=UserName
END
4>做好准备工作之后新建java项目,导入sqljdbc.jar
package com.Project_DataBase01;
import java.sql.Connection;
import java.sql.DriverManager;
public class SelectQuery {
private Connection conn;
/*
* 创建一个返回Connection的方法
*/
public Connection getConnection(){
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
System.out.println("数据库驱动加载成功");
conn=DriverManager.getConnection("jdbc:sqlserver://localhost:1433;DatabaseName=java_conn_test","sa","123456");
if(conn==null){
System.out.println("数据库连接失败");
System.out.println("-----------------------");
}else {
System.out.println("数据库连接成功");
System.out.println("-----------------------");
}
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
return conn;
}
}
5>执行存储过程:
package com.Project_DataBase01;
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;
import java.sql.Types;
public class StartMain {
private static Connection conn;
public static void main(String[] args) {
// TODO Auto-generated method stub
conn=new SelectQuery().getConnection();
GetProduseInsert();
GetProduseSelect02();
GetProduseSelect();
}
/*
* 执行SELECT无参数存储过程,查询数据
*/
public static void GetProduseSelect(){
if(conn==null){
System.out.println("链接数据库失败");
}else {
try {
CallableStatement cs=conn.prepareCall("{call p_Select_User()}");
ResultSet rs=cs.executeQuery();
while (rs.next()) {
String name=rs.getString("UserName");
String pwd=rs.getString("UserPwd");
String UserId=rs.getString("UserId");
System.out.println(name+"\t"+pwd+"\t"+UserId);
}
System.out.println("查询成功");
System.out.println("-----------------------");
} catch (Exception e) {
// TODO: handle exception
System.out.println("查询失败");
System.out.println("-----------------------");
}
}
}
/*
*执行INSERT有参数存储过程,查询数据
*/
public static void GetProduseInsert(){
if(conn==null){
System.out.println("数据库连接失败");
}else {
try {
CallableStatement ic=conn.prepareCall("{call p_Insert_User(?,?)}");
ic.setString(1, "heyangyi");
ic.setString(2, "123");
ic.execute();
System.out.println("添加成功");
}
catch (Exception ex) {
//TODO: handle exception
System.out.println("添加失败");
}
}
}
/*
* 执行带输出参数的存储过程
*/
public static void GetProduseSelect02(){
if(conn==null){
System.out.println("数据库链接失败");
}else {
try {
CallableStatement sp=conn.prepareCall("{call p_Select_UserCount(?,?) }");
sp.setString(1,"heyangyi");
sp.registerOutParameter(2, Types.INTEGER);
sp.execute();
System.out.println("查询成功:"+sp.getInt(2));
} catch (Exception e) {
// TODO: handle exception
System.out.println("查询失败");
}
}
}
}

JAVA使用JDBC技术操作SqlServer数据库执行存储过程的更多相关文章
- JAVA使用JDBC技术操作SqlServer数据库
JDBC(JavaData Base Connectivity,Java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组 ...
- ava基础MySQL存储过程 Java基础 JDBC连接MySQL数据库
1.MySQL存储过程 1.1.什么是存储过程 带有逻辑的sql语句:带有流程控制语句(if while)等等 的sql语句 1.2.存储过程的特点 1)执行效率非常快,存储过程是数据库的服 ...
- Java通过JDBC 进行MySQL数据库操作
转自: http://blog.csdn.net/tobetheender/article/details/52772157 Java通过JDBC 进行MySQL数据库操作 原创 2016年10月10 ...
- java用JDBC连接MySQL数据库的详细知识点
想实现java用JDBC连接MySQL数据库.需要有几个准备工作: 1.下载Connector/J的库文件,下载Connector/J的官网地址:http://www.mysql.com/downlo ...
- Java连接并操作SQLServer数据库
本人只需在项目中引入sqljdbc4.jar 包即可 ----------------------------------------- 在JAVA中如何连接SQL Server数据库 - hangh ...
- JAVA通过JDBC连接Oracle数据库详解【转载】
JAVA通过JDBC连接Oracle数据库详解 (2011-03-15 00:10:03) 转载▼http://blog.sina.com.cn/s/blog_61da86dd0100q27w.htm ...
- Java使用Jdbc操作MySql数据库(一)
这个示例是Java操作MySql的基本方法. 在这个示例之前,要安装好MySql,并且配置好账户密码,创建一个logininfo数据库,在数据库中创建userinfo数据表.并且在表中添加示例数据. ...
- JAVA采用JDBC连接操作数据库详解
JDBC连接数据库概述 一.JDBC基础知识 JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供 ...
- java 通过jdbc连接MySQL数据库
先了解下JDBC的常用接口 1.驱动程序接口Driver 每种数据库的驱动程序都应该提供一个实现java.sql.Driver接口的类,简称Driver类.通常情况下,通过java.lang.Clas ...
随机推荐
- SQL Server 2000向SQL Server 2008 R2推送数据
[文章摘要]最近做的一个项目要获取存在于其他服务器的一些数据,为了安全起见,采用由其他“服务器”向我们服务器推送的方式实现.我们服务器使用的是SQL Server 2008 R2,其他“服务器”使用的 ...
- oracle 备份数据库对象(存储过程PROCEDURE,FUNCTION,VIEW,TRIGGER...)
开发过程中,需要不停的备份数据库对象, 特别是存储过程, 每次手动备份不免很低能啊 历经几次修改终于, 完美了,O(∩_∩)O哈哈~ (当然,你也可以再改简便一点~~~) select db ...
- test markdown
Markdown和Haroopad介绍文档 [TOC "float:right"] 什么是Markdown Markdown 是一种轻量级标记语言,创始人为约翰·格鲁伯(John ...
- 由于Replication,DBCC Shrink不能收缩Log File
使用Backup创建测试环境之后,发现testdb的Log File过大,达到400GB,由于测试环境实际上不需要这么大的Log Space,占用400GB的Disk Space实在浪费Disk Re ...
- 【WP开发】读写剪贴板
在WP 8.1中只有Silverlight App支持操作剪贴板的API,Runtime App并不支持.不过,在WP 10中也引入了可以操作剪贴板的API. 顺便说点题外话,有人会说,我8.1的开发 ...
- jQuery2.0.3源码分析系列(28) 元素大小
最近的分析都是有点不温不火,基本都是基础的回顾了 今年博客的目标目前总的来说有2大块 JS版的设计模式,会用jQuery来诠释 JS版的数据结构,最近也一直在狠狠的学习中. HTML息息相关的的样式 ...
- C#单例模式详解
C#要实现单例模式必须要有以下三点: 声明私有静态成员.私有化构造函数.静态函数返回实例. private static GameManager s_GameManager=null; private ...
- hibernate基础之无法自动创建表总结
刚刚接触Hibernate尝试写一个事例项目,但是搞了一天硬是苦逼的没弄通,一直的报无法创建表,现在就把这些经验给大家分享一下: 1.书写问题: <property name="hbm ...
- SQL Server-语句类别、数据库范式、系统数据库组成(一)
前言 终于等到这一天,我要开始重新系统学习数据库了,关于数据库这块,不出意外的话,每天会定时更新一篇且内容不会包含太多,简短的内容,深入的理解,Always to review the basics. ...
- 为什么要学习Linux
作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 本篇修改自我在知乎上回答的问题,为什么要学习 Linux? 我最开始用Linux是 ...