新手在刚刚接触java连接数据库的时候很多都会有点蒙,毕竟刚刚涉及到java连接外部的资源,不像之前学习java的时候只是一些思维逻辑的问题了。下面我就从讲解下最基础的java连接数据库。
java连接数据库一般分为几个步骤,这几个步骤在不少面试的时候面试官也会问:
1.加载数据库驱动,不同的数据库有不同的数据库驱动(如果用maven的话,注意sql server的数据库驱动jdbc4j在maven中央仓库里没有,需要手动添加到库中);
2.建立连接,通过连接数据库的url,userName和password来建立java到数据库的连接
3.创建statement对象来执行sql语句
4.创建ResultSet对象来保存查询得到的结果集(如果sql语句为查询语句的话)
5.关闭连接(关闭的额时候要注意先后顺序)
举个例子:java连接数据库就像两座岛之间建立贸易往来一样
1,加载数据库驱动就好比先要在两座岛之间建立桥梁;
2,建立连接就像获取通过这座桥的来往通行证,有正确的通行证才能通过桥
3,创建statement对象来执行sql语句就如买一个汽车,有汽车了才能开车过桥,车里装着sql语句
4,然后汽车载着sql语句到对面的岛上换来了执行结果,然后创建ResultSet对象来装执行结果
5,一次交易后拆掉这座桥,(关闭连接)
到此,一次连接数据库执行sql语句并返回结果结束。
代码:
import java.sql.Connection;import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class JDBC {static Connection connection;
static Statement statement;
static ResultSet rs;
public static void main(String[] args) {
String driverName="com.microsoft.sqlserver.jdbc.SQLServerDriver";//驱动
String url = "jdbc:sqlserver://127.0.0.1:1433;DatabaseName=OAecology";//连接的url
String user = "sa";//数据库用户名
String password = "*****";//数据库密码
String sql = "SELECT * from HrmResource";
try {
Class.forName(driverName);//加载驱动
connection = DriverManager.getConnection(url, user, password);//建立连接
statement = connection.createStatement();//创建statement对象
rs = statement.executeQuery(sql);//执行sql语句返回的值赋值到ResultSet中
while(rs.next()){
System.out.println(rs.getString(4));//打印出查询结果的第5个字段的值
}
} catch (SQLException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}finally{//无论是否有异常都关闭
try {
if(rs!=null){
rs.close();
}
if(statement!=null){
statement.close();
}
if(connection!=null){
connection.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
虽然现在很多时候都把这部分配置到框架中了,但我觉得底层的东西还是要掌握的,先了解底层的东西,今后配置框架的时候才能理解底层机制。学起来才能游刃有余。