在idea中实现数据库的连接
目录
一、加载并注册数据库驱动程序
二、通过DriverManager获取数据库连接
三、通过Connection对象获取Statement对象
四、使用Statement执行SQL语句
五、操作结果集
六、关闭连接并释放资源
具体操作:
1、搭建数据库环境(百度网盘数据库5.7版本链接:https://pan.baidu.com/s/1oaGYqzgjy5wIJXEVaqruAA?pwd=gx5q
提取码:gx5q。其他版本可以去oracle官网下载。)
在MySQL中创建名称为jdbc的数据库,然后在jdbc数据库中创建users表,创建数据库和表的SQL语句如下(注:一个分号为一条语句,所有的标点符号都要用英文格式,否则会报错)
jdbc数据库和users表创建成功后,再向users表中插入3条数据,SQL语句如下
使用select语句查看users表中的数据
2、创建环境变量
(1)在idea中新建项目
(2)右键New->Directory,命名为lib
(3)File->Project Structure->Modules->Dependencies,点击+号,选择JARs or directories,选择mysql-connector的安装路径。
(mysql-connector百度网盘提取链接:https://pan.baidu.com/s/1ACl7-GslKhnxIHhcNugi8g?pwd=86ej
提取码:86ej)
(4)将mysql-connector-java-8.0.25添加到依赖之后,点击apply,再单击OK。加入数据库驱动程序后的项目结构如下
三、编写jdbc程序
在新建的DataBaseConetion的src目录下新建一个com.itheima.jdbc.example的包(package),在该包中创建Example01类,该类用于读取数据库中的users类,并将结果输出到控制台。
源码如下:
package com.itheima.jdbc.example; import java.sql.*; public class Example01 { public static void main(String[] args) throws Exception{ Statement stmt=null; ResultSet rs=null; Connection conn=null; try{ //1.注册数据库的驱动程序 Class.forName("com.mysql.jdbc.Driver");//MYSQL 6.0.2版本之后的为Class.forName("com.mysql.cj.jdbc.Driver"); //2.通过DriverManager获取数据库连接 String ur1="jdbc:mysql://localhost:3306/jdbc"+"?serverTimezone=GMT%2B8&UseSSL=false"; String username="root"; //数据库用户名 String password="******"; //数据库密码 conn=DriverManager.getConnection(ur1,username,password); //3.通过Connection对象获取Statement对象 stmt=conn.createStatement(); //4.使用Statement执行SQL语句 String sql="select * from users"; rs= stmt.executeQuery(sql); //5.操作结果数 System.out.println("id | name | password"+"| email | birthday"); while(rs.next()){ int id=rs.getInt("id");//通过列名获取指定列的值 String name=rs.getNString("name"); String psw= rs.getNString("password"); String email= rs.getNString("email"); Date birthday=rs.getDate("birthday"); System.out.println(id+" |"+name+" | "+psw+" | "+email+" | " +birthday); } } catch (ClassNotFoundException e) { throw new RuntimeException(e); } finally { //6.回收数据库资源 if(rs!=null){ try{ rs.close(); }catch (SQLException e){ e.printStackTrace(); } stmt=null; } if(conn!=null){ try{ conn.close(); }catch (SQLException e){ e.printStackTrace(); } conn=null; } } } }