java获取sqlserver连接并插入数据


前言

简单的SqlServer的连接,并往短信数据库表中插入一条信息,然后定时任务扫描改表,发送短信。
其中:定时任务发送短信的代码自行编写。


SqlServer连接并发送短信

package com.xxxxx.business.sms.service;


import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;

import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

/**
 * 接口说明
 * 一、调用系统
 * 技术服务支撑项目
 * <p>
 * 二、数据库环境
 * 数据库:SQL Server 2005
 * IP:xx.xx.xx.xx     库名:xxxxx  架构:dbo
 * 用户名:xxxx  密码: xxxx
 * 以上参数填写到配置文件的中,方便以后的修改
 * <p>
 * 三、发送短信方式
 * <p>
 * 调用存储过程: xxxx_发送短信 即可,共2个参数。
 * 参数:
 * 1.     目的手机号:cahr(11)
 * 2.     短信内容:varchar(800) ,400汉字。
 * 实例
 * EXEC	xxxxx.[dbo].[发送短信]	N'1350498xxxx',N'短信内容'
 *
 * @Author xing
 */
@Service
public class SmsSend {

    private static final Logger log = LoggerFactory.getLogger(SmsSend .class);

    @Autowired
    SmsService smsService;

    /**
     * 获取sqlserver连接
     *
     * @return
     */
    public Connection getConnection() {
        String driverclassname = "com.microsoft.sqlserver.jdbc.SQLServerDriver";//jdbc驱动
        String jdbcUrl = "jdbc:sqlserver://xxx.xxx.xxx.xxx;DatabaseName=xxxxxx";
        String username = "";//sqlserver用户名
        String password = "";//sqlserver用户密码
        try {
            Class.forName(driverclassname);//加载sqlserver的驱动类
            log.info("loading SQLServer drive class successful");
        } catch (ClassNotFoundException a) {
            log.error("loading SQLServer drive class error:{}", a);
        }
        Connection dbcon = null;//处理与特定数据库的连接
        try {
            dbcon = DriverManager.getConnection(jdbcUrl, username, password);
            log.info("SQLServer connection successful");
        } catch (SQLException e) {
            log.error("SQLServer connection error:{}", e);
        }
        return dbcon;
    }

    /**
     * 发送短信
     */
    public void sendSms(String phone, String message) {
        Connection conn = getConnection();//获取sqlserver连接
        try {
            String call = "{ call dbo.xxxx_发送短信(?,?) }";
            CallableStatement callStatement = conn.prepareCall(call);
            callStatement.setString(1, phone);
            callStatement.setString(2, message);
            callStatement.execute();
            callStatement.close();
            log.info("SmsSend successful phone:{} message:{}", phone, message);
            smsService.insert(message, phone, BusinessConstant.SendSmsStatus.SMS_SEND_STATUS_SEND_OK);
        } catch (SQLException e) {
            smsService.insert(message, phone, BusinessConstant.SendSmsStatus.SMS_SEND_STATUS_SEND_FAIL);
            log.error("SmsSend error:{}", e);
        } finally {
            try {
                conn.close();//关闭连接
            } catch (Exception e) {
                log.error("SQLServer connection close error:{}", e);
            }
        }
    }

}

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家的支持。
希望能给大家带来些许灵感。

XH:努力成为你最喜欢的那种人,就算不成功,至少你会喜欢这样努力的自己。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值