热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

jdbc(mysql)数据库连接

0.将驱动引入项目在项目根目录新建文件夹lib,把数据库驱动mysql-connector-java-5.1.7-bin.jar放入该文件夹。右键点击项目名称-propertie

0.将驱动引入项目

  • 在项目根目录新建文件夹lib,把数据库驱动mysql-connector-java-5.1.7-bin.jar放入该文件夹。
  • 右键点击项目名称->properties->Java Build Path->Libraries->Add JARs->找到驱动文件->搞定

  什么是mysql-connector-java-5.1.7-bin.jar

  数据库驱动。

  为什么要另外引入一个jar包sun公司怎么没有实现这些功能

  因为市面上有很多数据库mysql oracle sqlserver,每个数据库内部实现不同,sun公司提供标准接口,数据库提供商负责实现接口,把所有实现类打包成.jar文件。有了这个jar包,java程序就可以驱动着数据库做事。

*1.加载驱动


* 也叫注册驱动
* Class.forName("com.mysql.jdbc.Driver")
*
*2.获取连接对象


* Connection cOnn= DriverManager.getConnection("url",user,password);

  例如:jdbc:mysql://127.0.0.1:3306/myschool
* url - jdbc:subprotocol:subname 形式的数据库 url  

  • URL由三部分组成:资源类型、存放资源的主机域名、资源文件名。
  • 也可认为由4部分组成:协议、主机、端口、路径
  • URL的一般语法格式为:
  • (带方括号[]的为可选项):
  • protocol :// hostname[:port] / path / [;parameters][?query]#fragment


*3.获取sql执行器对象


* Statement 对象
* Statement statement = conn.createStatement();
*
*4.执行并返回处理结果


* 增删改 sql语句 executeUpdate()-->返回值为sql语句操作的数据行数,行数为0则数据库指令操作不成功
* 查询sql语句-->executeQuery()-->返回java.sql.ResultSet结果集对象,你所查询的表数据
* 用next方法判断数据库结果集中是否有下一行元素,光标最初位于第一行之前
*
*5.关闭资源


* 关闭资源的顺序,先创建的后关闭
* 增删改sql语句 ----只需要关闭连执行器(Statement/PrepareStatement)和连接对象(Connection)
* 查询 ,需要关闭ResultSet结果集对象,执行器对象(Statement/PrepareStatement)和连接对象(Connection)

package com.jdbc;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
/**
 *1.加载驱动
 *    也叫注册驱动
 *    Class.forName("com.mysql.jdbc.Driver")
 *
 *2.获取连接对象
 *    Connection cOnn= DriverManager.getConnection("url",user,password);
 *    url - jdbc:subprotocol:subname 形式的数据库 url
 *
 *3.获取sql执行器对象
 *    Statement 对象
 *    Statement statement = conn.createStatement();
 *
 *4.执行并返回处理结果
 *    增删改 sql语句 executeUpdate()-->返回值为sql语句操作的数据行数,行数为0则数据库指令操作不成功
 *    查询sql语句-->executeQuery()-->返回java.sql.ResultSet结果集对象,你所查询的表数据
 *        用next方法判断数据库结果集中是否有下一行元素,光标最初位于第一行之前
 *
 *5.关闭资源
 *    关闭资源的顺序,先创建的后关闭
 *    增删改sql语句 ----只需要关闭连执行器(Statement/PrepareStatement)和连接对象(Connection)
 *    查询 ,需要关闭ResultSet结果集对象,执行器对象(Statement/PrepareStatement)和连接对象(Connection)

 * @author Administrator
 *
 */
public class Test05 {
    public static void main(String[] args) {
        //1.加载驱动/注册驱动
        try {
            Class.forName("com.mysql.jdbc.Driver");
        } catch (ClassNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        //2.连接对象,在捕获异常外声明该对象,后续方法关闭该对象
        Connection cOnnection= null;
        //3.执行器对象 ,在捕获异常外声明该对象,后续方法关闭该对象
        Statement statement = null;
        try {
            //获取连接对象
            cOnnection= DriverManager.getConnection("jdbc:mysql://localhost:3306/myschool","root","root");
            System.out.println("连接数据库成功");
            //获取执行器对象
            statement=connection.createStatement();
            //sql执行器对象用来向数据库发送sql语句,并执行sql语句,带有int返回值executeUpdate();
            String sql = "update grade set gradename=‘9年级‘ where gradeid=9";
            int count =statement.executeUpdate(sql);
            if(count>0){
                System.out.println("修改成功 ");
            }else{
                System.out.println("修改失败");
            }
            
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
            System.out.println("数据库连接失败");
        }finally{
            //先创建的后关闭
            try {
                statement.close();
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            try {
                connection.close();
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
        
        
    }
}

jdbc(mysql)数据库连接


推荐阅读
  • 本文介绍了OC学习笔记中的@property和@synthesize,包括属性的定义和合成的使用方法。通过示例代码详细讲解了@property和@synthesize的作用和用法。 ... [详细]
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
  • 在说Hibernate映射前,我们先来了解下对象关系映射ORM。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现。这样开发人员就可以把对数据库的操作转化为对 ... [详细]
  • 本文介绍了在SpringBoot中集成thymeleaf前端模版的配置步骤,包括在application.properties配置文件中添加thymeleaf的配置信息,引入thymeleaf的jar包,以及创建PageController并添加index方法。 ... [详细]
  • Java太阳系小游戏分析和源码详解
    本文介绍了一个基于Java的太阳系小游戏的分析和源码详解。通过对面向对象的知识的学习和实践,作者实现了太阳系各行星绕太阳转的效果。文章详细介绍了游戏的设计思路和源码结构,包括工具类、常量、图片加载、面板等。通过这个小游戏的制作,读者可以巩固和应用所学的知识,如类的继承、方法的重载与重写、多态和封装等。 ... [详细]
  • 本文介绍了闭包的定义和运转机制,重点解释了闭包如何能够接触外部函数的作用域中的变量。通过词法作用域的查找规则,闭包可以访问外部函数的作用域。同时还提到了闭包的作用和影响。 ... [详细]
  • YOLOv7基于自己的数据集从零构建模型完整训练、推理计算超详细教程
    本文介绍了关于人工智能、神经网络和深度学习的知识点,并提供了YOLOv7基于自己的数据集从零构建模型完整训练、推理计算的详细教程。文章还提到了郑州最低生活保障的话题。对于从事目标检测任务的人来说,YOLO是一个熟悉的模型。文章还提到了yolov4和yolov6的相关内容,以及选择模型的优化思路。 ... [详细]
  • 本文介绍了使用kotlin实现动画效果的方法,包括上下移动、放大缩小、旋转等功能。通过代码示例演示了如何使用ObjectAnimator和AnimatorSet来实现动画效果,并提供了实现抖动效果的代码。同时还介绍了如何使用translationY和translationX来实现上下和左右移动的效果。最后还提供了一个anim_small.xml文件的代码示例,可以用来实现放大缩小的效果。 ... [详细]
  • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
    本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
  • Linux重启网络命令实例及关机和重启示例教程
    本文介绍了Linux系统中重启网络命令的实例,以及使用不同方式关机和重启系统的示例教程。包括使用图形界面和控制台访问系统的方法,以及使用shutdown命令进行系统关机和重启的句法和用法。 ... [详细]
  • 本文介绍了使用Java实现大数乘法的分治算法,包括输入数据的处理、普通大数乘法的结果和Karatsuba大数乘法的结果。通过改变long类型可以适应不同范围的大数乘法计算。 ... [详细]
  • Webpack5内置处理图片资源的配置方法
    本文介绍了在Webpack5中处理图片资源的配置方法。在Webpack4中,我们需要使用file-loader和url-loader来处理图片资源,但是在Webpack5中,这两个Loader的功能已经被内置到Webpack中,我们只需要简单配置即可实现图片资源的处理。本文还介绍了一些常用的配置方法,如匹配不同类型的图片文件、设置输出路径等。通过本文的学习,读者可以快速掌握Webpack5处理图片资源的方法。 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • Java容器中的compareto方法排序原理解析
    本文从源码解析Java容器中的compareto方法的排序原理,讲解了在使用数组存储数据时的限制以及存储效率的问题。同时提到了Redis的五大数据结构和list、set等知识点,回忆了作者大学时代的Java学习经历。文章以作者做的思维导图作为目录,展示了整个讲解过程。 ... [详细]
  • 本文讨论了为什么在main.js中写import不会全局生效的问题,并提供了解决方案。在每一个vue文件中都需要写import语句才能使其生效,而在main.js中写import语句则不会全局生效。本文还介绍了使用Swal和sweetalert2库的示例。 ... [详细]
author-avatar
浪人-zhao_433
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有