本文将以jtds作为驱动包来连接,简单方便!
使用官方的驱动包可能会遇到如下报错:jdbc SQLServer Error: “The server selected protocol version TLS10
详见:https://blog.csdn.net/lxyoucan/article/details/125681677
这让部署变的很麻烦。无意中发现IDEA中可以使用jtds驱动连接sql server数据库,非常的方便。所以我就想尝试一下使用jtds作为驱动来连接sql server。
<!-- https://mvnrepository.com/artifact/net.sourceforge.jtds/jtds -->
<dependency>
<groupId>net.sourceforge.jtds</groupId>
<artifactId>jtds</artifactId>
<version>1.3.1</version>
</dependency>
package sqlserver;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class JTDSSqlServerExample {
// jTDS JDBC驱动和数据库URL
static final String JDBC_DRIVER = "net.sourceforge.jtds.jdbc.Driver";
static final String DB_URL = "jdbc:jtds:sqlserver://127.0.0.1:1434/dbname";
// 数据库的用户名和密码
static final String USER = "sa";
static final String PASS = "password";
public static void main(String[] args) {
Connection conn = null;
PreparedStatement stmt = null;
try {
// 注册JDBC驱动
Class.forName(JDBC_DRIVER);
// 打开一个连接
System.out.println("Connecting to database...");
conn = DriverManager.getConnection(DB_URL, USER, PASS);
// 执行查询
String sql = "select * from lx_teacher where realname like '%刘%'";
stmt = conn.prepareStatement(sql);
ResultSet rs = stmt.executeQuery();
// 处理结果集
while (rs.next()) {
String name = rs.getString("realname");
// 在这里处理结果,例如打印到控制台
System.out.println(" Name: " + name );
}
// 关闭资源
rs.close();
stmt.close();
conn.close();
} catch (SQLException se) {
// 处理JDBC错误
se.printStackTrace();
} catch (Exception e) {
// 处理Class.forName错误
e.printStackTrace();
} finally {
// 关闭资源
try {
if (stmt != null) stmt.close();
} catch (SQLException se2) {
// 什么也不做
}
try {
if (conn != null) conn.close();
} catch (SQLException se) {
se.printStackTrace();
}
}
System.out.println("Goodbye!");
}
}