首页 > 其他分享 >JDBC学习之旅分享(一)

JDBC学习之旅分享(一)

时间:2022-10-01 00:11:06浏览次数:48  
标签:password JDBC String 之旅 url 数据库 分享 properties

记录JDBC的学习(一)

  • 什么是JDBC
  • JDBC的主要用的接口
  • JDBC具体创建过程

一、什么是JDBC

JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。

通过JDBC我们可以访问各种关系型数据库.在这里我要提一下咱们的数据库连接池。数据库连接池是为了数据库建立一个“缓存池”,预先在缓冲池中放入一定数量的连接,当需要建立数据库连接时,只需从“缓冲池”中取出一个,使用完毕之后再放回去。

目前有常用的数据库连接池技术有:1. C3P0数据库连接池;2.DBCP数据库连接池;3.Druid(德鲁伊)数据库连接池。我在这里重点对Druid数据库连接池作为讲解,这也是我们最常用的连接池技术。

JDBC是通过相对应的驱动而去对数据库进行相关操作的.



二、JDBC的主要用的接口

1.Driver接口
因为JDBC是通过相关数据库驱动进而对数据库进行操作.以最常用的Mysql为例子
(1)获取Driver实现类对象
Mysql5.6版本:
Mysql8.0版本以上:

(2)使用反射
Mysql5.6版本:
Mysql8.0版本以上:

2.Connection()接口

(1)
这里面需要设置Druid的url,info。这里面的info就是username和password参数.通过Properties对象来封装

setProperty来设置user,password.(键值对)



(2)DriverManger


三、JDBC具体构造过程(数据库的连接)

方法一

点击查看代码
 Driver driver = new com.mysql.cj.jdbc.Driver();
        //2.设置连接池数据参数
        String url = "jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=Hongkong";
        //将用户名和密码封装在Properties中
        Properties properties = new Properties();
        properties.setProperty("user","root");
        properties.setProperty("password","123456");
        //3.使用connect连接
        Connection connection =  driver.connect(url,properties);
        System.out.println(connection);//检查连接

注意:
jdbc:mysql 协议
localhost ip
3306 端口号
test 数据库名称
mysql8.0版本以上必须是
useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=Hongkong

方法二

点击查看代码
 //1.注册驱动,获取driver类实现对象
        Class aclass = Class.forName("com.mysql.cj.jdbc.Driver");
        Driver driver = (Driver) aclass.newInstance();
        DriverManager.registerDriver(driver);
        //2.获取连接
        String url = "jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=Hongkong";
        String user = "root";
        String password = "123456";
        Connection connection = DriverManager.getConnection(url, user, password);
        System.out.println(connection);

方法三(重点掌握!!!,是我们经常使用的数据库连接方法)

因为连接池中url,user,password,driverClass是重复出现在代码块中,我们可以设置配置文件将其配置参数放到里面,避免代码的重复性. 注意配置文件在idea放在resource夹里面加载
1.设置配置文件(以mysql8.0为例子)
        String url = "jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=Hongkong";
        String user = "root";
        String password = "123456";
        driverClass = "com.mysql.cj.jdbc.Driver";
2.JDBC设置
        //加载文件
        InputStream inputStream = ClassLoader.getSystemClassLoader().getResourceAsStream("jdbc.properties");
        Properties properties = new Properties();
        properties.load(inputStream);
        //设置四个配置参数
        String user = properties.getProperty("user");
        String password = properties.getProperty("password");
        String url = properties.getProperty("url");
        String driverClass = properties.getProperty("driverClass");
        //加载驱动
        Class.forName(driverClass);
        //获取连接.DriverManager类getConnection(String url, String user, String password)
        Connection connection = DriverManager.getConnection(url,user,password);
        System.out.println(connection);

标签:password,JDBC,String,之旅,url,数据库,分享,properties
From: https://www.cnblogs.com/Ac-money/p/16746595.html

相关文章

  • JdbcTemplate 常用方法
    JdbcTemplate常用方法update:实现增删改//update方法(增删改)@Overridepublicvoidadd(Usersuser){Stringsql="insertintousersval......
  • 报告分享|2022年中国数字化办公市场研究报告
     报告链接:http://tecdat.cn/?p=28674数字化办公作为现代化办公的全新模式,其发展可追溯至19世纪末期自泰勒提出了科学式管理理论,进一步的发展归因于相关软硬件技术的创新......
  • 报告分享|数字化转型,从战略到执行报告
    报告链接:http://tecdat.cn/?p=28672如何加速国家、城市、行业、企业数字化进程,激发数字经济新动能。这份报告通过洞察数字化的6大改变、4大载体、4个阶段、20+场景、100+......
  • 报告分享|2022年企业数字化人才发展白皮书
    报告链接:http://tecdat.cn/?p=28670数字经济时代,企业对数字化人才的需求急剧增长。此报告对数字化人才培养和企业数字化人才发展现状进行梳理和研究,聚焦于金融、零售、能......
  • 视频如何变动漫?视频变动漫的方法分享!​
    视频如何变动漫?大家日常在刷视频的时候,是不是经常会刷到动漫类的视频呢?他们那些视频非常的漂亮和好看,一下子就能吸引我们的眼球,很多小伙伴也想制作专属于自己的动漫视频,可觉......
  • 中文翻译日语的方法分享!这个软件值得一试!​
    中文翻译日语的方法分享!很多小伙伴也是在外贸公司上班,平常用的最多的就是英语,但是不仅仅只有英语,还有很多情况下,需要我们接触到其他语音并知道它的意思,其中日语就是比较主流......
  • 报告分享|2022年中国康复医疗行业研究报告
    报告链接:http://tecdat.cn/?p=28683国家卫生健康委联合七个部门于2021年6月份下发《关于加快推进康复医疗工作发展的意见》要求力争到2022年,逐步建立一支数量合理、素质优......
  • 字符串是否为数字的检测方法分享
    转自:​​http://www.java265.com/JavaJingYan/202205/16539639463579.html​​字符串简介:    字符串主要用于编程,概念说明、函数解释、用法详述见正文,这里补充一点......
  • 分享一个Vue实现图片水平瀑布流的插件
    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助一.需求来源今天碰到了一个需求,需要在页面里,用水平瀑布流的方式,将一些图片进行加载,这让我突然想起我很久......
  • Springboot 之 JDBC 多数据源实现
    简介Springboot中使用JdbcTemplate实现多数据源比较简单。查看JdbcTemplate源码;可以发现JdbcTemplate提供了传入DataSource的方式构建不同的JdbcTemplate实例......