Mysql:
驱动程序包:mysql-connector-java-5.1.38.jar
驱动:com.mysql.jdbc.driver
url: jdbc:mysql://localhost:3306/database_name
SQL Server:
驱动程序包:mssql-jdbc-6.2.2.jre8.jar
驱动:com.microsoft.sqlserver.jdbc.SQLServerDriver
url:jdbc:jtds:sqlserver://localhost:1433;database_name=database_name
Oracle:
驱动程序包:ojdbc6-11.2.0.3.jar
驱动:oracle.jdbc.driver.OracleDriver
url:jdbc:oracle:thin:@localhost:1521:database_name
如果出现dependency引入失败,可以手动下载jar包到自己本地的maven仓库再进行引入,本地maven仓库一般在/user/.m2/repository文件夹下
Mysql数据库的示例:
public void mysqlJDBCTest(){
//创建数据库连接对象,预编译的statement对象和结果
Connection connection = null;
PreparedStatement preparedStatement = null;
ResultSet resultSet = null;
try{
//加载数据库驱动
Class.forName("com.mysql.jdbc.Driver");
//配置数据库相关信息:url,用户名,密码
String url = "jdbc:mysql://localhost:3306/xlanime";
String username = "root";
String password = "123456";
//获取数据库连接
connection = DriverManager.getConnection(url,username,password);
//编写sql语句
String sqlStr = "select * from user";
//预编译sql语句
preparedStatement = connection.prepareStatement(sqlStr);
//执行sql语句,并获取返回的结果
resultSet = preparedStatement.executeQuery();
//获取并遍历结果集
while (resultSet.next()){
//获取数据,注意与数据库对应
String u_name = resultSet.getString("username");
int u_age = resultSet.getInt("age");
String u_salary = resultSet.getString("salary");
System.out.println(u_name+u_age+u_salary);
}
}catch(Exception e){
e.printStachTrace();
}}
Orcale数据库连接:
String url = "jdbc:oracle:thin:@192.168.1.11:1521:mesdb";
String user = "TEST";
String password = "TEST";
Connection conn = null;
Statement stmt = null;
ResultSet res = null;
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
conn = DriverManager.getConnection(url, user, password);
stmt = conn.createStatement();
String sql = "";
res = stmt.executeQuery(sql);
while(res.next()){
System.out.println(res.getString("ID"));
}
Statement 和 PreparedStatement之间的关系和区别.
关系:PreparedStatement继承自Statement,都是接口
区别:PreparedStatement可以使用占位符,是预编译的,批处理比Statement效率高
Statement:用于执行静态 SQL 语句并返回它所生成结果的对象