最近在完成java期末项目的时候,我们组选择建立一个类似QQ的聊天室(山寨QQ),本来我们想使用SQL数据库来进行登录密码的验证,本来以为是个小问题,没想到折腾了一天。下面我来说一下我遇到的问题,以及解决方法。(三连支持一下)
一,SQL数据库的设置
首先我们需要下载SQL server,具体可以找教程安装。
我推荐两个博主的链接:关于SQL server的设置
设置好之后,我们就可以进行连接,以IDEA为例。
二,连接数据库
打开我们的IDEA,然后先建一个java项目(默认的就行)
然后点击最右边的(一沓硬币)的按钮,圈的有点歪
然后点击“+”新建,点击数据源,选择Microsoft SQL server
然后出来一个窗口,我们只需要填写打对号√的就可以了,用户和密码是SQL的用户和密码,端口是1433
数据库是SQL中你新建的数据库,比如我建立的password,qixin,teaching
第一次使用需要你下载驱动程序,我们使用的是版本号8.2.2的(网上说这个版本比较实用)
出现这个页面就代表成功了,哈哈
三,下载驱动sqljbdc4.jar
!!!
之后,最重要的来了!!!
我们需要下载SQL Server的JDBC驱动(通常是一个.jar
文件)来导入进IDEA中,我选择的是sqljbdc4.jar.
下载在这里:(不是我的网盘)
https://pan.baidu.com/s/1oAsV6yu 密码:4a5m
下载完成后,按照常理,我们应该导入到C:\Program Files\Java\jdk-20\lib\ext里面
但是!!!
从JDK 9开始,传统的jre/lib/ext目录被移除。这意味着以往通过将此目录下的JAR包作为扩展机制来自动加载类库的方式不再适用。
同时,JDK 9也对rt.jar和tools.jar进行了整合,大部分内容被放置在lib目录下的jrt-fs.jar中。
怎么办呢?
手动添加jar包!
首先在项目下面新建一个目录,取名为“lib”,然后把sqljbdc4.jar放进这个目录里
然后点击左上角图标旁边的“亖”按钮,点击文件---项目结构,然后找到模块,点击依赖。
点击“+”新建,然后点击“JAR或目录”,然后在文件夹中找到你建立的项目中的lib文件,找到sqljbdc4.jar,最后点击确定就可以了。
四,验证连接
在main主函数中粘贴以下代码,注意类名记得修改成你自己的。
代码中加蓝色需要修改成自己的:
String dbURL="jdbc:sqlserver://localhost:1433;database=password";
//password就是自己数据库的名称。
String userName="sa";
//sa就是自己SQL用户名。
String userPwd="123456";
//这个就是SQL的密码
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
public class Main {
public static void main(String[] args){
String driverName="com.microsoft.sqlserver.jdbc.SQLServerDriver";
String dbURL="jdbc:sqlserver://localhost:1433;database=password";
String userName="sa";
String userPwd="123456";
Connection ct = null;
PreparedStatement ps = null;
ResultSet rs = null;
String user_name,password = null,ugetpassword=null;
try
{
Class.forName(driverName);
System.out.println("加载驱动成功!");
}catch(Exception e){
e.printStackTrace();
System.out.println("加载驱动失败!");
}
try{
Connection dbConn= DriverManager.getConnection(dbURL,userName,userPwd);
ct=DriverManager.getConnection(dbURL, userName, userPwd);
System.out.println("连接数据库成功!");
}catch(Exception e)
{
e.printStackTrace();
System.out.print("SQL Server连接失败!");
}
}
}
最后如果运行结果是这样的,就说明你成功了!
之后,你就可以根据自己的需要,随时调用和修改数据库中的数据。
完结!!!