初学者福利:手把手教你如何快速入门JDBC

大家好!

JDBC是访问数据库的基石头,JDO、Hibernate、MyBatis等框架只是更好的封装了JDBC。

所以,想要框架用得更好,更明白,还是要从JDBC基础开始了解。

初学者福利:手把手教你如何快速入门JDBC_第1张图片

首先,我们来看为什么会有JDBC呢?

概念:Java数据库连接,(Java Database Connectivity,简称JDBC)是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法。

那么,意味着当你使用JDBC时,你就可以通过Java语言实现对数据库里数据的增删改查,来完成你自己想要的数据需求。

接下来,大家可以通过如下图,了解java应用程序和数据库是如何实现相互连接的:

初学者福利:手把手教你如何快速入门JDBC_第2张图片

从图中,我们发现Java应用程序并不是直接和数据库进行交互,而是通过JDBC这个“中间商”来完成数据的相关操作。那么为什么需要这个“中间商”呢?

我们从JDBC的API分析,发现包括2个层次,一个是面向应用API,及对Java应用程序开发人员使用;一个是面向数据库API,及对开发商家开发数据库驱动程序用。

那么,这将意味着,我们Java程序员只需要掌握面向应用API,就可以对不同商家的数据库进行交互,大大减少了开发人员的学习成本。同时,不同的开发数据库商家只要能遵循JDBC面向数据库API,那么自己开发的数据库的通用性将大大提高。

打个比方,就像你现在需要租一间房子,如果没有房屋中介商,那就意味着你将去不同的地方一个一个看,花费大量时间,而且租房的主人,空有房子却不能让更多的人知道。那么,如果有了这个中间商,买家只需要说出个人对房子的位置,价格等要求,中间商将会直接提供匹配租房即可。而卖家也只需要将个人房屋信息授权给中间商,等到交易完成即可,过程中将不会花费太多精力。

初学者福利:手把手教你如何快速入门JDBC_第3张图片

所以,Java应用程序为了能更好,更有效的访问数据库,JDBC必不可少。

接下来,我们来看看JDBC的使用步骤

首先,第一步,这个东西是别人提供给我们的,所以不要忘记导包了。

若没有用maven,则手动导入包,复制mysql-connector-java-5.1.37-bin.jar在idea项目下,将其添加在库下:

初学者福利:手把手教你如何快速入门JDBC_第4张图片

如下即可:

初学者福利:手把手教你如何快速入门JDBC_第5张图片

其次,第二步,注册数据库驱动

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

注意:这里的参数是刚才自己导入的mysql-connector-java-5.1.37-bin.jar包里面的com下的jdbc包里的Driver

初学者福利:手把手教你如何快速入门JDBC_第6张图片

初学者福利:手把手教你如何快速入门JDBC_第7张图片

进入Driver,我们发现其实里面是通过DriverManager来实现驱动的注册,

初学者福利:手把手教你如何快速入门JDBC_第8张图片

DriverManager 类是驱动程序管理器类,负责管理驱动程序

接下来,第三步,得到连接对象

        //加载驱动
        Class.forName("com.mysql.jdbc.Driver");
        //获得连接对象
        String url = "jdbc:mysql://localhost:3306/test";
        String user = "root";//个人数据库用户名
        String password = "root";//个人数据库密码
        DriverManager.getConnection(url,user,password);

这里值得说一下  String url = "jdbc:mysql://localhost:3306/test" 这句换的含义

初学者福利:手把手教你如何快速入门JDBC_第9张图片

然后,第四步,获得Statement对象实现CRUD操作

        //加载驱动
        Class.forName("com.mysql.jdbc.Driver");
        //获得连接
        String url = "jdbc:mysql://localhost:3306/test";
        String user = "root";
        String password = "root";
        Connection con = DriverManager.getConnection(url, user, password);
        //获得Statement实现CRUD操作
        //注意:要防范 SQL 注入,只要用PreparedStatement(从Statement扩展而来)取代Statement 
        //关于注入SQL注入问题,下一个专题专门讲
        Statement sta = con.createStatement();

最后,第五步,通过刚才的Statement对象,执行SQL语句操作数据(这里仅仅针对数据库的增删改操作)

这里举一个列子,完成对数据库数据的修改

初学者福利:手把手教你如何快速入门JDBC_第10张图片

需求:用JDBC将该表的班长改为副班长

        //加载驱动
        Class.forName("com.mysql.jdbc.Driver");
        //获得连接
        String url = "jdbc:mysql://localhost:3306/test";
        String user = "root";
        String password = "root";
        Connection con = DriverManager.getConnection(url, user, password);
        //获得PreparedStatement实现CRUD操作
        注意:要防范 SQL 注入,只要用 PreparedStatement(从Statement扩展而来)取代Statement
        Statement sta = con.createStatement();
        //定义Sql语句
        String sql = "UPDATE sys_role SET roleName='副班长' WHERE id =6";
        //执行sql语句
        sta.executeUpdate(sql);
        //关闭资源
        sta.close();
        con.close();

运行结果:

初学者福利:手把手教你如何快速入门JDBC_第11张图片

好了,以上就是一个关于JDBC的快速入门操作流程了,这是针对刚刚学JDBC初学小伙伴的,里面很多细节我们都没有讲,包括一些异常处理,使用PreparedStatement防止sql注入,还有对数据库数据的查询操作等,后面我们循序渐进一个一个的针对这些细节部分展开专题,我们下期见!

初学者福利:手把手教你如何快速入门JDBC_第12张图片

 

你可能感兴趣的:(mysql,jdbc,java)