MySQL数据库连接方法-JDBC-C3P0、DRUID-Spring之间的关系与区别

JDBC-C3P0、DRUID-Spring之间关系

  • JDBC
    是最基本的数据库连接方式,非常的原始,步骤非常的详细!(尽管代码量很大,但还是推荐初学去学,对于后面更高级的连接方式的立即有好处!)
public class JdbcDemo1
{
    public static void main(String[] args) throws Exception {
        //1.导入驱动jar包
        //2.注册驱动
        Class.forName("com.mysql.cj.jdbc.Driver");
        //3.获取数据库连接对象
        Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/db1", "root", "123456");
        //4.定义sql语句
        String sql = "update stu set NAME = 'liuYang' where id = 1";
        //5.获取执行sql的对象 Statement
        Statement stmt = conn.createStatement();
        //6.执行sql
        int count = stmt.executeUpdate(sql);
        //7.处理结果
        System.out.println(count);
        //8.释放资源
        stmt.close();
        conn.close();
    }
}
  • C3P0 【国外的】与 DRUID【阿里的国产的,常用!】
    他们俩属于一个级别的,称为数据库连接池在我的理解上,他们相比于JDBC有如下几个好处:
/**
 * c3p0的演示
 */
public class C3P0Demo1
{
    public static void main(String[] args) throws SQLException {
        //1.创建数据库连接池对象
        DataSource ds = new ComboPooledDataSource();
        //2.获取连接对象
        Connection conn = ds.getConnection();

        //3.打印
        System.out.println(conn);
    }
}
/**
 *
 * Druid演示
 */
public class DruidDemo
{
    public static void main(String[] args) throws Exception {
        //1.导入jar包
        //2.定义配置文件
        //3.加载配置文件
        Properties pro = new Properties();
        InputStream is = DruidDemo.class.getClassLoader().getResourceAsStream("druid.properties");
        pro.load(is);
        //4.获取连接池对象
        DataSource ds = DruidDataSourceFactory.createDataSource(pro);

        //5.获取连接
        Connection conn =ds.getConnection();
        System.out.println(conn);

    }

1).他们(C3P0和DRUID)可以绑定多个数据库连接,不是像JDBC那样只能用一个数据库;

2).他们的使用效率更高,JDBC每次用完一些东西(大家先这么理解)就释放掉了(也就是扔掉了),而他们使用完不是释放掉,而是存起来下次再用!所以使用效率更高!

3).拥有专属配置文件,连接数据库更方便些~


· Spring-JDBC

/**
 * JdbcTemplate入门学习
 */
public class JdbcTemplateDemo1
{
    public static void main(String[] args)
    {
        //1.导入jar包
        //2.创建JDBCTemplate对象
        JdbcTemplate template = new JdbcTemplate(JDBCUtils.getDataSource());
        //3.调用方法
        String sql = "insert into shiyi values(?,?)";
        int count = template.update(sql,"刘鹏",39);
        System.out.println(count);
    }
}

好处
一个更复杂的框架,但是只要把框架搭起来,连接数据库,取数据等操作会异常的快速!
甚至都不需要释放各部分,这个框架会自动释放!
坏处:
1)内部操作更不容易懂了,其实最底层还是JBDC那一套,不过人家给你封装的特别好,不需要写那么多东西了!
2)导入的jar包异常多
需要导入5个jar

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Vip__Miracle

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值