目录

1.什么是JDBC编程?

2.MySQL驱动包安装

2.1.mysql驱动包

2.2.驱动包及其下载

2.3安装具体流程

3.引入依赖

3.1.创建项目

3.2.导入依赖

1)随便创建一个目录test

2)复制刚刚的jar包

3)加入库add as library

4)完成!!!

4.JDBC代码的的基本流程(编写)

1)创建Datasource 对象,这个对象描述了数据库服务器在哪

2)详细描述数据库服务器在哪

3)数据库的连接

4)用户的输入

5)拼装sql语句(此处演示delete)

6)讲过sql包装成一个语句对象

7)执行sql

8)资源的释放

5.JDBC的增删改

5.1insert 插入

5.2.delete删除

6.JDBC的select

7.总结


1.什么是JDBC编程?

JDBC是指 Java数据库的连接,是一种标准Java应用编程接口(JAVA API),用来连接Java编程语言和广泛的数据库

2.MySQL驱动包安装

2.1.mysql驱动包

JDBC编程需要用到mysql的驱动包(驱动包就是把mysql自身的api个转换成JDBC风格的)

2.2.驱动包及其下载

驱动包是由各个数据库官方提供的,本文用的的mysql驱动包

2.3安装具体流程

我们采取的是从maven中央仓库下载Maven Repository: Search/Browse/Explore (mvnrepository.com)

下载完之后就会有一个 jar 包 ,这个就和电脑上的zip压缩文件一样

到这一步mysql的驱动包就已经完成了!!!

3.引入依赖

3.1.创建项目

这个就不用我多说了吧,就是正常的project

3.2.导入依赖

1)随便创建一个目录test

2)复制刚刚的jar包

3)加入库add as library

4)完成!!!


4.JDBC代码的的基本流程(编写)

1)创建Datasource 对象,这个对象描述了数据库服务器在哪

DataSource dataSource = new MysqlDataSource();

2)详细描述数据库服务器在哪

        //设置数据库所在的地址((MysqlDataSource)dataSource).setURL("jdbc:mysql://127.0.0.1:3306/test?characterEncoding=utf8&useSSL=false"); // 向下转型//设置登录数据库的用户名((MysqlDataSource)dataSource).setUser("root");//设置登录数据库的密码((MysqlDataSource)dataSource).setPassword("wangbin");

详细了解MySQLURL!!!

MySQLURL:jdbc:mysql://127.0.0.1:3306/test?characterEncoding=utf8&useSSL=false

1.  jdbc:mysql:固定写法

2. 127.0.0.1:mysql服务器所在的主机ip,127.0.0.1是一个特殊的写法,表示 环回ip

3. 3306:端口号,表示mysql服务器的位置

4. characterEncoding=utf8:表示字符集为utf8形式

5.uesSSL = false表示不需要加密,true就表示加密,由于电脑并没有什么贵重的资源,也就不需要进行加密

3)数据库的连接

Connection connection =  dataSource.getConnection();
//数据库的连接

4)用户的输入

Scanner scanner = new Scanner(System.in);
System.out.println("请输入id");
int id = scanner.nextInt();
//System.out.println("请输入name");
//String name = scanner.next();

5)拼装sql语句(此处演示delete)

String sql = "delete from student where id = ?";

6)讲过sql包装成一个语句对象

PreparedStatement statement = connection.prepareStatement(sql);
statement.setInt(1,id);//替换上述索引
System.out.println(statement);//相当于一个日志

7)执行sql

int ret = statement.executeUpdate();
System.out.println(ret);

8)资源的释放

statement.close();
connection.close();

资源的释放类似于栈的原理,后使用的资源先释放,先使用的资源后释放

资源的释放可以将占用的资源释放回去,供其他人使用

以上八个操作基本 就已经写完一个基本的JDBC编程!!!下面让我来看完整的代码


5.JDBC的增删改

5.1insert 插入

import com.mysql.jdbc.jdbc2.optional.MysqlDataSource;import javax.sql.DataSource;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.Scanner;//用户的输入 id name
public class TestJDBC {public static void main(String[] args) throws SQLException {//创建好数据源DataSource dataSource = new MysqlDataSource();//设置数据库所在的地址((MysqlDataSource)dataSource).setURL("jdbc:mysql://127.0.0.1:3306/test?characterEncoding=utf8&useSSL=false"); // 向下转型//设置登录数据库的用户名((MysqlDataSource)dataSource).setUser("root");//设置登录数据库的密码((MysqlDataSource)dataSource).setPassword("wangbin");// 2.创建连接Connection connection =  dataSource.getConnection();//用户的输入Scanner scanner = new Scanner(System.in);// 拼装sql语句String sql = "insert into student values(?,?),(?,?),(?,?)";//将SQL包装成一个语句对象PreparedStatement statement = connection.prepareStatement(sql);//进行替换操作int j = 1;for (int a = 0; a < 3; a++) {System.out.println("请输入id");int id = scanner.nextInt();System.out.println("请输入name");String name = scanner.next();statement.setInt( j++, id);statement.setString(j++, name);}System.out.println("statement " + statement); // 简单的日志//执行sqlint ret = statement.executeUpdate();System.out.println(ret);//释放资源statement.close();connection.close();}
}

5.2.delete删除

import com.mysql.jdbc.jdbc2.optional.MysqlDataSource;import javax.sql.DataSource;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.Scanner;//删除id为1的学生
public class TestJDBCdelete {public static void main(String[] args) throws SQLException {DataSource dataSource = new MysqlDataSource();((MysqlDataSource)dataSource).setURL("jdbc:mysql://127.0.0.1:3306/test?characterEncoding=utf8&useSSL=false");((MysqlDataSource)dataSource).setUser("root");((MysqlDataSource)dataSource).setPassword("wangbin");Connection connection = dataSource.getConnection();Scanner scanner = new Scanner(System.in);System.out.println("请输入id");int id = scanner.nextInt();String sql = "delete from student where id = ?";PreparedStatement statement = connection.prepareStatement(sql);statement.setInt(1,id);System.out.println(statement);int ret = statement.executeUpdate();System.out.println(ret);statement.close();connection.close();}
}

5.3.update修改

import com.mysql.jdbc.jdbc2.optional.MysqlDataSource;import javax.sql.DataSource;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.Scanner;//根据id修改学生姓名
public class TeatJDBCupdate {public static void main(String[] args) throws SQLException {DataSource dataSource =new MysqlDataSource();((MysqlDataSource)dataSource).setURL("jdbc:mysql://127.0.0.1:3306/test?characterEncoding=utf8&useSSL=false");((MysqlDataSource)dataSource).setUser("root");((MysqlDataSource)dataSource).setPassword("wangbin");Connection connection = dataSource.getConnection();Scanner scanner = new Scanner(System.in);System.out.println("请输入学生id");int id = scanner.nextInt();System.out.println("请输入学生姓名");String name = scanner.next();String sql = "update student set name = ? where id = ?";PreparedStatement statement = connection.prepareStatement(sql);//表示一个语句statement.setInt(2,id);statement.setString(1,name);System.out.println("statement " + statement); //简单的日志int ret = statement.executeUpdate();System.out.println(ret);statement.close();connection.close();}
}

6.JDBC的select

select稍微和增删改有点不同

import com.mysql.jdbc.jdbc2.optional.MysqlDataSource;import javax.sql.DataSource;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;public class TestJDBCSelect {public static void main(String[] args) throws SQLException {//创建数据源DataSource dataSource = new MysqlDataSource();((MysqlDataSource)dataSource).setURL("jdbc:mysql://127.0.0.1:3306/test?characterEncoding=utf8&useSSL=false");((MysqlDataSource)dataSource).setUser("root");((MysqlDataSource)dataSource).setPassword("wangbin");//建立连接Connection connection = dataSource.getConnection();//拼装SQLString sql = "select * from student";PreparedStatement statement = connection.prepareStatement(sql);//执行SQLResultSet resultSet = statement.executeQuery();//遍历结果结合,类似迭代器//next 方法获取到一行记录,同时吧光标向后移动一行while(resultSet.next()){//针对当前这一行获取到每一列的信息int id = resultSet.getInt("id");String name = resultSet.getString("name");System.out.println(id + name);}resultSet.close();statement.close();connection.close();}
}

select操作需要用到resultSet.next()这个方法,类似于迭代器,获取到每一行的信息,资源的释放也是增加了一个

7.总结

对于初学者来说JDBC可能会比较的抽象,但是写了几遍后就会知道基本是一个模板,熟能生巧,加油

【MySQL数据库】----保姆级MySQL驱动包安装+JDBC编程相关推荐

  1. 引入MySQL驱动包进行JDBC编程

    文章目录 1.什么是JDBC 2.创建JDBC项目的步骤-MySQL版本 1.什么是JDBC 每个数据库都会提供一组API来支持程序员实现自己客户端,自己根据需求来完成一些具体的增删查改的功能.但数据 ...

  2. linux 自动安装mysql数据库_linux系统下源码安装mysql5.6数据库

    linux系统下源码安装mysql5.6数据库 下载mysql数据库相关软件包(百度云盘:http://pan.baidu.com/s/1bnL31c7) 从mysql 5.5版本开始,mysql源码 ...

  3. mysql与数据处理,[转载]Mysql数据库千万级数据处理优化

    转载:http://blog.sina.com.cn/s/blog_6dcd17320100tm6o.html 1. 对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by ...

  4. 4. MySQL数据库管理系统(MySQL的下载安装、配置、补丁 一站式)

    文章目录 MySQL数据库管理系统 1. MySQL下载 2. MySQL安装 3. 创建配置文件 4. 初始化 5. 启动MySQL 6. 使用MySQL 7. MySQL测试 MySQL数据库管理 ...

  5. asp 更新 mysql数据库_asp update mysql数据库

    数据库必知词汇:数据操纵语言DML |名词定义|数据操纵语言(Data Manipulation Language, DML)是SQL语言的四大主要分类之一,用户通过它可以实现对数据库数据的基本操作. ...

  6. mysql 重装,Windows系统中完全卸载MySQL数据库实现重装mysql

    一.在控制面板,卸载MySQL的所有组件 控制面板-->所有控制面板项-->程序和功能,卸载所有和MySQL有关的程序 二.找到你的MysQL安装路径,看还有没有和MySQL有关的文件夹, ...

  7. 任意电脑登录MySQL_使用批处理命令注册运行mysql数据库,无需注册mysql服务,可以在任意电脑登录使用...

    使用批处理命令初始化和开启mysql服务,移植数据库之后可以直接运行访问,对于学习数据库的人来说特别的方便哦. 我们可以从mysql官网下载官方社区版本的mysql: 这里使用之前下载的8.0.15来 ...

  8. linux怎么把mysql数据库备份还原,MySQL数据库备份和还原

    MySQL数据库备份和还原 打开cmd命令行,一定不是mysql的命令行,我第一次就错在这个地方,郁闷了很久 备份MySQL数据库的命令 mysqldump -hhostname -uusername ...

  9. c 连接mysql数据库_C++连接mysql数据库的两种方法

    现在正做一个接口,通过不同的连接字符串操作不同的数据库.要用到mysql数据库,以前没用过这个数据库,用access和sql server比较多.通过网上的一些资料和自己的摸索,大致清楚了C++连接m ...

  10. cad与连接mySQL数据库_C++连接mysql数据库的两种方法

    现在正做一个接口,通过不同的连接字符串操作不同的数据库.要用到mysql数据库,以前没用过这个数据库,用access和sql server比较多.通过网上的一些资料和自己的摸索,大致清楚了C++连接m ...

最新文章

  1. WordPress更新时提示无法连接到FTP服务器的解决方案
  2. 计算机网络技术实训应用层,计算机网络技术
  3. [OS复习]设备管理2
  4. 线程同步之 生产者消费者模型详解
  5. 【CLR】解析AppDomain
  6. 猜数游戏软件的设计开发系统测试参考
  7. 想成为测试工程师,这7件事你必须先知道
  8. 58 页 PPT 揭示图神经网络研究最新进展
  9. python nodemcu_python开发nodemcu2(跑马灯实验)
  10. 淘宝首页原生js练习(基础练习的基础中的基础)
  11. NJ68 键盘说明书
  12. 安卓玩机搞机之卡刷包 线刷包与刷机中一些故障解决与问题分析
  13. SpringBoot日志
  14. 如何在Linux系统上装jdk1.8以及环境配置的方法步骤
  15. 判断英语文章中空格,数字,各个大小写字母的个数
  16. [AV1] Segment
  17. jquery-实现的添加个人信息加验证,附完全的注释,相信大家可以看懂
  18. 学了Python不想去给别人打工,那就做做这些事儿吧!
  19. 请问,电子产品中常用的12V转5V的DCDC电源芯片有哪些
  20. 入职4个月后,对于web开发的心得

热门文章

  1. Java国密算法加密
  2. 数据库基础(常用SQL语句)
  3. 最新版Java零基础入门阶段学习教程汇总(无比全面,我收藏了!!!)
  4. 学术墙报模板_对不起,学术墙报太有意思了,不参加不行!
  5. 【牛腩新闻发布系统】开始
  6. quartz小案例及相关属性
  7. 数字信号处理实验——语音信号的数字滤波
  8. mysql安装包下载与检核
  9. 世界顶级黑市拳赛内幕
  10. 软件著作权算法软件设计说明书_软件著作权说明书模板