spring整合数据源

1.数据库连接池

 1.1介绍好处

     a.数据库连接池是个容器,负责分配、管理数据库连接(Connection)

     b.它允许应用程序重复使用一个现有的数据库连接,而不是再重新建立一个;

     c.释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数据库连接而引起的数据库连接遗漏

主要是可以省略大量重复的代码,提升代码的速度。

 1.2数据库连接池实现

      利用DataSource接口,提供Connection getConnection()功能

      这里我们使用阿里巴巴开源的数据库连接池项目Druid(德鲁伊)。

2.Driud的使用(这里选择用注解的方式去实现)

 2.1首先编写配置文件,命名为jdbc.properties(可以更改)

在resources中新建

          driverClassName=com.mysql.cj.jdbc.Driver(数据库驱动)

          url=jdbc:mysql://localhost:3306/students(数据库名称)

          username=root(数据库用户名)

          password=1234(数据库密码)

          # 初始化连接数量initialSize=5

          # 最大连接数maxActive=10

          # 最大等待时间maxWait=3000

接着新建一个xml配置文件命名为applicationContext.xml

2.2在xml开启注解

<context:component-scan base-package="com"></context:component-scan>

扫描你所需要注解的包

2.3定义一个SpringPool类

将先前书写的配置文件导入

@Configuration
@PropertySource("jdbc.properties")
public class SpringPool {
    @Value("${driverClassName}")
    private String Dr;

    @Value("${url}")
    private String url;

    @Value("${username}")
    private String name;

    @Value("${password}")
    private String pass;

    @Bean("pool")
    public DruidDataSource getDruidDataSource(){
        DruidDataSource druidDataSource = new DruidDataSource();
        druidDataSource.setDriverClassName(Dr);
        druidDataSource.setUrl(url);
        druidDataSource.setUsername("root");
        druidDataSource.setPassword(pass);
        return druidDataSource;
    }
}

2.4最后定义一个测试demo DruidDemo

public class DruidDemo {
    public static void main(String[] args) throws SQLException {
        ApplicationContext app = new ClassPathXmlApplicationContext("applicationContext.xml");
        DataSource dataSource = (DataSource) app.getBean("dataSource");
        Connection connection = dataSource.getConnection();
        PreparedStatement preparedStatement = connection.prepareStatement("delete from stu where id=10");
        preparedStatement.executeUpdate();

    }
}

2.5最后运行即可

出现这行代码即成功操作数据库了。

  • 8
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值