第一步:下载 mysq l驱动

Connector/J 就是为Java 的JDBC准备的

下载完毕后,解压后,会看见如下图的就是mysql驱动的 jar 包:

(二)打开Eclipse,新建java工程,然后新建一个文件夹(改名为lib)

然后把 mysql驱动的jar包 复制到该文件夹下:(点击新建的文件夹ctrl+v粘贴就行)

(三)对 mysql的驱动 jar包 右键,把他加入到工程

出现下图时,则完成操作.

一、前言:

之前的一篇笔记是关于安装MySQL数据库和SQLyog数据库可视化工具的教程(该教程连接),下面写一下如何使用mysql_connector连接数据库并且对数据进行删、增、查、改等操作。

二、实现步骤:

1、首先要使用mysql_connector驱动包的话需要加添加mysql_connector驱动包,因为java本身是没有mysql_connector驱动包的,我们需要在网上下载mysql_connector驱动包添加到程序的添加库中,这是我用的mysql_connector驱动包的版本下载链接:https://download.csdn.net/download/sdbx_lyp/10396071。下载好驱动包以后,新建java project:按下图所示步骤添加mysql_connector驱动包:

然后选择mysql_connector驱动包添加。

2、添加完成后剩下的就是写代码了:

public class DataBase {

public static void main(String[] args) {

int numbefore = 0;

Connection con = null;//链接接口

Statement stmt = null;//发送SQL语句接口

ResultSet rs = null;//返回结果集接口

PreparedStatement ps = null;

FileInputStream fis;

try {

//加载驱动

Class.forName("com.mysql.jdbc.Driver");

//连接方法一

/*String url = "jdbc:mysql://127.0.0.1:3306/students";//127.0.0.1可以改成localhost,表示本地主机。

String username = "root";

String password = "123";

con = DriverManager.getConnection(url,username,password);*/

//连接方法二,useUnicode=true&characterEncoding=UTF-8是设置编码方式

String URL ="jdbc:mysql://127.0.0.1:3306/students?user=root&password=123&useUnicode=true&characterEncoding=UTF-8";

con = DriverManager.getConnection(URL);

//如果连接成功打印con不为空

System.out.println(con);

stmt = con.createStatement();

//con.close();

//查询数据库中表的值,并且打印出来

rs = stmt.executeQuery("select * from  students_1");

while(rs.next()) { //next()方法控制行数,一行一行读出返回结果集,直到null

int id = rs.getInt("id");//获取id这一列的数据

String name = rs.getString(2);//获取第二列数据

String sex = rs.getString("sex");

int age = rs.getInt("age");

System.out.println("编号="+id+",姓名="+name+",性别="+sex+",年龄="+age);

//计算表中数据的行数

numbefore = numbefore + 1;

}

//打印出操作数据前的行数

System.out.println("操作前数据为"+numbefore+"行");

//添加图片数据

File image = new File("C:/Users/lyp/Pictures/桌面背景/1.jpg");  //添加图片的路径

ps = con.prepareStatement("INSERT INTO `students`.`students_1` (`id`,`name`, `sex`, `age`,`icon`)"

+ " VALUES (?,?,?,?,?);");

ps.setInt(1, numbefore+1);

ps.setString(2, "兰陵王");

ps.setString(3,"男");

ps.setInt(4,500);

fis = new FileInputStream(image);

ps.setBinaryStream(5, (InputStream) fis, (int) (image.length()));

//检查是否添加成功

int s = ps.executeUpdate();

if (s > 0) {

System.out.println("Uploaded successfully !");

} else {

System.out.println("unsucessfull to upload image.");

}

//添加一行数据

//使用SQL语句:INSERT INTO `students`.`students_1` (`id`, `name`, `sex`, `age`) VALUES ('1','小七', '女', '10'); 添加数据

/*String sql1 = "INSERT INTO `students`.`students_1` (`id`,`name`, `sex`, `age`) VALUES ('1','小七', '女', '10');";

int result1 = stmt.executeUpdate(sql1);

System.out.println("有"+result1+"行记录被修改");*/

//动态添加一行数据

/*ps = con.prepareStatement("INSERT INTO `students`.`students_1` (`id`,`name`, `sex`, `age`) VALUES (?,'小七', '女', '10');");

ps.setInt(1, numbefore+1);

int result_x = ps.executeUpdate();

System.out.println("有"+result_x+"行记录被修改");*/

//修改一个数据

//使用SQL语句:UPDATE `students`.`students_1` SET `name` = '康纳' WHERE `age` = 12 AND `sex` = '男':修改age=12和sex=男的数据的name为康纳

String sql2 = "UPDATE `students`.`students_1` SET  `name` = '康纳' WHERE `id`= '4' AND `age` = '12' AND `sex` = '男'; ";

int result2 = stmt.executeUpdate(sql2);

System.out.println("有"+result2+"行记录被修改");

//删除一行数据

//使用SQL语句:DELETE FROM `students`.`students_1` WHERE `id` = '5' ; 删除id=5的一行

/*String sql3 = "DELETE FROM `students`.`students_1` WHERE `id` = '8' ; ";

int result3 = stmt.executeUpdate(sql3);

System.out.println("有"+result3+"行记录被修改");*/

} catch (ClassNotFoundException e) {

e.printStackTrace();

} catch (SQLException e) {

e.printStackTrace();

} catch (FileNotFoundException e) {

// TODO 自动生成的 catch 块

e.printStackTrace();

}finally {//依次关闭数据库接口

if(rs!=null) {

try {

rs.close();

} catch (SQLException e) {

// TODO 自动生成的 catch 块

e.printStackTrace();

}

}

if(stmt!=null) {

try {

stmt.close();

} catch (SQLException e) {

// TODO 自动生成的 catch 块

e.printStackTrace();

}

}

if(con!=null) {

try {

con.close();

} catch (SQLException e) {

// TODO 自动生成的 catch 块

e.printStackTrace();

}

}

}

}

}

三、代码说明:

1、前面定义连接接口con、发送SQL语句接口stmt以及返回结果集接口re,其中连接接口con主要是用来连接数据库的代码中写了两种方法,都可以,在数据库连接的第一种方法代码中:

String url = "jdbc:mysql://127.0.0.1:3306/students";

String username = "root";

String password = "123";

con = DriverManager.getConnection(url,username,password);

127.0.0.1是本地地址,3306是数据库的端口(在配置MySQL时设置),后面students是我新建的数据库。username是数据库用户名,password是用户登录密码。第二中方法类似。

2、在查询数据中有一个students_1是我在students中创建的表,如下图所示:

3、现在我将代码中对数据库的其他操作注释掉,只留查询数据库数据,和添加图片数据的代码以及修改数据代码,修改数据代码:

String sql2 = "UPDATE `students`.`students_1` SET  `name` = '康纳' WHERE `id`= '4' AND `age` = '12' AND `sex` = '男'; ";

int result2 = stmt.executeUpdate(sql2);

System.out.println("有"+result2+"行记录被修改");

按照条件修改:将id= 4,age=12和sex=“男”的数据的nam改为康纳。

运行后控制台输出如下图所示:

其中第一行com.mysql.jdbc.JDBC4Connection@246b179d表示连接数据库成功。接下来是打印的是数据库修改之前保存的数据,后面的Uploaded successfully !表示添加图片数据成功。运行完成后数据库如下图所示:

可以看到400k的一个图片数据已经添加进去了。点击第五行的icon栏会显示你添加的图片。

原文:https://blog.csdn.net/u014453898/article/details/79017767

原文:https://blog.csdn.net/SDBX_lyp/article/details/80217109

mysql数据库驱动_JDBC 加载mysql数据库驱动相关推荐

  1. mysql ddl 失败_PHP加载mysql DDL会失败

    简介:这是PHP加载mysql DDL会失败的详细页面,介绍了和php,PHP PHP加载mysql DDL会失败有关的知识.技巧.经验,和一些php源码等. class='pingjiaF' fra ...

  2. 一个驱动无法加载的分析

    一个驱动无法加载的分析 客户反馈一个问题,原工作很好的usb key设备,安装 NCT_2000_XP 后,运行测试程序找硬件,提示没找到.检查系统 %systemroot%/system32/dir ...

  3. 加载mysql驱动的语句_sql数据库驱动加载语句

    2011年11月27日学习内容总结 1.使用JDBC连接数据库五个步骤,每个步骤的原因.加载驱动:连接不同的数据库要加载不同的驱动:建立连接:访问一个数据库,要知道IP+端口号+数据库名,此外还有用户 ...

  4. mysql重装系统后以前的数据_系统重装后,Mysql数据库重装加载原来数据库

    mysql 5.6 后热数据的加载 mysql 5.6 后热数据的加载 转自:http://blog.itpub.net/20892230/viewspace-2127469/ 故障现象:在数据库重启 ...

  5. 加载mySQL数据到内存_【测试验证】数据库加载到内存占用大小

    介绍 数据库大小加载到内存占用是不是数据库的本身大小哪?今天忽然突发奇想于是就测试一下.首先我要说明的是我是在EF框架下进行测试的,不知道会不会与ado.net连接方式差生不同的结果,我仅仅是做记录, ...

  6. java 手动加载数据库驱动_JAVA加载数据库驱动(JDBC)

    JAVA加载数据库驱动(JDBC) 前言 之前,对Class.forName("com.mysql.jdbc.Driver");这条动态加载JDBC驱动感觉很疑惑,故有了这篇短文. ...

  7. 正确加载MySQL驱动的语句_正确加载MySQL驱动的语句_____________________;_学小易找答案...

    [多选题]电子图书的特点是 [简答题] [单选题]为了准备病理学考试,王同学想在图书馆借一本人民卫生出版社出版的熊小亮编写的<病理学试题库>,经过检索发现该书都被借出去了 , 最方便快捷的 ...

  8. Geospark加载PostgreSQL数据库

    title: (七)GeoSpark与PostgreSQL date: 2021-05-12 16:38:23 tags: GeoSpark PostGreSQL以及Mysql均有空间引擎扩展,且Ge ...

  9. IDEA加载mysql 报:java.sql.SQLException: Unknown system variable ‘query_cache_size‘

    IDEA在加载mysql数据库时 报如下错误: java.sql.SQLException: Unknown system variable 'query_cache_size' 翻译:java.sq ...

最新文章

  1. 华人博士生首次尝试用两个Transformer构建一个GAN
  2. 今天才知道什么是柏拉图式的爱情
  3. php 地图两点距离计算,计算地图上两点间的距离PHP类
  4. 使用uni-app报错this.setData is not a function
  5. 2-ESP8266 SDK开发基础入门篇--点亮一个灯
  6. 计算机不显示用户组密码设置,手把手教你设置win10系统开机时跳过锁屏画面直接显示密码框登录界面-系统操作与应用 -亦是美网络...
  7. 使用监听器生成请求记录日志
  8. data fastboot 擦除_安卓刷机 - Fastboot命令
  9. 《老友记》典故集解 Season 1-10
  10. 调查称82%网友面对安全问题无从下手
  11. 电子教室的功能有哪些-极域电子教室
  12. 模拟卷Leetcode【普通】729. 我的日程安排表 I
  13. 回收戴尔R740 R740XD - CSDN
  14. php 微信自动获取手机号
  15. sql sa 账号被锁定的解决办法
  16. CSS中含有特定文字的选择器
  17. 关于分布式事务、两阶段提交、一阶段提交、Best Efforts 1PC模式和事务补偿机制的研究[转]
  18. 使用python+selenium爬取同城旅游网机票信息
  19. scrollTop和scrollHeight属性
  20. TL-C6748 EDMA使用笔记

热门文章

  1. svn文件丢失的解法
  2. SDWC2017游记
  3. 理解vue赋值新属性
  4. .NET Core 最小化发布
  5. 使用GeocodeService进行地理位置检索
  6. Proteus仿真STM32F103R6微控制器的EXTI
  7. SQL Server 命令行管理工具:SqlLocalDB.exe
  8. C/C++ struct 区别
  9. windows编程,服务器与客户端
  10. python x 0b1011_PAT 1011 A+B和C (15)(C++JAVAPython)