一、环境
以下是我的各种系统环境,大家根据自己的环境适当更改教程中的某些配置项
- Window10
- SQL Server2017
- JDK8
- JDBC for SQL Server下载地址:点击打开链接
二、设置SQL Server的身份验证方式
我在安装SQL Server时直接开启了混合安全验证,可以使用sa登陆。如果你已经开启了SQL Server的混合安全验证可以跳过这一步。如果你只设置了Windows身份验证,可以按以下步骤更改。
开启并连接数据库
右击数据库,打开服务器属性
在安全性中选择混合安全验证
点击确认,在你做出更改后会弹出提示框,继续点击确认
选择安全性-->登录名-->sa,右击sa打开登陆属性
选择常规,更改sa的登陆密码
选择状态,启用登陆名
最后重启数据库即可
三、配置JDBC连接
在开始菜单打开SQL Server配置管理器
选择SQL Server网络配置-->MSSQLSERVER的协议-->TCP/IP,双击打开
找到IP地址为127.0.0.1的一项,设置TCP端口为1433,并开启
找到IPALL项,设置TCP端口为1433,保存
保存后,开启Named Pipes和TCP/IP
四、测试JDBC连接
打开并连接数据库,创建一个测试数据库MyDatabase
将下载的jar包放入JDK安装目录下的lib\ext(我在所有lib\ext目录下都拷贝了一份,不知道有没有必要),打开eclipse创建Demo项目,修改代码
import java.sql.*;
public class SqlDemo {
public static void main(String[] args) {
String JDriver = "com.microsoft.sqlserver.jdbc.SQLServerDriver";//设置SQL Server数据库引擎
String connectDB = "jdbc:sqlserver://127.0.0.1:1433;DatabaseName=MyDatabase";//指定数据库
try {
Class.forName(JDriver);//加载数据库引擎
} catch (ClassNotFoundException e) {
e.printStackTrace();
System.exit(0);
}
try {
String user = "sa";
String password = "***";//登陆密码
Connection con = DriverManager.getConnection(connectDB, user, password);//连接数据库
System.out.println("连接数据库成功");
Statement cmd = con.createStatement();//创建SQL命令对象
//创建表
String create = "create table PERSON("
+ "ID NCHAR(2),"
+ "NAME NCHAR(10)"
+ ")";
cmd.executeUpdate(create);// 执行SQL命令对象
//输入数据
String insert1 = "INSERT INTO PERSON VALUES('1','Jone')";
String insert2 = "INSERT INTO PERSON VALUES('2','Mike')";
String insert3 = "INSERT INTO PERSON VALUES('3','Bob')";
cmd.executeUpdate(insert1);//执行SQL命令对象
cmd.executeUpdate(insert2);
cmd.executeUpdate(insert3);
//读取数据
System.out.println("开始读取数据");
ResultSet rs = cmd.executeQuery("SELECT * "
+ "FROM PERSON");
while (rs.next()) {
System.out.println(rs.getString("ID") + "\t" + rs.getString("NAME"));
}
// 关闭连接
cmd.close();//关闭命令对象连接
con.close();//关闭数据库连接
} catch (SQLException e) {
e.printStackTrace();
System.exit(0);
}
}
}
运行测试代码成功输出数据
打开数据库已经可以看到表成功创建,数据也已经插入