因为课程设计需要使用Java连接SQL Server2019,Java我最常用的开发工具是eclispe,因此本帖以eclispe连接数据库为例
本帖是分享在已经安装并配置好eclispe和SQL Server2019的情况下连接eclispe和SQL Server2019,因此我就直接跳过教大家如何安装eclispe和SQL Server2019的步骤哦
-正片开始-
第一步:设置SQL Server的状态(有些人默认就是开启的有些不是,如是开启的可跳过这一步)
点开SSMS,并且确保是用SQL Server身份验证登录的
在安全名-登录名下找到sa
之后选中sa,右键选择属性
在状态里查看:
是否允许连接到数据库引擎-授予
登录名-启用
然后返回最开始的页面新建数据库-建表(假设我在此处建了一个名叫school的数据库并建了一个叫student的表,该表有sno,sname,sex这三个属性,并且我们在该表上再随便添加几个对象)
然后就可以关闭SSMS了,本次连接将不会再用到SSMS了。
第二步:端口配置
在开始菜单中找到SQL Server 2019 点开下面有一个SQL Server2019配置管理器(有的在下面的配置工具文件夹里) 如图
点开SQL Server2019配置管理器
SQL Server网络配置-MSSQLSERVER的协议-把所有协议的状态都设置成已启用(有几个设置几个)
之后选中TCP/IP,右键属性
点进去后,点IP地址,把IP1和IP10的【IP地址】设为127.0.0.1,【TCP端口】设为1433,并将所有IP地址的【活动】和【已启用】设置为【是】,接着拉到最下面将【IPALL】的【TCP端口】设为1433,其余不变,之后确定
做到这里就可以关闭SQL Server2019配置管理器了。
回到桌面
打开控制面板 -> 程序和功能 -> 启用或关闭Windows功能 ->勾选Telnet客户端 (也可以直接在开始那里搜索启用或关闭Windows功能)
之后确定
然后返回桌面,打开cmd(Windows窗口键+R) ,打开后输入telnet 127.0.0.1 1433回车,如果出现以下页面表示1433端口打开成功
关闭再次回到桌面
第三步:下载JDBC驱动包并配置环境
首先,先下载JDBC驱动包
点此处转到官网下载
选择第二个下载
下载好了之后打开
是一个叫sqljdbc_9.4的文件夹,点开
这里有三个不同版本的mssql-jdbc-x.x.x.jrex
然后,重点来了,非常重要的一点:
在当初下载jdk时的路径下查看自己的jre版本,或者用cmd命令查看,也可以直接在eclispe的窗口-首选项-JAVA-编译器中查看。
例如我的是jre 1.8(大多数教学过程中用的都是jre1.8),因此我对应的就下载JRE8版本。
-通过cmd命令查看jre版本和路径方法-
windows窗口键+R 输入cmd打开后,键入以下命令符
查看版本:java -version
查看路径:java -verbose
如图
找到自己jre的版本后在下载对应的jre,一定要下载对应的版本,要不然会失败,如果知道自己jre的版本还是不知道下载那个,可以到官网去查看。
选择好后将对应的jre复制下来,粘贴到之前下载jdk时的文件夹下的lib包里。(如果太久了不记得jre的路径了,就用我上面说的方法在cmd里查找)
例如我的jre1.8对应jre8,然后我粘贴mssql-jdbc-9.4.1.jre8到之前下载jdk时的文件夹下的lib包里。如图
然后就可以关掉资源管理器了,这一步也完成啦,哈哈哈。
之后打开eclispe,随便建一个java项目,然后建一个包,再建一个类(这里我就不详细说了,相信大家都会)
在新建的Java项目里选中src,右键,选择构建路径,在选择配置构建路径
之后点击库,点击添加外部jar,然后找到安装jdk的文件夹,找到我们刚刚粘贴进去的mssql-jdbc-x.x.x.jrex(例如我的mssql-jdbc-9.4.1.jre8),添加进去之后如图所示
之后点确定,然后我们配置环境的工作就完成啦
第四步:使用代码测试
最后我们通过代码来看看我们有没有连接成功
package url;
import java.sql.*;
public class test {
public static void main(String [] args)
{
String driverName="com.microsoft.sqlserver.jdbc.SQLServerDriver";
String dbURL="jdbc:sqlserver://localhost:1433;DatabaseName=school"; // school为数据库名,此处填写你的数据库名
String userName="sa"; // 填写你的登录账户名名,我的是sa
String userPwd="666666"; // 填写你的密码
try
{
Class.forName(driverName);
Connection dbConn=DriverManager.getConnection(dbURL,userName,userPwd);
System.out.println("连接数据库成功");
}
catch(Exception e)
{
e.printStackTrace();
System.out.print("连接失败");
}
}
}
大家可以直接复制我上面的代码然后修改数据库名,登录账户名,密码,包名和类名进行测试
运行之后
如果出现
即为连接成功了
也可以使用下面的代码,测试是否连接成功同时访问数据库里表中的数据
比如访问我刚刚建的student表中的数据
package url;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class test {
public static void main(String[] args) {
try {
//加载数据驱动
Class.forName ("com.microsoft.sqlserver.jdbc.SQLServerDriver");
Connection con=DriverManager.getConnection("jdbc:sqlserver://localhost:1433;DatabaseName=school","sa","666666");//库名,用户名,密码
System.out.println("连接成功");
Statement stmt = con.createStatement();// 创建SQL命令对象
ResultSet rs = stmt.executeQuery("SELECT * FROM student");// 返回SQL语句查询结果集(集合) 表名
// 循环输出每一条记录
while (rs.next()) {
// 输出每个字段
System.out.println(rs.getString("sno") + "\t" + rs.getString("sname")+rs.getString("sex"));
}
System.out.println("读取完毕");
// 关闭连接
stmt.close();// 关闭命令对象连接
con.close();// 关闭数据库连接
} catch (ClassNotFoundException e) {
System.out.println("驱动找不到");
e.printStackTrace();
}catch (SQLException e) {
System.out.println("数据库连接不成功");
e.printStackTrace();
}
}
}
到这里就全部结束啦,祝大家学习越来越进步哦,有不懂的问题可以私信或者评论区找我,我会尽自己所能帮助大家的。笔芯~
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)