JDBC
jdbc:
java操作数据库,jdbc是oracle公司指定的一套规范(一套接口)
驱动:
jdbc的实现类,由数据库厂商提供
jdbc作用:
1.链接数据库
2.发送sql语句
3.处理结果
操作步骤:
1.数据库和表
2.创建一个项目
3.导入驱动的jar包
4.编码
注册驱动
获取连接
编写sql
创建预编译的语句执行者
设置参数
执行sql
处理结果
释放资源
package com.company.utils; import java.sql.*; public class JdbcUtils { //获取连接 public static Connection getCon() throws Exception { //连接驱动 ctrl+shift+f格式化代码 Class.forName("com.mysql.jdbc.Driver"); //获取连接 Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/day07","root","123456"); return con; } //释放资源 public static void closeResource(Connection con, Statement st,ResultSet rs){ closeCon(con); closeStatement(st); closeResultSet(rs); } /** * 释放连接 * @param con 连接 */ public static void closeCon(Connection con){ if(con!=null){ try { con.close(); } catch (SQLException e) { e.printStackTrace(); } } con = null; } /** * 释放语句执行者 * @param st 语句执行者 */ public static void closeStatement(Statement st){ if(st!=null){ try { st.close(); } catch (SQLException e) { e.printStackTrace(); } } st = null; } /** * 释放结果集 * @param rs 结果集 */ public static void closeResultSet(ResultSet rs){ if(rs!=null){ try { rs.close(); } catch (SQLException e) { e.printStackTrace(); } } rs = null; } }
@Test public void f3(){ Connection con = null; ResultSet rs = null; PreparedStatement st = null; try { //获取连接 con = JdbcUtils.getCon(); //编写sql String sql = "insert into category values(?,?)"; //获取语句执行者 st = con.prepareStatement(sql); //设置参数 st.setString(1,"c005"); st.setString(2,"户外"); //执行sql int i = st.executeUpdate(); if(i!=0){ System.out.println("success"); }else{ System.out.println("fail"); } } catch (Exception e) { e.printStackTrace(); }finally { JdbcUtils.closeResource(con,st,rs); } }
使用junit单元测试:
要求:1.方法是public void xxx(){}
2.在方法上添加 @Test
3.在@Test按下ctrl+1(快速锁定错误)
4.在方法上右键run as -->junit 就可执行方法