文章目录

  • 前言
  • 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);@AutowiredSmsService 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:努力成为你最喜欢的那种人,就算不成功,至少你会喜欢这样努力的自己。

java获取sqlserver连接并插入数据相关推荐

  1. java hibernate 插入数据_[Java教程]hibernate 返回新插入数据的Id

    [Java教程]hibernate 返回新插入数据的Id 0 2015-08-28 10:00:11 例如 表明 studentInfoString sql="set set nocount ...

  2. java获取几天前的数据 年份发现报错 月份日期正常 yyyy-mm-dd与yyyy-MM-dd的大坑啊!!!

    java获取几天前的数据 年份发现报错 yyyy-mm-dd与yyyy-MM-dd的大坑 话不多上上图 当我把时间区间改成365天 30天的时候就很正常 我发现就是180天左右的情况时间不对 ,其他都 ...

  3. Python连接mysql,插入数据时不报错,但是没有插入进去

    Python连接mysql,插入数据时不报错,但是没有插入进去在connect方法中,设置 autocommit =True conn=pymysql.connect(host=host_db,use ...

  4. java如何向数据库中插入数据_如何控制Java代码向数据库中插入数据

    慕哥6287543 Java程序向数据库中插入数据,代码如下:123456789101112131415161718192021222324252627282930313233343536373839 ...

  5. C#连接sqlserver数据库,插入数据,并且读取数据库数据画折线图。

    这篇文章主要分为两个部分,1.连接数据库.2.读取数据库数据然后作图(chart控件). 首先先讲一下连接数据库,我的环境是Visual Studio2010和sqlserver2012,先确保自己电 ...

  6. 用java向mysql数据库中插入数据为空

    利用java面向对像编程,向数据库中插入数据时.遇到插入的数据为空的情况.在此做一小结: 1.数据库连接正正常 2.sql语句没有问题 3.程序没有报异常 4.代码: import java.util ...

  7. Java通过Mybatis实现批量插入数据到Oracle中

    最近项目中遇到一个问题:导入数据到后台并将数据插入到数据库中,导入的数据量有上万条数据,考虑采用批量插入数据的方式: 结合网上资料,写了个小demo,文章末尾附上demo下载地址 1.新建项目:项目目 ...

  8. java在pdf模板中插入数据

    一,准备工作 1,需要下载一个工具,Adobe Accrobat Pro DC 2,准备一个word文档,然后保存为pdf格式 这边需要插入数据的地方要用下划线,不然识别不到: 3,在Adobe Ac ...

  9. mysql数据库插入数据为空_用java向mysql数据库中插入数据为空

    利用java面向对像编程,向数据库中插入数据时.遇到插入的数据为空的情况.在此做一小结: 1.数据库连接正正常 2.sql语句没有问题 3.程序没有报异常 4.代码: import java.util ...

最新文章

  1. Linux那些事儿 之 戏说USB(34)接口的驱动
  2. 手语识别 机器学习_机器学习入门实践,让机器识别一只猫
  3. Hyper-V 2016:支持guest操作系统
  4. std::setprecision、std::ios::fixed使用说明
  5. python学习总结----时间模块 and 虚拟环境(了解)
  6. 【Floyed】工厂的烦恼(ssl 1762)
  7. linux的opt大小不够了,在redhat下安装QT,提示opt 空间不足。
  8. SAP License:SAP顾问是如何炼成的——你适合做SAP顾问吗?
  9. 【报告分享】斯坦福-2019人工智能指数年度报告.pdf(附293页报告现在链接)
  10. 如何在windows平台下使用hsdis与jitwatch查看JIT后的汇编码
  11. System.IO.Path 操作
  12. win10计算机系统优化设置,win10系统电脑如何进行系统优化
  13. Unity - IL2CPP报错
  14. vmware14安装黑苹果max ox x 10.13懒人版教程
  15. 中国饭局里的潜规则:中国饭局中的细节
  16. Ubuntu安装图形化界面
  17. 直接插入排序 希尔排序 冒泡排序 快速排序 直接选择排序 堆排序 归并排序 基数排序的算法分析和具体实现 ...
  18. 七牛云 阿里云图片存储 新增套餐 分页 定时任务Quartz(作业:编辑和删除功能)
  19. maven项目调转servlet 500异常
  20. ACW95 费解的开关

热门文章

  1. java卸载(java卸载 windows installer)
  2. 微信PC端技术研究(2)-保存聊天语音
  3. linux mv命令的功能,linux常用命令:Linux常用命令之mv命令是什么?
  4. 人工神经网络技术基础
  5. java wps 二次开发,Wps二次开发(POI)
  6. openlayers中使用rBush(R树)来存放要素等信息,本文修改了一点其中的rbush源码中的demo,使用canvas画出了insert和delete操作(建立树和删除树中数据)
  7. JSP及MVC三层架构
  8. Linux du(disk usage)命令详解
  9. 算法中的大O是什么意思
  10. 3.Garbage Collection