1.JDBC简介
JDBC:Java DataBase Connectivity
1.1JDBC层次结构
JDBC是Java中提供的连接各种不同数据库的通用技术,其主要包括以下功能
a.支持各种不同的SQL语句对数据库进行操作
b.提供了一个应用可以连接多种数据库或者在多种数据库之间切换的可能。这是因为通过JDBC连接之后,所有数据库的操作几乎都是相同的,因此只需要开发一个具体操作数据库的程序而通过JDBC连接不同的数据库
1.2JDBC驱动管理器
JDBC连接数据库需要通过驱动器连接,不同数据库对应不同的驱动器
注意连接不同数据库之前都需要先导入对应jar,使用对应驱动名称
2.连接SQL Server
注意:a.连接SQL Server之前需要先导入jar,不同的Java版本需要使用不同的jar。jar可以在微软官网下载
b.连接之前需要将SQL Server设置成混合登陆,即可以通过SQL Server身份登陆
c.需要配置SQL Server的IP属性。可以先同过cmd窗口键入telnet 127.0.0.1 1433查看,如果显示连接失败需要配置
d.cmd窗口键入telnet 127.0.0.1 1433查看失败原因可能是telnet远程登陆协议没有打开,可以百度查看打开telnet协议
编程步骤:先加载驱动,驱动参数根据数据库管理系统不同而不同。配置url(注意修改DataBase参数)以及登陆账户和密码
具体实例
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class SQLServerConnectTest {
private Connection con = null;
public SQLServerConnectTest(String url, String user, String password) {
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
con = DriverManager.getConnection(url, user, password);
System.out.println("连接成功");
con.close();
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
String url = "jdbc:sqlserver://localhost:1433;DatabaseName=student";//注意修改DatabaseName
String user = "sa";
String password = "123456";
SQLServerConnectTest test = new SQLServerConnectTest(url, user, password);
}
}
问题:如果导入jar不成功将会提示java.lang.ClassNotFoundExceotion,
如果jar版本与本机Java版本不匹配的话将会提示java.lang.NoClassDefFoundError和javax.xml.bind.DatatypeConverter
3.连接MySQL
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class MySQLConnectTest {
private Connection con = null;
public MySQLConnectTest(String url, String user, String password) {
try {
Class.forName("com.mysql.jdbc.Driver");
con = DriverManager.getConnection(url, user, password);
System.out.println("连接成功");
con.close();
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
String url = "jdbc:mysql://localhost:3306/student?useUnicode=true&characterEncoding=utf-8&useSSL=false";//注意url的配置
//String url = "jdbc:mysql://localhost:3306/job?useSSL=false";
String user = "root";
String password = "123456";
MySQLConnectTest test = new MySQLConnectTest(url, user, password);
}
}