idea连接SQL Server数据库

news2025/7/16 21:27:12

数据库配置

1.安装数据库:自行安装        我的SQL Server版本为2019

2.登录数据库,登陆方式有两种,连接数据库选择SQLServer身份验证

1.windows登录,直接登录

2.SQLServer登录,需要输入用户名和密码,默认用户名“sa”

3.查看是否为第二种身份验证方式,如果是不需要做任何修改

 4.设置密码(这一步可以在安装数据库时就可以完成),如果觉得用户名有问题,也可以修改用户名

 5.查看SQL Server端口号(默认端口:1433),选择SQL Server2019配置管理器

 6.打开SQL Server网络配置,打开Tcp/IP协议,进去查看SQL Server端口号,到此数据库配置完成

 下载JDBC包(提醒:不要下载最新版本,zip和tar.gz都可用)

        下载时查看一下自己的jdk版本,win+R输入cmd命令,输入Java -version,之后选择要导入的jar包版本
https://learn.microsoft.com/zh-cn/sql/connect/jdbc/release-notes-for-the-jdbc-driver?view=sql-server-ver16#previous-releases

idea连接数据库

1.创建一个Java项目

2.在idea中导入jar包,需要进行设置,将它修改为模块有效

选择Add as.....修改为模块有效

 

 Java代码1(执行数据库查询语句)

package com.exit.jdbc;

import java.sql.*;

import static java.lang.Class.forName;
import static java.sql.DriverManager.*;

public class JDBCDemo {
    public static void main(String args[]) throws Exception {
        //1.加载驱动
        Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
        System.out.println("加载驱动成功!");
        //2.连接
        String dbURL = "jdbc:sqlserver://localhost;DatabaseName=db1";//DatabaseName=跟上要连接的数据库名称,我要连接db1数据库,所以DatabaseName=db1
        String user = "sa";
        String password = "123456";//在引号中修改为自己设置的登陆密码
        Connection conn = getConnection(dbURL, user, password);
        System.out.println("连接数据库成功!");
        //3.定义SQL语句
        String sql = "select * from account";
        //4.获取执行SQL对象并执行
        PreparedStatement stmt = conn.prepareStatement(sql);
        //5.处理结果
        ResultSet res = stmt.executeQuery();
        while (res.next()) {
            String title = res.getString("name");
            System.out.println(title);
        }
        //6.释放资源
        stmt.close();
        conn.close();
    }
}

 运行结果

Java代码2(对数据库进行操作) 

package com.exit.jdbc;

import java.sql.*;

import static java.lang.Class.forName;
import static java.sql.DriverManager.*;

public class JDBCDemo {
    public static void main(String args[]) throws Exception {
        //1.加载驱动
        Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
        System.out.println("加载驱动成功!");
        //2.获取连接
        String dbURL = "jdbc:sqlserver://localhost;DatabaseName=db1";//DatabaseName=跟上要连接的数据库名称,我要连接db1数据库,所以DatabaseName=db1
        String user = "sa";
        String password = "123456";//在引号中修改为自己设置的密码
        Connection conn = getConnection(dbURL, user, password);
        System.out.println("连接数据库成功!");
        //3.定义SQL语句
        String sql = "update account set money=2000 where id='1'";
        //4.获取执行SQL的对象
        Statement stmt = conn.createStatement();
        //5.执行SQL语句
        int count = stmt.executeUpdate(sql);
        //6.处理结果,打印出受影响的行数
        System.out.println(count);
        //7.释放资源
        stmt.close();
        conn.close();
    }
}

运行结果

 错误分析

加载驱动成功,但无法连接数据库,问题可能为jar包的版本太高,换一个低一点的版本即可

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/406491.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Vant Weapp】van-cell 单元格

目录 自定义内容​​​​​​​ 自定义右侧value(姓名手机号) 自定义右侧value(文件预览) 自定义下方label描述信息 真机border相当明显 修改样式(下边框、文字) 循环列表中的cell 自定义内容 自定义…

前端必学 - 大文件上传如何实现

前端必学 - 大文件上传如何实现写在前面问题分析开始操作一、文件如何切片二、得到原文件的hash值三、文件上传四、文件合并技术点总结【重要】一、上传文件?二、显示进度三、暂停上传四、Hash有优化空间吗?五、限制请求个数六、拥塞控制,动态…

Vue+element ui实现好看的个人中心

目录一、效果图二、项目结构三、界面效果和代码实现1.路由注册2.个人主页实现3.编辑弹窗按钮实现4.个人简介实现5.发贴页实现6.收藏页实现7.关注和收藏页实现四、总结一、效果图 仿照原神社区的个人中心写了个个人中心界面,下图分别为原神社区个人中心主页和我画的…

vue项目天地图使用

最近的项目中遇到了新的需求,需要在项目中使用天地图,因为第一次接触,官方的网站引用之类的也没有进行详细的介绍,自己去找的时候发现这部分的文章也比较少,有的问题也没有讲清楚,所以发布这篇文章分享总结…

关于将tomcat卸载干净

这学期我们开始学习Java Web技术,要求安装tomcat,我到官网上下载的时候不小心下载了最新的测试版,但是安装的eclipse无法配置最新班的tomcat,就开启了我的下载、卸载之旅😭😭 在此之前也有在网上找了很多相…

小程序怎么自定义导航栏,导航栏放图片、设置高度

今天来说一下小程序的自定义导航栏。 1、设置导航栏style为custom: 2、这是刷新页面,页面的内容就跑到了页面的顶端,不留丝毫间隙: 3、然后定义一个components,就是我们自定义的导航栏组件: &#xff…

Vue3 + Element Plus 按需引入 - 自动导入

文章目录1 前言1.1 目的1.2 最终效果2 准备工作3 按需引入3.1 安装插件3.2 修改 vite.config.ts 文件4 其他4.1 ElMessageBox 使用时报错4.1.1 Eslint 报错: ElMessageBox is not defined.eslint(no-undef)4.1.2 TS 报错: Cannot find name ElMessageBox…

html设置背景颜色以及背景图片

背景颜色 backgroud-color:transparent color transparent : 背景色透明 color : 指定背景颜色 直接设置标签的style属性(行内样式) 例:将这个段落的背景设为红色 用选择器进行设置(内嵌样式、外链样式&#xff0…

做技术,最忌讳东张西望

又好长时间没更新,研二了,忙着做实验、写论文、发论文,再加上给我导做一些事情(都习惯了,以前很不爽的事情,现在居然能这么平静的说出来)。 但这不是我今天说的重点,而是另外一件事…

3 分钟掌握 Node.js 版本的区别

在我们日常开发中,Node.js 使用场景越来越多,大到服务端项目,小到开发工具脚本,所以掌握 Node.js 一些基础知识是非常有必要的。 今天主要聊一下 Node.js 中 LTS 和 Current 的区别和如何选择合适的版本。 一、版本介绍 在官网上…

vue使用jsMind(思维导图)

前言 jsMind 是一个显示/编辑思维导图的纯 javascript 类库,其基于 html5 的 canvas 进行设计。 我们使用它可能需要在网页上单纯的使用这种图样的效果,而其他交互却是自定义的,我这边选择的是jsMind 与 网上的一个jsmind.menu.js&#xff…

Node.js 全网最详细教程 (第一章:Node学习入门必看教程)

1:Node的学前必知: 1: 在学习node之前,想必你应该学习过HTML,CSS,JavaScript 2: 浏览器中的JavaScript由两部分组成:JS核心语法和WebAPI JS核心语法WebAPI变量,数据类型DOM操作循环&#xff0…

Nginx静态资源部署

目录 Nginx静态资源概述 Nginx静态资源的配置指令 listen指令 server_name指令 location指令 设置请求资源的目录root / alias index指令 error_page指令 静态资源优化配置语法 Nginx静态资源压缩实战 Gzip模块配置指令 Gzip压缩功能的实例配置 Gzip和sendfil…

geoserver发布地图服务

geoserver发布地图服务发布wmts服务发布样式发布映像服务发布要素服务发布wmts服务 新建工作空间 保存后点击工作区 将shp文件上传到服务器 发布geoserver 服务 选择数据存储-》添加新的数据存储 这时可以选择两种方式 一种是直接将整个shp文件导入,一种是一…

【TS】object类型

object是一个对象,在ts中定义对象类型的语法为:let 变量名 :object { } 在object类型中,对象内部定义的值是不受类型约束的,只要是一个object类型即可,例如: let obj : object {name : 艺术概…

HTML <span>标签

HTML 中的<span>标签被视为内联元素。它类似于 div 标记&#xff0c;但 div 标记特意用于块级元素&#xff0c;而 span 用于内联元素。它主要用于用户想要将内联元素分组到其代码结构中。HTML 中的 Span 标记用于通过使用元素类或 id 属性为特定内容提供样式。使用 HTML …

element-ui table使用type=‘selection‘复选框全禁用-全选禁用

目录 问题总结&#xff1a; 当条件数据全被禁用时&#xff0c;全选按钮也变成禁用的状态&#xff0c;而不是隐藏。有会做的小伙伴希望跟帖。谢谢&#xff01; 复选框框架&#xff1a;通过调用selectable方法&#xff0c;进行禁用复选框。 1.指定行禁用&#xff1a; 2.条件禁用&…

在Tomcat中部署web项目出现http状态-404 -未找到详细解决方案

问题描述&#xff1a; 当我们向tomcat服务器发起请求时&#xff0c;出现如下的错误状态提示–404.这个问题在开发过程中可能会经常遇到&#xff0c;所以做一个归纳总结&#xff1a; 以下的内容适用于IDEA&#xff0c;使用其他编辑器的小伙伴们需要注意区别。 情景① –> …

overflow:auto的用法和实现弹性盒横向滚动

1. 前言引入&#xff1a; overflow&#xff1a;auto含义是&#xff1a;如果高度撑开了原有设定的高度&#xff0c;那么可以添加这个属性&#xff0c;让它出现滚动条滚动显示。 举例说明&#xff1a; 我们做一个京东移动端&#xff0c;以iphone-XE分辨率为准的例子&#xff…

NavMenu导航菜单el-submenu点击事件及激活状态变化

记录多级菜单时&#xff0c;NavMenu导航菜单的一级菜单点击事件以及当前激活状态变化 原因&#xff1a; 由于项目的需求变化&#xff0c;原本是点击二级子菜单才发生跳转&#xff0c;点击子菜单后&#xff0c;el-menu组件也会执行select的方法&#xff0c;导航栏的菜单也会对应…