MySQL封装JDBC为工具类(JDBC简化)

1:在我们对一个表的增删改查中我们可以发现,如果一个表要进行增删改查四个操作时,我们可能要四个方法,四个方法中每一个方法都需要进行JDBC的连接,如果每一步都按照JdbcTemplate方式写的话可能会简化一点,但是再怎么优化都会出现代码冗余的情况,每一个方法都需要创建连接,对于运行效率也有影响

2:创建JdbcTemplate声明引用去获取数据库连接池,然后该方法返回一个jdbcTempleate对象 JdbcTemplate是Spring对JDBC的封装,目的是使JDBC更加易于使用。JDBC如同是毛坯房,而JdbcTemplate类似于精装房,使用JdbcTemplate会比原生JDBC更简单舒适一些。

3:所以我们可以把JDBC封装成一个工具类,类中有getJdbcTemplate方法 ,返回值是一个jdbcTemplate类型的对象,每次进行增删改查时只需要通过 工具类类名.getJ都不错Template()f方法获取jdbcTemplate对象,声明引用,创建sql语句 , 调用jdbcTemplate中的update,query方法即可,增强了代码的复用性

import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.datasource.DriverManagerDataSource;
import javax.sql.DataSource;
//创建工具类JDBCUtils

public class JDBCUtils {
//在类中创建静态方法以便不用创建对象而直接通过类名进行方法的调用
    public static JdbcTemplate getJdbcTemplate(){

//创建url,url为你 mysql jdbc 数据库的连接

        String url="jdbc:mysql://localhost:3306/数据库名?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghai";
        String userName="root"; //数据库用户名
        String password="root"; //数据库密码
//下面创建数据库连接池,数据库连接池的作用是把加载驱动与获取连接变成了一步,既加载了驱动,又获取了connection连接

        DataSource dataSource=new DriverManagerDataSource(url,userName,password);

/*接下来创建JdbcTemplate声明引用去获取数据库连接池,然后该方法返回一个jdbcTempleate对象 JdbcTemplate是Spring对JDBC的封装,目的是使JDBC更加易于使用。JDBC如同是毛坯房,而JdbcTemplate类似于精装房,使用JdbcTemplate会比原生JDBC更简单舒适一些。*/

        JdbcTemplate jdbcTemplate=new JdbcTemplate(dataSource);
        return jdbcTemplate;

        //?useUnicode=true&character Encoding=utf-8&useSSL=false&server Timezone=Asia/Shanghai   ----->  这一行实在创建url时写的,防止字符集乱码问题
    }
}

4:工具类封装好之后,只需3步就可进行完jdbc操作,我们进行类名.getJdbcTemplaet()调用

public void selectAll() throws Exception{
    JdbcTemplate jdbcTemplate=JDBCUtils.getJdbcTemplate();//1:调用工具类方法
    String sql="select * from t_book";//2:创建sql语句
//调用jdbcTemplate方法进行查询或修改
    List<Book> list=jdbcTemplate.query(sql,new BeanPropertyRowMapper<>(Book.class));
    list.forEach(book -> System.out.println(book));
}

相关推荐

  1. MySQL封装JDBC工具JDBC简化

    2024-01-28 06:04:05       57 阅读
  2. JDBC高级篇-JDBC工具、DAO封装和BaseDAO工具

    2024-01-28 06:04:05       30 阅读
  3. JDBC】Apache DbUtils工具使用

    2024-01-28 06:04:05       32 阅读
  4. JDBC简介

    2024-01-28 06:04:05       21 阅读
  5. JDBC*

    2024-01-28 06:04:05       46 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-28 06:04:05       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-28 06:04:05       100 阅读
  3. 在Django里面运行非项目文件

    2024-01-28 06:04:05       82 阅读
  4. Python语言-面向对象

    2024-01-28 06:04:05       91 阅读

热门阅读

  1. MySQL 函数参考手册(MySQL 字符串函数)

    2024-01-28 06:04:05       43 阅读
  2. 中科大--高级数据库期末试卷

    2024-01-28 06:04:05       58 阅读
  3. MySQL 函数参考手册(MySQL 数值函数)

    2024-01-28 06:04:05       35 阅读
  4. mysql数据库的备份和恢复

    2024-01-28 06:04:05       54 阅读
  5. 基础算法--搜索与图论(2)

    2024-01-28 06:04:05       37 阅读
  6. 图论第一天|797.所有可能的路径 200. 岛屿数量

    2024-01-28 06:04:05       67 阅读
  7. vue项目使用element-plus

    2024-01-28 06:04:05       50 阅读
  8. 题记(32)--矩阵K次幂

    2024-01-28 06:04:05       51 阅读
  9. 【LeetCode-435】无重叠区间(贪心)

    2024-01-28 06:04:05       59 阅读
  10. el-tree实现多选、反选、指定选择

    2024-01-28 06:04:05       54 阅读
  11. Compose | UI组件(五) | Button 按钮组件

    2024-01-28 06:04:05       52 阅读
  12. 73. 矩阵置零

    2024-01-28 06:04:05       53 阅读
  13. 解析dapp:铸造虚拟钱包新概念

    2024-01-28 06:04:05       50 阅读