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 list=jdbcTemplate.query(sql,new BeanPropertyRowMapper<>(Book.class));
    list.forEach(book -> System.out.println(book));
}

你可能感兴趣的:(MySQL,mysql,android,数据库)