JAVA连接数据库——JDBC和mybatis的使用对比+数据库连接池

JDBC即Java数据库连接.用来实现Java程序对数据库增删查改。

为了对接Java程序和数据库,java.sql提供了很多api包含在java.sql和javax.sql里面

结构:

DriverManager接口:

        每一个数据库的驱动程序都必须去到DriverManager注册,生成一个Connection

Connection接口:

        负责连接数据库并担任传送数据的任务

Statement接口:

        由Connection产生,负责执行SQL语句

ResultSet接口

        从数据源读取数据

第一步:下载JDBC驱动程序

        下载指定驱动程序:在下方网站中根据数据库版本下载对应的驱动程序

MySQL :: Download MySQL Connector/J (Archived Versions)JAVA连接数据库——JDBC和mybatis的使用对比+数据库连接池_第1张图片
 

下载好驱动程序丢到程序的lib文件夹中并且右键点击lib添加为库,然后就会出现两个文件夹 

JAVA连接数据库——JDBC和mybatis的使用对比+数据库连接池_第2张图片

成品:

JAVA连接数据库——JDBC和mybatis的使用对比+数据库连接池_第3张图片

JAVA连接数据库——JDBC和mybatis的使用对比+数据库连接池_第4张图片

第二步

        加载驱动程序

        通过Class.forName("com.mysql.cj.jdbc.Driver"(JDBC驱动程序名)) 创建驱动程序的实例

其中forName需要手动抛出一个异常 

JAVA连接数据库——JDBC和mybatis的使用对比+数据库连接池_第5张图片

        这里mysql8.0以及以上版本需要在cj中找jdbc

第三步

        获取连接对象 :

getConnection是DriverManager类下的一个方法,里面有三个参数

url : jdbc(方式):mysql(数据库)://localhost:3306(端口号)/要连接的数据库名称

user :用户名

pwd : 密码

Connection connection=DriverManager.getConnection(url,user,pwd);

这里的getConnection和下面的executeUpdate以及最下面close语句都需要抛出同一个异常 

JAVA连接数据库——JDBC和mybatis的使用对比+数据库连接池_第6张图片

 第四步

        获取执行者对象

        Statement statement= connection.createStatement();

        将需要执行的静态sql语句以字符串的形式作为参数调用执行者的方法

 String sql="insert into number values('ypo','50','5')";
if(statement.executeUpdate(sql)>=1)
          {
              System.out.println("操作成功");
          }else{
              System.out.println("操作失败");
          }

如上述就是一个执行插入新元素的操作,其中executeUpdate用于进行增删改的操作,返回值是改方法的在数据库中的影响行数,小于1时说明数据库没有成功变化

在最后需要关闭和数据库的连接  

上述步骤就是实现在JAVA程序里面连接上本地数据库并进行添加新元素的操作

最后运行一次程序后在图里面最后一行能看见数据库中雀氏添加了新的元素

JAVA连接数据库——JDBC和mybatis的使用对比+数据库连接池_第7张图片

至于查询需要通过ResultSet接口来实现

使用JDBC进行查询的基本流程和mybatis进行对比

使用一个 ResultSet类型的属性接收查询语句产生的结果,然后对于结果里每一个属性都要分别获取出来

JAVA连接数据库——JDBC和mybatis的使用对比+数据库连接池_第8张图片

 

 在springboot整合mybatis中连接四要素都在配置文件当中,不需要改动java代码也就不用重新编译运行了。

配置文件当中的信息前缀都是spring.datasource,这种连接方式是数据源,springboot底层会自动采用数据库连接池技术统一管理和分配连接也就是jdbc中Connection对象,有了连接池后每次需要执行sql语句就会自动从连接池获取一个连接执行sql语句,执行完后将连接归还给连接池,做到了连接的复用,避免了资源浪费。

在springboot中使用mybatis甚至只需要关注下面两点就可以了,在spring中还需要配置数据源 

JAVA连接数据库——JDBC和mybatis的使用对比+数据库连接池_第9张图片

 数据库连接池

JAVA连接数据库——JDBC和mybatis的使用对比+数据库连接池_第10张图片

 数据库连接池实现

JAVA连接数据库——JDBC和mybatis的使用对比+数据库连接池_第11张图片

 连接池切换

JAVA连接数据库——JDBC和mybatis的使用对比+数据库连接池_第12张图片

 只需要引入上面的Druid的依赖即可,springboot

原本默认的连接池是hikari 

 加入Druid的依赖后就变成了........没变,操作没错可能是springboot版本太高了

  

官方文档中 

 JAVA连接数据库——JDBC和mybatis的使用对比+数据库连接池_第13张图片

你可能感兴趣的:(JavaWeb,sql,数据库,java)