文章目录
前言
简单的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:努力成为你最喜欢的那种人,就算不成功,至少你会喜欢这样努力的自己。