超详细Maven项目连接SqlServer数据库

最近在做数据库的最后一个实验,在连接的时候踩了很多坑,所以记录一下

以下步骤都是基于老师给出的需求,部分操作非必要

一、关于数据库 (SqlServer2022 + SSMS19)

1.1 新建用户名

方法一 -- 使用T-Sql语句

正确代码如下,但是因为我没设置默认操作数据库,所以最后一句无法执行 -.-

--  创建新的登录用户
create login username with password='password'
-- 创建新的数据库用户
create user username for login password
-- 授予角色权限
exec sp_addrolemember 'db-creator','username'

方法二 -- 使用视图操作(推荐)

第一步 采用windows身份验证

第二步 右键点击服务器属性 -> 安全性 -> 选择“SQL Server 和 Windows身份验证模式”

第三步 新建登录名

第四步 自定义登录名和密码(这是后续进行登录的关键)

第五步 数据库角色身份选择 public 和 db_owner (赋予操作权限) 

第六步 设置 “授予” 和 “启用”(这样才能生效哦)

第七步 新建连接 进行登录验证

 1.2 登录用户

上述验证无误 即可成功登录

1.3 新建数据库

新建查询,直接粘贴老师发的代码

按下F5执行操作

1.4 配置数据库

打开 sql server配置管理器 -> sql server网络配置 -> 找到下载时配置的协议名

确保三项协议的状态是“已启用”,点击TCP/IP协议 进行如下配置

协议选择:

IP地址选择: 

 

 

win+R ->  services.msc -> 右键点击 -> 重新启动服务

二、关于MAVEN项目 (IDEA 2023.1.3 + JDK17)

2.1 新建maven项目

File -> new -> project 配置如下

创建好的项目结构如下

2.2 导入SQLSERVER依赖

打开 pom.xml文件 添加如下代码

(这里真的试了很多次,头都大了,下面的代码对我来说是唯一可行的)

 <dependency>
    <groupId>com.microsoft.sqlserver</groupId>
    <artifactId>mssql-jdbc</artifactId>
    <version>7.4.1.jre8</version>
  </dependency>

2.3 导入配置(报错后进行的修改)

写到后面的时候 我的代码报错 javax/xml/bind/DatatypeConverter

所以在pom.xml中添加了如下依赖

<dependency>
        <groupId>javax.xml.bind</groupId>
        <artifactId>jaxb-api</artifactId>
        <version>2.3.0</version>
    </dependency>
    <dependency>
        <groupId>com.sun.xml.bind</groupId>
        <artifactId>jaxb-impl</artifactId>
        <version>2.3.0</version>
    </dependency>
    <dependency>
        <groupId>com.sun.xml.bind</groupId>
        <artifactId>jaxb-core</artifactId>
        <version>2.3.0</version>
    </dependency>
    <dependency>
        <groupId>javax.activation</groupId>
        <artifactId>activation</artifactId>
        <version>1.1.1</version>
    </dependency>

参考文章 https://blog.csdn.net/weixin_41614525/article/details/121195197

 2.4 测试代码连接数据库

打开 main.java.org.example.App 文件 将如下代码粘贴进去

注意 :url内的数据库名,用户名,密码填写自己实际的信息

            SQL语句的操作,同样选择自己实际存在的表名

package org.example;
import java.sql.*;
/**
 * Hello world!
 *
 */
public class App 
{
    public static void main(String args[]) {
        String url = "jdbc:sqlserver://127.0.0.1:1433;databaseName=dbname;user=username;password=password";//sa身份连接

        // Declare the JDBC objects.
        Connection con = null;  //会话连接
        Statement stmt = null;  //用于执行静态SQL语句并返回其生成的结果的对象。
        ResultSet rs = null;  //数据库结果集的数据表

        try {
            //1-注册驱动器,驱动管理器类加载SQLServerDriver类的静态方法,如果没有添加这个驱动,则创建这个驱动
            Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");

            //2-与数据源获得连接
            con = DriverManager.getConnection(url);

            //3-创建一个Statement对象,用于将SQL语句发送到数据库
            stmt = con.createStatement();

            //4- SQL语句
            String SQL = "SELECT  * FROM Score";

            //5-执行SQL,返回数据
            rs = stmt.executeQuery(SQL);

            //6-遍历
            while (rs.next()) {

                System.out.println(rs.getString(1) + "," + rs.getString(2).trim()+"," + rs.getString(3));
            }
        }

        catch (Exception e) {
            e.printStackTrace();
        } finally {
            if (rs != null)
                try {
                    rs.close();
                } catch (Exception e) {
                }
            if (stmt != null)
                try {
                    stmt.close();
                } catch (Exception e) {
                }
            if (con != null)
                try {
                    con.close();
                } catch (Exception e) {
                }
        }
    }

}

三、报错汇总&&解决方法

ps:只是将我的解决方案放出来作为参考

3.1 java: 错误: 不支持发行版本 6 -- 解决方法

点击 file -> project structure

点击project 看到SDK版本

 点击modules  Language level版本与 上图SDK 一致

 点击 file -> settings -> compiler -> java compiler

project bytetype version 版本 同样与上图一致

参考文章:https://blog.csdn.net/qq_43440821/article/details/130905333 

3.2 通过端口 1433 连接到主机 127.0.0.1 的 TCP/IP 连接失败。错误:“connect timed out.........“

配置数据库的步骤出错,检查是否与图片配置一致

参考文章:https://blog.csdn.net/qq_35101267/article/details/109019454

3.3 用户 'username' 登录失败。 ClientConnectionId: 

1. 删除用户名 重新创建

2. 确保配置无误 重新启动SSMS的连接

四、连接成功

看到在终端显示的数据,就证明连接成果咯

  • 19
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要使用Maven连接SQL Server数据库,需要执行以下步骤: 1. 首先,在你的Maven项目中,需要在pom.xml文件中添加相应的依赖项。你可以使用以下代码添加SQL Server的驱动依赖: ```xml <dependencies> <dependency> <groupId>com.microsoft.sqlserver</groupId> <artifactId>mssql-jdbc</artifactId> <version>7.4.1.jre11</version> </dependency> </dependencies> ``` 这将使你能够使用MavenMaven仓库中下载并引入SQL Server数据库驱动。 2. 然后,在你的Java代码中导入所需的包,以便能够使用SQL Server的类和方法。你可以使用以下代码导入所需的包: ```java import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; ``` 3. 接下来,你需要编写连接数据库的代码。你可以使用以下代码来连接到SQL Server数据库: ```java // 设置数据库连接信息 String url = "jdbc:sqlserver://hostname:port;databaseName=database"; String username = "username"; String password = "password"; // 连接数据库 Connection connection = DriverManager.getConnection(url, username, password); // 创建一个Statement对象,用于执行SQL语句 Statement statement = connection.createStatement(); // 执行SQL查询语句 String sql = "SELECT * FROM table_name"; ResultSet resultSet = statement.executeQuery(sql); // 处理查询结果 while (resultSet.next()) { // 从结果集中获取数据 String column1 = resultSet.getString("column1"); int column2 = resultSet.getInt("column2"); // 其他操作 } // 关闭数据库连接 resultSet.close(); statement.close(); connection.close(); ``` 在这段代码中,你需要替换`hostname`、`port`、`database`、`username`和`password`为你的SQL Server数据库的实际信息,`table_name`为你要查询的表名。你还可以根据需要修改查询语句和结果处理部分的代码。 这样,你就可以通过使用Maven连接SQL Server数据库了。记得在使用完数据库连接后及时关闭连接以释放资源。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值