JDBC(Java Database Connection)数据库连接,主要用来操作数据库,执行SQL语句的。在JAVA中操作有如下几步(实现代码汇总在文章底部):
一、添加驱动jar包
1.1 在项目名称下创建一个名称为lib的文件夹。(项目名称-->右键-->new-->directory)
1.2在弹出的对话框中输入lib(切忌取别的名称)
1.3将下载好的驱动包复制到刚建好的lib文件夹中,弹出如下对话框,点击OK
1.4效果如图 在lib文件夹上右击-->Add as Library...
1.5 弹出如下对话框-->点击OK;lib中文件可展开说明添加成功
至此准备工作已完成
二、加载驱动(创建一个项目,写入main方法 利用反射的方式加载驱动)
有异常抛出即可
Class.forName("com.mysql.jdbc.Driver");
三、建立连接
利用DriverManager类的getConnection()方法建立与数据库的连接,getConnection(String url,String username,String password)需要三个字符串类型的参数。username 为MySQL数据库的用户名,password为密码。
String url="jdbc:mysql://localhost:3306/homework03?useSSL=false";
String username="root";
String password="root";
Connection con = DriverManager.getConnection(url,username,password);
四、准备SQL语句
此处以查询为例,将SQL语句定义为字符串
String sql = "select * from student";
五、获取操作数据库的preparestatment对象,并利用preraerStatement对象的executeQuery()方法查询数据,最后打印查询到的数据
pstat = con.prepareStatement(sql);
rs = pstat.executeQuery();
while (rs.next()) {
Object id = rs.getObject("id");
Object name = rs.getObject("name");
Object department = rs.getObject("department" );
System.out.println(id+"=="+name+"=="+department);
}
六、关闭资源
rs.close();
pstat.close();
con.close();
七、查询结果
901==大宝==计算机系
902==二宝==中文系
903==三宝==中文系
904==四宝 ==外语系
905==五宝==外语系
906==六宝==计算机系
代码汇总:(为了保证能够关闭资源,我们把代码用try...cathc...finally分开将close方法全部放到finnaly中,相应的变量声明提升到try语句外面)
public class HomeWork01JDBCTest {
public static void main(String[] args) {
Connection con = null;
PreparedStatement pstat = null;
ResultSet rs = null;
try {
Class.forName("com.mysql.jdbc.Driver");
String url = "jdbc:mysql://localhost:3306/homework03?useSSL=false";
String username = "root";
String password = "130061";
con = DriverManager.getConnection(url, username, password);
String sql = "select * from student";
pstat = con.prepareStatement(sql);
rs = pstat.executeQuery();
while (rs.next()) {
Object id = rs.getObject("id");
Object name = rs.getObject("name");
Object department = rs.getObject("department");
System.out.println(id + "==" + name + "==" + department);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
rs.close();
} catch (SQLException throwables) {
throwables.printStackTrace();
}
try {
pstat.close();
} catch (SQLException throwables) {
throwables.printStackTrace();
}
try {
con.close();
} catch (SQLException throwables) {
throwables.printStackTrace();
}
}
}
}