Java中String的JdbcTemplate连接SQLServer数据库的方法

  很久没写文章了,一方面是最近几个月比较忙,没太多时间,另一方面是最近拖延症严重,写文章的想法总是一拖再拖。今天找一个小案例写一下,与懒惰对抗一下。

  首先说一下背景,我们在项目中做数据持久化一般都是用mybatis或者hibernate开发框架,进行数据库连接和操作,最近做GIS仿真产品研发,根据需求需要保存三部分数据:1、业务数据,数据量比较小;2、GIS数据,需要用到空间关系;3、物联数据,数据量大,在我们开发自测阶段数据量就可以达到每天百万以上。根据以上数据特点,我们使用了传统的MySQL数据库、空间数据库PostgreSQL、TD engine时序数据库,项目中做了spring boot多数据源动态切换。今天的重点不是多数据源的实现,这个应用以后会在另外一篇文章中介绍;在研发过程中我们需要与其他系统对接的场景,连接SQLServer拉取数据,项目本身已经做了多数据源,如果继续添加数据源就加大了系统的难度,所以就用jdbc连接数据库的方式连接外部数据源,下面看代码。

一、引入依赖jar包

  项目用的是Spring Boot,创建好项目以后,引入下面依赖:

<dependencies>

        <dependency>
            <groupId>com.microsoft.sqlserver</groupId>
            <artifactId>mssql-jdbc</artifactId>
            <scope>runtime</scope>
        </dependency>

    </dependencies>

二、Utils开发

  1、创建实体类,实现org.springframework.jdbc.core.RowMappe接口的mapRow(ResultSet rs, int rowNum)方法。

package com.johan.handler.task.iotSync.bean;
import lombok.Data;
import org.apache.commons.lang3.StringUtils;
import org.springframework.jdbc.core.RowMapper;

import java.sql.ResultSet;
import java.sql.SQLException;

/**
 * @author: Johan
 * @date: 2021/10/18
 * @desc: IOT信息
 */
@Data
public class IotDG implements RowMapper {
    /**
     * 标签名称
     */
    private String tagName;

    /**
     * 标签描述
     */
    private String tagDesc;

    /**
     * 标签值
     */
    private Double tagVal;

    /**
     * 标签单位
     */
    private String tagUnit;

    /**
     * 类型,0 压力,1 流量
     */
    private String type;

    @Override
    public Object mapRow(ResultSet rs, int rowNum) throws SQLException {
        IotDG iotDG = new IotDG();
        iotDG.setTagName(rs.getString("TagName"));
        iotDG.setTagDesc(rs.getString("TagDesc"));
        iotDG.setTagVal(rs.getDouble("Value"));
        iotDG.setTagUnit(rs.getString("TagUnit"));
        iotDG.setType(rs.getString("Type"));

        return iotDG;
    }
}

  2、连接数据库,读取表数据

package com.johan.handler.task.iotSync.iotConvert;

import com.johan.handler.task.iotSync.bean.IotDG;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.datasource.DriverManagerDataSource;

import java.sql.*;
import java.util.List;

/**
 * @author johan
 * @Description SQL server
 * @time 2021/10/18 18:26
 */
public class JDBCUtils {

    private static JdbcTemplate jdbcTemplate;
    static {
        String driver = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
        String url ="jdbc:sqlserver://10.25.23.172:1433;databaseName=SCADA_Data_3040";//连接地址
        String user ="SLSL";//用户
        String password ="Admin@3040";//密码

        DriverManagerDataSource dataSource=new DriverManagerDataSource();
        dataSource.setUrl(url);
        dataSource.setDriverClassName(driver);
        dataSource.setUsername(user);
        dataSource.setPassword(password);

        jdbcTemplate=new JdbcTemplate(dataSource);
    }

    public static List<IotDG> listAll(int type){
        String sql = "SELECT * FROM RealData where Type=" + type;

//        System.out.println(iotDGList);
        return jdbcTemplate.query(sql,new IotDG());
    }

}

  3、测试

  方法是静态的,直接调用即可。

package com.johan.domain.iot;

import com.johan.handler.task.iotSync.bean.IotDG;
import com.johan.handler.task.iotSync.iotConvert.JDBCUtils;
import lombok.extern.slf4j.Slf4j;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;

import java.util.List;

/**
 * @author johan
 * @time 2021/10/22 17:57
 */
@SpringBootTest
@Slf4j
public class IotDomainTest {

    @Test
    public void jdbcTest(){
        List<IotDG> iotDGList = JDBCUtils.listAll(0);
        System.out.println(iotDGList);
    }

}

  不只是SQLServer,我们常用的MySQL、Oracle等都可以用JdbcTemplate连接。

到此这篇关于Java中String的JdbcTemplate连接SQLServer数据库的文章就介绍到这了,更多相关java中JdbcTemplate连接SQLServer数据库内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Spring框架+jdbcTemplate实现增删改查功能

    SpringMVC架构(Model(实体类),Service,Controller层) Controller(接收参数调用业务层)–>Service(调用持久层,处理业务逻辑)–>Dao(与数据库交互) 1. IOC(控制反转是一种设计思想而不是技术) DI(依赖注入):是IOC思想的一种技术实现 IOC容器是Spring提供的保存Bean对象的容器 Bean管理操作 1.Xml + 注解 2.javaConfig + 注解 通过xml配置Bean:TODO: 通过javaConfig 配置B

  • 超细致讲解Spring框架 JdbcTemplate的使用

    目录 JdbcTemplate基本使用 1-JdbcTemplate基本使用-概述(了解) 2-JdbcTemplate基本使用-开发步骤(理解) 3-JdbcTemplate基本使用-快速入门代码实现(应用) 4-JdbcTemplate基本使用-spring产生模板对象分析(理解) 5-JdbcTemplate基本使用-spring产生模板对象代码实现(应用) 6-JdbcTemplate基本使用-spring产生模板对象代码实现 7-JdbcTemplate基本使用-常用操作-更新操作(应

  • Java Spring JdbcTemplate基本使用详解

    目录 JdbcTemplate概述 JdbcTemplate开发步骤 JdbcTemplate快速入门 Spring产生JdbcTemplate对象 JdbcTemplate概述 它是spring框架中提供的一个对象,是对原始繁琐的Jdbc API对象的简单封装.spring框架为我们提供了很多的操作模板类.例如:操作关系型数据的JdbcTemplate和HibernateTemplate,操作nosql数据库的RedisTemplate,操作消息队列的JmsTemplate等等. JdbcTe

  • 详解SpringBoot中JdbcTemplate的事务控制

    目录 前言 原生Jdbc的事务控制 Spring的声明式事务控制 尝试JdbcTemplate的事务控制 TransactionTemplate的编程式事务控制 前言 JdbcTemplate是spring-jdbc提供的数据库核心操作类,那对JdbcTemplate进行事务控制呢? 我的环境:spring-boot-2.1.3,druid-1.1.3. 原生Jdbc的事务控制 即,批处理+自动提交的控制方式, public static void demo(String[] args) thr

  • java中jdbcTemplate的queryForList(坑)

    jdbcTemplate 中的queryForList,你真的懂吗? 你想象中的queryForList是不是应该长成下面这种模样? String sql = "select * from person"; List<Person> persons = jdbcTemplate.queryForList(sql, Person.class); 然后,你很激动的点了run 程序跑出来一个,你做梦都想不到的东西,不是list吗?为什么expected是1? 我总共7条数据啊,为

  • Java Spring5学习之JdbcTemplate详解

    一.JdbcTemplate Spring 框架对 JDBC 进行封装,使用 JdbcTemplate 方便实现对数据库操作 二.实战 2.1 引入依赖 <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.24</version> </dependency> <!-

  • Spring框架的JdbcTemplate使用

    目录 JdbcTemplate 概述 对JdbcTemplate进行分步演示 1:测试数据源 2:为IoC容器配置一个JdbcTemplate 3:更新 4:批量插入 5:查询emp_id=5的记录,封装为一个Java对象返回. 6:查询salary>4000的记录,封装为List集合返回 7:查询最大的salary 8:使用具名参数SQL插入一条员工记录,并以Map形式传入参数值. 9:使用具名参数SQL插入一条员工记录,并以SqlparamSource传入参数值. JdbcTemplate

  • Java中String的JdbcTemplate连接SQLServer数据库的方法

    很久没写文章了,一方面是最近几个月比较忙,没太多时间,另一方面是最近拖延症严重,写文章的想法总是一拖再拖.今天找一个小案例写一下,与懒惰对抗一下. 首先说一下背景,我们在项目中做数据持久化一般都是用mybatis或者hibernate开发框架,进行数据库连接和操作,最近做GIS仿真产品研发,根据需求需要保存三部分数据:1.业务数据,数据量比较小:2.GIS数据,需要用到空间关系:3.物联数据,数据量大,在我们开发自测阶段数据量就可以达到每天百万以上.根据以上数据特点,我们使用了传统的MySQL数

  • Java中的使用及连接Redis数据库(附源码)

    引言: 本文主要分享了Redis如何在IDEA中部署,运行:模拟加入Redis的操作: 目录结构 1. 在IDEA中搭建Redis 1.1 创建项目 新建含有web的SpringBoot项目: 搭建项目参考:SpringBoot超详细笔记:https://blog.csdn.net/weixin_42601136/article/details/108396511 1.2 添加依赖(不够手动添加) <dependencies> <!-- 1. Jedis--> <depend

  • Spring Boot 与 Kotlin 使用JdbcTemplate连接MySQL数据库的方法

    之前介绍了一些Web层的例子,包括构建RESTful API.使用Thymeleaf模板引擎渲染Web视图,但是这些内容还不足以构建一个动态的应用.通常我们做App也好,做Web应用也好,都需要内容,而内容通常存储于各种类型的数据库,服务端在接收到访问请求之后需要访问数据库获取并处理成展现给用户使用的数据形式. 本文介绍在Spring Boot基础下配置数据源和通过 JdbcTemplate 编写数据访问的示例. 数据源配置 在我们访问数据库的时候,需要先配置一个数据源,下面分别介绍一下几种不同

  • Java中如何获取mysql连接的3种方法总结

    前言 本文主要来说说三种 Java 中获取 mysql 连接的方式,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍: 第一种:传统的连接方式: 第二种:读取配置文件方式: 第三种:数据库连接池. 一.传统的连接方式: 首先在 src 目录下创建名为 lib 的文件夹,导入数据库驱动的 jar 包,随后 "add to build path". 1.注册驱动 Class.forName("com.mysql.jdbc.Driver"); 2.获取连接 S

  • Java实现JSP在Servelt中连接Oracle数据库的方法

    本文实例讲述了Java实现JSP使用Servelt连接Oracle数据库的方法.为了实现在Servlet 中连接数据库,必须编写Servlet 的类程序.将Servlet 类程序放到WEB 服务器的servlets 或者classes 目录下面,为调用Servlet,需要创建发送Servlet 请求的HTML 文档.本例通过(Driver)Class.forName(driverName).newInstance()方法来实现加载驱动程序,建立与数据库连接. 具体程序代码为: 1.Databas

  • 在IntelliJ IDEA中使用Java连接MySQL数据库的方法详解

    一.下载MySQL数据库并进行安装和配置 下载地址:https://dev.mysql.com/downloads/installer/ 二.下载JDBC连接器 下载地址:mysql-connector-java-8.0.22 下载好压缩包并解压后找到mysql-connector-java-8.0.22.jar文件放在自己指定的路径下. 三.在项目中导入jar包 用于测试数据库连接的测试类Test.java代码: import java.sql.Connection; import java.

  • Java连接各种数据库的方法

    本文实例讲述了Java连接各种数据库的方法.分享给大家供大家参考.具体如下: 复制代码 代码如下: //MySQL:       String Driver="com.mysql.jdbc.Driver";   //驱动程序      String URL="jdbc:mysql://localhost:3306/db_name";    //连接的URL,db_name为数据库名       String Username="username"

  • java连接Access数据库的方法

    java连接Access数据库的方法,分享给大家 步骤: 1.现在我们一般使用的编译环境是java SE 1.8,不支持odbc的连接方式,所以可以用jdbc的连接方式,还要在网上下载一个jdbc的驱动包.(这里用了Access_JDBC30.jar包,在网上可以找到) 2.右击JRE System Libary->点击 Build Path->点击Add External JARs->将Access_JDBC30.jar添加进去. 3.在这些都准备好之后,j建立数据库,还要将Acces

  • Java之jdbc连接mysql数据库的方法步骤详解

    Java:jdbc连接mysql数据库 安装eclipse和mysql的步骤这里不赘述了. 1.一定要下jar包 要想实现连接数据库,要先下载mysql-connector-java-5.1.47(或者其他版本)的jar包.低版本的jar包不会出现时差问题的异常. 建议在下载界面点右边的"Looking for previous GA versions?"下载低版本的. https://www.jb51.net/article/190860.htm我看的是这个教程. 2.mysql前期

  • spring中使用mybatis plus连接sqlserver的方法实现

    本文主要关注如何使用mybatis/mybatis plus连接SQL Server数据库,因此将省略其他项目配置.代码. 框架选择 应用框架:spring boot ORM框架:mybatis plus(对于连接数据库而言,mybatis和mybatis plus其实都一样) 数据库连接池:druid pom依赖 此处仅给出我的配置,mybatis/druid请依据自己项目的需要进行选择. 方便起见我用的是mybatis plus <!--mybatis plus --> <depen

随机推荐