本次任务是带领大家认识一下JDBC技术,同时也是作为自己的一个复习内容,在学习该项技术之前希望大家能有一定的MySQL数据库基础与充分JavaSE的知识(我已经将大体所有的JavaSE知识整理好了,过段时间进行再给每一个模块做一个思维导图),OK 万事俱备那就开始干!
提示:以下是本篇文章正文内容,下面案例可供参考
说起JDBC技术呢,没有太大的难度,我们今天的任务重点是掌握这项技术的基本运行原理(我们以MySQL作为实验对象,别问为啥,问就是“简单”二字),所谓JDBC 技术咱们通俗简单理解成利用java语言来操作数据的一项技术,那么如何操作呢?当然是使用接口呗,由于数据库想要和java语言进行联动,那么MySQL就需要去实现这些接口把接口的实现类打成jar包,作为数据库驱动。
在JDBC技术中我们要想实现对数据库的操作,那么我们就必须先了解到JDBC中的四大接口(四大金刚),它们贯穿了整个操作流程,其详细介绍如下:
接口 | 说明 |
---|---|
DriverManger | 数据库驱动,用于注册驱动 |
Connection | 与数据库的创建连接对象时使用 |
Statement | 操作数据库sql语句对象 |
ResultSet | sql语句执行后返回的结果(用于查询结果时使用) |
具体流程我就不给大家说明了,相信使用了这么久的工具创建一个项目还是会的吧
注意别放错了位置,是在项目根目录下创建的文件lib并存放jar包
流程: new–> Project Structure -->Modules–点击 “+”号–>选择JARs or Directories–>根据路径找到 该项目下的lib文件中点击 存放在里面的 驱动jar包
package com.yzy.jdbcTest;
import org.junit.Test;
import java.math.BigDecimal;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class Test01 {
@Test
public void test01() throws Exception{
//利用JDBC增加数据
//1、加载驱动(导入驱动包)
Class.forName("com.mysql.jdbc.Driver");
//2、获取连接对象
String url="jdbc:mysql://localhost:3306/java2107?useUnicode=true&characterEncoding=utf-8";
String username="root";
String password="123456";
Connection connection= DriverManager.getConnection(url,username,password);
//3、创建获取Statement对象(目的:向Mysql发送sql指令)
Statement statement=connection.createStatement();
//利用Statement向MySQL发送sql指令
String sql="INSERT INTO student(name,sex,age,salary,course) VALUES('卿恒','男',20,1200,'市场营销')";
int num =statement.executeUpdate(sql);
System.out.println("受影响的行数为:"+num);
//关闭资源(关闭顺序是创建顺序的倒序)
statement.close();
connection.close();
}
@Test
public void test02() throws Exception{
//利用JDBC删除数据
//1、加载驱动
Class.forName("com.mysql.jdbc.Driver");
//2、利用注册驱动器DriverManager获取连接对象Connection
String url="jdbc:mysql://localhost:3306/java2107?useUnicode=true&characterEncoding=utf-8";
String username="root";
String password="123456";
Connection connection=DriverManager.getConnection(url,username,password);
//3、利用Connection连接对象获取Statement的对象
Statement statement=connection.createStatement();
//4、创建并执行sql语句
String sql="DELETE FROM student where name ='钟佳'";
int num=statement.executeUpdate(sql);
System.out.println("执行删除操作成功,受影响的行数为:"+num);
//5、关闭资源
statement.close();
connection.close();
}
@Test
public void test03()throws Exception{
//利用JDBC修改数据
//1、加载驱动
Class.forName("com.mysql.jdbc.Driver");
//2、创建连接对象
//"jdbc:mysql://localhost:3306/java2107?useUnicode=true&characterEncoding=utf-8";
String url="jdbc:mysql://localhost:3306/java2107?userUnicode=true&characterEncoding=utf-8";
String username="root";
String password="123456";
Connection connection=DriverManager.getConnection(url,username,password);
//3、通过 Connection 对象创建并获取 Statement 对象
Statement statement=connection.createStatement();
//4、利用Statement对象执行sql语句
String sql="UPDATE student SET name ='张云峰' where name ='卿恒'";
int num=statement.executeUpdate(sql);
System.out.println("执行成功!受影响的行数为:"+num);
//5、关闭资源
statement.close();
connection.close();
}
//重点在次
@Test
public void test04()throws Exception{
//利用JDBC查询数据
//利用JDBC修改数据
//1、加载驱动
Class.forName("com.mysql.jdbc.Driver");
//2、创建连接对象
//"jdbc:mysql://localhost:3306/java2107?useUnicode=true&characterEncoding=utf-8";
String url="jdbc:mysql://localhost:3306/java2107?userUnicode=true&characterEncoding=utf-8";
String username="root";
String password="123456";
Connection connection=DriverManager.getConnection(url,username,password);
//3、通过 Connection 对象创建并获取 Statement 对象
Statement statement=connection.createStatement();
//4、利用Statement对象获取ResultSet的对象结果集并遍历执行sql语句
String sql="select * from student";
statement.executeQuery(sql);
//获取ResultSet结果集
ResultSet resultSet=statement.getResultSet();
//遍历结果集
while (resultSet.next()){//判断是否有可迭代对象的数据行
//通过对照着数据库的字段名获取对应的数据
int id=resultSet.getInt("id");
String name=resultSet.getString("name");
String sex=resultSet.getString("sex");
int age=resultSet.getInt("age");
BigDecimal salary=resultSet.getBigDecimal("salary");
String course=resultSet.getString("course");
System.out.println(id+"--"+name+"--"+sex+"--"+age+"--"+salary);
}
//关闭资源
resultSet.close();
statement.close();
connection.close();
}
}
1、记住 在进行数据库连接操作的时候一些基本操作问题不要搞错了
>数据库的增删改查中 就只有 查 这一个功能比较特殊,需要返回数据,所以需要用到ResultSet,其余的几个功能没什么太大区别,如果数据库没什么问题,那么结果就不会有问题,今天的分享到此结束
本次输入JDBC的入门基础,后期当我们使用Maven的时候将会大大提高我们的开发效率。