1 通过Maven的形式导入用到的JAR包坐标 org.springframework spring-context 5.0.2.RELEASE commons-logging commons-logging 1.2 log4j log4j 1.2.12 junit junit 4.12 test com.alibaba 标题中的"通过Spring的IOC控制完成druid数据库的基本操作案例"指的是使用Spring的依赖注入(Inversion of Control,简称IOC)容器来管理Druid数据源,并进行数据库的基本操作。Druid是一个高性能、全面的数据库连接池组件,它提供了监控、SQL解析等功能。接下来,我们将深入探讨如何在Spring框架中配置和使用Druid数据源,以及如何通过Spring的IOC进行数据库操作。 要使用Druid,我们需要在项目中引入相应的依赖。在描述中提到了一些关键的Maven坐标,包括Spring的核心库`spring-context`,日志库`commons-logging`和`log4j`,测试库`junit`,以及Druid和MySQL的驱动。确保在`pom.xml`文件中添加这些依赖,以便在项目中使用它们。 ```xml <dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>5.0.2.RELEASE</version> </dependency> <dependency> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> <version>1.2</version> </dependency> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.12</version> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> <scope>test</scope> </dependency> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.1.10</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.62</version> </dependency> </dependencies> ``` 配置Druid数据源通常在Spring的配置文件`applicationContext.xml`中进行。以下是一个基本的Druid数据源配置示例: ```xml <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close"> <property name="driverClassName" value="com.mysql.jdbc.Driver"/> <property name="url" value="jdbc:mysql://localhost:3306/test?useSSL=false&serverTimezone=UTC"/> <property name="username" value="root"/> <property name="password" value="password"/> <!-- 配置初始化大小、最小、最大 --> <property name="initialSize" value="10"/> <property name="minIdle" value="10"/> <property name="maxActive" value="100"/> <!-- 配置获取连接等待超时的时间 --> <property name="maxWait" value="60000"/> <!-- 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 --> <property name="timeBetweenEvictionRunsMillis" value="60000"/> <!-- 配置一个连接在池中最小生存的时间,单位是毫秒 --> <property name="minEvictableIdleTimeMillis" value="300000"/> <property name="validationQuery" value="SELECT 1 FROM DUAL"/> <!-- 配置是否在初始化的时候就预填连接 --> <property name="testOnBorrow" value="true"/> <property name="testOnReturn" value="false"/> <property name="testWhileIdle" value="true"/> </bean> ``` 配置完成后,我们可以创建一个数据库访问层(DAO)接口和服务实现类,利用Spring的IOC来注入数据源并进行数据库操作。例如,创建一个名为`MyIpService`的服务接口和它的实现类`MyIpServiceImpl`,并在实现类中注入数据源。 ```java // MyIpService.java public interface MyIpService { List<MyIp> getAll_IP(); } // MyIpServiceImpl.java @Service public class MyIpServiceImpl implements MyIpService { @Autowired private DataSource dataSource; public List<MyIp> getAll_IP() { // 使用JdbcTemplate进行数据库操作 JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource); String sql = "SELECT ip_address, ip_date FROM my_ip"; return jdbcTemplate.query(sql, new RowMapper<MyIp>() { @Override public MyIp mapRow(ResultSet rs, int rowNum) throws SQLException { MyIp myIp = new MyIp(); myIp.setIpAddress(rs.getString("ip_address")); myIp.setIpDate(rs.getDate("ip_date")); return myIp; } }); } } ``` 在测试类中,我们可以使用`@Test`注解和`ClassPathXmlApplicationContext`来加载Spring的配置文件,并获取服务实现类的实例进行测试。描述中提到的测试类部分如下: ```java // 测试类 public class MyIpServiceTest { @Test public void test3() { ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml"); MyIpServiceImpl myipservice = ac.getBean("myipservice", MyIpServiceImpl.class); List<MyIp> all_ip = myipservice.getAll_IP(); for (MyIp myIp : all_ip) { System.out.print(myIp.getIpAddress() + " "); System.out.println(myIp.getIpDate()); } } } ``` 运行测试类,将打印出所有IP地址及其日期。这样,我们就完成了通过Spring的IOC控制和Druid数据源进行数据库基本操作的案例。 总结来说,本案例展示了如何在Spring框架中集成Druid数据源,配置相关参数,以及如何通过Spring的依赖注入机制来执行数据库查询。通过这种方式,我们可以方便地管理和控制数据库连接,提高应用程序的可维护性和灵活性。
- 粉丝: 1
- 资源: 957
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 永磁同步电机旋转高频信号注入法零低速无位置控制仿真,相比高频方波信号注入法,旋转高频信号注入法噪声更小损耗更低,该模型注入1000Hz旋转高频电压信号到电机中用于产生激励电流,在低速100rpm下无感
- jQuery实现的带左右切换按钮鼠标滑过图片向上弹出放大动态特效源码.zip
- 电子电气架构中整车网络管理与休眠唤醒机制详解
- jQuery实现点击按钮爆炸式弹出不同颗粒动画特效源码.zip
- 管材切割机sw18全套技术资料100%好用.zip
- 基于STM32环境温湿度监测系统设计(附项目代码zip)
- 钢板折边机sw18全套技术资料100%好用.zip
- IMG_20250104_163933.jpg
- win32汇编环境,理解BeginPaint函数与GetDC函数的区别
- SMTP(2).zip
- 过滤器清洗机step全套技术资料100%好用.zip
- CCNA-200-301.pdf
- 计算机视觉中圆与椭圆超最小二乘拟合算法(HyperLS)的理论与实验研究
- COMSOL 一维电化学模型和热模型 很重要,P2D模型计算 可以得到准确的热源 同时也可以仿真电压得到准确的数据 拟合即可使用 不用担心审稿人问你数据来源
- 轨道式可调铁板分张器sw19可编辑全套技术资料100%好用.zip
- 环形柔性链输送机sw16可编辑全套技术资料100%好用.zip