JDBCUtil工具类

JDBC:Java访问数据库的技术JDBC(Java DataBase Connectivity,java数据库连接)是一种用于执行SQL语句的Java API。DAO Database Access Object(数据库访问对象) 在工程中,从属于dao层。 respository(仓库)之前处理其他业务逻辑,与DB无关,成为s...
摘要由CSDN通过智能技术生成

JDBC:Java访问数据库的技术

JDBC(Java DataBase Connectivity,java数据库连接)是一种用于执行SQL语句的Java API。

            DAO  Database  Access Object(数据库访问对象)   在工程中,从属于dao层。 respository(仓库)

            之前处理其他业务逻辑,与DB无关,成为service层,比如处理注册登录的业务功能。

JDBC(Java DataBase Connectivity,java数据库连接)是一种用于执行SQL语句的Java API。

            DAO  Database  Access Object(数据库访问对象)   在工程中,从属于dao层。 respository(仓库)

            之前处理其他业务逻辑,与DB无关,成为service层,比如处理注册登录的业务功能。

 

 

一、向Eclipse工程中导入jar包(一般的封装类在项目中都放在一个单独的page包中util)

                    创建包的时候一般是需要后缀为dao。如:com.zhiyou.dao

 

1.首先需要导入一个jar包(第三方工具包):mysql-connector-java-8.0.17.jar

            (1)在网上下载:Connector/J中

            (2)在MySQL的安装包中找到:

                        MySQL5.8版本之后的MySQL在安装过程中也会把这个jar包下载下来。

                        位置在:C:\Program Files (x86)\MySQL\Connector J 8.0.17.jar

 

2.将jar包加入到工程中:目的是可以使用jar中的工具类,能让eclipse编译时可以识别

             (1)右键工程名字创建lib(资源库)文件夹(Floder)

             (2)将jar包拖拽到lib文件夹中,选择copy file

             (3)右键lib中的jar包,选择Build Path --->Add to Build Path

             (4)Add to Build Path之后会在lib文件夹上方出现Referenced Librarice(被使用的资源库),里面包含这个jar包(jar包的图标会变)

                  这个jar包里面放的都是工具包和工具类的编译类(xx.class)。关键:com.mysql.cj.jdbc.Driver.class

二、JDBC步骤分析

        步骤:

                1.加载驱动

                2.建立连接

                3.准备SQL

                4.执行SQL

                5.处理结果

                6.断开连接

 

(1)实现查询功能(Query)

1 加载驱动

             加载jar包中的驱动类Driver.class,用到的方式是反射

            使用Class.forName 这一反射方式加载Driver类的原因是因为 :倘若使用new Driver()方式,则会首先执行Driver类中的静态代

码块, 而静态代码块中又出现了一次new Driver(),如此 相当于new了两次Driver对象,不好!

 

           所以,使用Class.forName也会执行Driver类中的静态代码块,最终也就只执行了一次new对象。这种方式才是我们想要的。

           String----》find class ---》load---》static---》new Driver()

 

          1.Class.forName("com.mysql.cj.jdbc.Driver");     :使用Class类的forName方法来加载驱动

                需要解决异常(throws抛出或者try/catch解决)

2.建立连接    :    使用DriverManager类的connection方法返回一个Connection的实例

                (1)使用DriverManager中的getConnection(url,user,password)方法,返回值类型是Connection类型

                                        DriverManager.getConnection(url,username,password);

                给url赋值为:"jdbc:mysql://localhost:3306/student?serverTimezone=GMT%2B8",用户名及密码为安装数据库时设置的。

都是String类型

                        url的格式:协议//本机主机:端口号/数据库名?serverTimezone=GMT%2B8

                        url的格式中数据库后面的是mysql8版本必须指定的时区,需要在数据库后面加上配置信息(否则会出现时区异常)

                                        String url = "jdbc:mysql://localhost:3306/student?serverTimezone=GMT%2B8";

                                        String user = "root";

                                        String password = "1234";

 

                (2)因为在准备下一步的准备SQL中要使用DriverManage.getConnection(url,user,password)方法拿到的Connection对象

connection中的方法,所以需要创建对象并将方法返回值赋给Connection的对象connection

                                        Connection connection = null;

                                        2. connection = DriverManager.getConnection(url,user,password);

 

                (3)解决异常(throws抛出或者try/catch解决)

3.准备SQL    :   使用Connection中的prepareStatement方法,返回了一个PrepareStatement实例。将sql语句给数据库先编译

                (1)使用connection中的prepareStatement()方法,参数为数据库语言,如:sql,返回值类型为PreparedStateme

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值