JAVA使用JDBC技术操作SqlServer数据库执行存储过程

Java使用JDBC技术操作SqlServer数据库执行存储过程:

1.新建SQLSERVER数据库:java_conn_test

2.新建表:tb_User

3.分别新建三个存储过程:

1>带参数的新增用户存储过程:

CREATE PROCEDURE [dbo].[p_Insert_User]
@name nvarchar(50),
@UserPwd nvarchar(50)
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]
@name nvarchar(50),
@result int output
AS
BEGIN
    SELECT @result= COUNT(0) 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("查询失败");
            }
        }
    }
}

时间: 2024-12-14 19:29:31

JAVA使用JDBC技术操作SqlServer数据库执行存储过程的相关文章

java jdbc操作SQLServer数据库

public static void main(String args[]){         System.out.println(321);         PreparedStatement ps = null;         ResultSet rs = null;         Connection ct = null;         try{             Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDri

Java连接并操作SQLServer数据库

本人只需在项目中引入sqljdbc4.jar 包即可 ----------------------------------------- 在JAVA中如何连接SQL Server数据库 - hanghangde的博客 - 博客频道 - CSDN.NEThttp://blog.csdn.net/hanghangde/article/details/50463658 这篇文章说得很好,有链接 2000和 2008的服务器版本: Java连接SqlServer2008数据库首先下载JDBC:下载地址:

java用JDBC连接MySQL数据库的详细知识点

想实现java用JDBC连接MySQL数据库.需要有几个准备工作: 1.下载Connector/J的库文件,下载Connector/J的官网地址:http://www.mysql.com/downloads/connector/j/ 2.MySQL数据库安装包的下载和安装:http://pan.baidu.com/s/1sleNubV 3.在dos命令窗口中对mysql进行配置和使用.配置如下: ①在开始菜单的搜索框中输入"cmd"命令. ②把安装mysql软件的路径到bin目录下输入

JAVA使用JDBC连接MySQL数据库 二(2)

本文是对 <JAVA使用JDBC连接MySQL数据库 二>的改进. 上节使用的是PreparedStatement来执行数据库语句,但是preparedStatement需要传递一个sql语句参数,才能创建.然而,DBHelper类只是起到打开和关闭数据库的作用,所以sql语句是要放到应用层部分的,而不是放到DBHelper类中. 而statment不需要传递一个sql语句参数,就能创建. 修改部分如下: public class DBHelper { String driver = &quo

JDBC连接SqlServer数据库(非默认实例)方法

一般我们在连接数据库的时候都是用的默认实例名,今天遇到了用非默认是实例名:连接代码如下(Java): URL=jdbc:microsoft:sqlserver://192.168.1.85//DEMO;DatabaseName=PePsiEasyData 说明: 192.168.1.85是数据库地址.不指定端口 //DEMO 指定实例名为DEMO 也可以写成这样: URL=jdbc:microsoft:sqlserver://192.168.1.85;instanceName=DEMO;Data

JAVA通过JDBC连接Oracle数据库详解【转载】

JAVA通过JDBC连接Oracle数据库详解 (2011-03-15 00:10:03) 转载▼http://blog.sina.com.cn/s/blog_61da86dd0100q27w.html Java连接Oracle步骤: 1.注册加载驱动 驱动名:DRIVER="oracle.jdbc.driver.OracleDriver"; Class.forName("驱动类名"); 2.获得连接 数据库地址: URL="jdbc:oracle:thi

(详细)JAVA使用JDBC连接MySQL数据库(1)- 软件

欢迎任何形式的转载,但请务必注明出处. 1.jdk 点击查看安装和环境配置教程 2.Eclipse 点击进入官网下载 注意下载完成打开.exe后,出现下图界面,有很多版本供选择 本人目前在学JSP所以安装的是Java EE版本,初学者可以选择第一个Java Developers版本 3.Mysql 点击进入官网下载 点击进入推荐安装教程+环境配置 下载页面注意事项 (虽然选项只有32位的,但下载完成后32位和64位都会安装) (上面的是在线安装,下面的是离线安装,建议选择离线安装) 系列文章 (

Java使用Jdbc操作MySql数据库(一)

这个示例是Java操作MySql的基本方法. 在这个示例之前,要安装好MySql,并且配置好账户密码,创建一个logininfo数据库,在数据库中创建userinfo数据表.并且在表中添加示例数据. 一.首先将mysql-connector-java-5.1.26-bin.jar开发包复制到lib文件夹中,并且Build Path->Add Build Path. 二.创建User类,用于封装从数据库读出来的数据. 1 package com.mylx.database; 2 3 public

Java 通过JDBC连接Mysql数据库的方法和实例——五部曲

一:把mysql-connector-java-5.1.20-bin.jar导入到本项目工程的目录下,步骤如下: (1)先新建一个Web Project项目,取项目名为test (2)右键点击工程下的JRE System Library --> Buid Path --> Configure Build Path --> Libraries --> Add Library --> User Library --> new --> 取名为MySQL --> 选