Java 中级实践:MyBatis 批量删除与 SSM 数据库配置
需积分: 9 168 浏览量
更新于2024-07-03
收藏 1.36MB DOCX 举报
"Java 中级实操文档,包含 MyBatis 批量删除与 SSM 框架数据库配置"
在 Java 开发中,MyBatis 是一个流行的持久层框架,它允许开发者将 SQL 查询与 Java 代码直接绑定。在这个问题中,我们需要使用 MyBatis 的注解方式来实现根据 `companyID` 进行批量删除的功能。
在给定的代码片段中,我们看到了一个 `@Delete` 注解,这是 MyBatis 用于定义 SQL 删除操作的注解。我们需要填充缺失的部分来完成批量删除的方法。
1. 第一个空格【1】应该填写的是 SQL 中的条件,这里是要表示 `companyID` 在给定列表中。在 SQL 的 `IN` 条件语句中,这通常表示为 `IN (value1, value2, ...)`,所以这里应填写 `IN`。
2. 第二个空格【2】代表集合的名称,这个集合包含了待删除的 `companyID`。在方法签名中,我们看到参数是 `@Param("idList") List<String> idList`,这意味着列表的参数名是 `idList`,因此这里填写 `idList`。
3. 第三个空格【3】需要填写的是 SQL 语句中的占位符,代表 `companyID` 字段,由于我们在 `<foreach>` 循环中引用了它,所以这里填写 `companyID`。
完整的代码应该如下所示:
```java
@Delete("<script>"
+ "DELETE FROM cfa_company WHERE companyID IN "
+ "<foreach item='companyID' index='index' collection='idList' open='(' separator=',' close=')'>"
+ "#{companyID}"
+ "</foreach>"
+ "</script>")
void deleteByCompanyID(@Param("idList") List<String> idList);
```
接下来,我们来看 SSM 框架(Spring、SpringMVC、MyBatis)的配置部分。这部分涉及 Spring 配置数据库连接、MyBatis 整合 Spring 以及事务管理。
1. 第一个空格【1】通常用于加载配置文件,如数据库连接信息,此处填写 `property`,因为我们需要加载 `db.properties` 文件,所以这里是 `<context:property-placeholder location="classpath:db.properties"/>`。
2. 第二个空格【2】是 MyBatis 的 `SqlSessionFactory`,表示 MyBatis 与 Spring 的集成,这里填写 `SqlSessionFactoryBean`。
3. 第三个空格【3】是传递数据源给 `SqlSessionFactory` 的属性,所以填写 `dataSource`。
4. 第四个空格【4】是 JDBC 事务管理器的配置,这里填写 `DataSourceTransactionManager`,并使用 `dataSource-ref` 属性引用数据源。
5. 第五个空格【5】应与上一个空格的 `dataSource` 相匹配,继续填写 `dataSource`。
6. 第六个空格【6】是启用基于注解的事务管理配置,这里填写 `annotation-driven`。
完整的配置段可能如下:
```xml
<!-- 加载数据源数据 -->
<context:property-placeholder location="classpath:db.properties"/>
<!-- 配置c3p0数据源 -->
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"/>
<!-- 配置mybatis整合Spring的bean -->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean" p:dataSource-ref="dataSource"/>
<!-- jdbc事物管理器配置 -->
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager" p:dataSource-ref="dataSource"/>
<!-- 启用支持annotation注解方式事物管理 -->
<tx:annotation-driven/>
```
这段配置将确保 Spring 可以管理 MyBatis 的事务,并且能够正确地处理数据库连接。通过这种方式,我们可以方便地在 Java 代码中使用注解来控制事务边界。
2022-07-08 上传
2493 浏览量

m0_65944781
- 粉丝: 0
最新资源
- Swift实现渐变圆环动画的自定义与应用
- Android绘制日历教程与源码解析
- UCLA LONI管道集成Globus插件开发指南
- 81军事网触屏版自适应HTML5手机网站模板下载
- Bugzilla4.1.2+ActivePerl完整安装包
- Symfony SonataNewsBundle:3.x版本深度解析
- PB11分布式开发简明教程指南
- 掌握SVN代码管理器,提升开发效率与版本控制
- 解决VS2010中ActiveX控件未注册的4个关键ocx文件
- 斯特里尔·梅迪卡尔开发数据跟踪Android应用
- STM32直流无刷电机控制实例源码剖析
- 海豚系统模板:高效日内交易指南
- Symfony CMF路由自动化:routing-auto-bundle的介绍与使用
- 实现仿百度下拉列表框的源码解析
- Tomcat 9.0.4版本特性解析及运行环境介绍
- 冒泡排序小程序:VC6.0实现代码解析