上次写了篇Spring_CRUD简单示例的文章,有些朋友反映没有使用数据库,当时只是为了测试方便,今天分享篇带数据库的例子,例子带批量删除和批量导入数据,有前台验证,数据库使用了Oracle,结果如下:
新增用户前台校验:
新增用户结果:
下面说下代码中部分关键代码:
得到所有用户:
<select id="getUserAll" resultType="UserInfo"> select t.id, t.uname, t.uemail, (select name from tsql_test_region tr where tr.id = t.uregion) uregion, (select name from tsql_test_region tr where tr.id = t.ucounty) ucounty, t.usale, t.uhiredate from tsql_test_userinfo t </select>
修改用户信息前,设置原来的值:
function preUpdateUser(varId) { $("#formDiv").css("display","block"); var varRegion=''; var varCounty=''; var rgId=''; $.ajax({ type : "get", url : "<%=path%>/user/list/"+varId, dataType:"json", success : function(data, textStatus) { varRegion=data.uRegion; varCounty=data.uCounty; $('#uName').val(data.uName); $('#uEmail').val(data.uEmail); $('#uSale').val(data.uSale); $('#uHireDate').val(data.uHireDate); $('#userForm').append('<input type="hidden" id="id" name="id"/>'); $('#id').val(data.id); $('#userForm').attr('action','<%=path%>/user/list/updateUser'); $('#addUserSpan').html('修改'); $.ajax({ type : "get", url : "<%=path%>/region/all", dataType:"json", success : function(data, textStatus) { var options=''; $.each(data, function(index, value) { if(value.name==varRegion){ rgId=value.id; options+="<option value=\""+value.id+"\" selected>"+value.name+"</option>"; $.ajax({ type : "get", url : "<%=path%>/region/region", data : { regionId : rgId }, dataType : "json", success : function(data, textStatus) { var options = ''; $.each(data, function(index, value) { if(value.name==varCounty){ options+="<option value=\""+value.id+"\" selected>"+value.name+"</option>"; }else{ options+="<option value=\""+value.id+"\">"+value.name+"</option>"; } }); $('#uCounty').html(options); }, error : function() { artDialogOpen('error','系统错误','系统错误,请刷新页面!'); } }); }else{ options+="<option value=\""+value.id+"\">"+value.name+"</option>"; } }); $('#uRegion').html(options); }, error : function() { artDialogOpen('error','系统错误','系统错误,请刷新页面!'); } }); }, error : function() { artDialogOpen('error','系统错误','系统错误,请刷新页面!'); } }); }
批量删除:
function deleteAll() { var varUserIds =''; $("#infoDetail input[type='checkbox']:checked").each(function() { varUserIds+=this.value; varUserIds+=',' }); if (varUserIds.length == 0) { artDialogOpen('warning','系统提示','请选择要删除的记录'); return false; } varUserIds=varUserIds.substring(0, varUserIds.length - 1); $.ajax({ type : "get", url : "<%=path%>/user/list/deleteUsers", data : { userIds : varUserIds }, success : function(status) { window.location.href="<%=path%>/"; }, error : function() { artDialogOpen('error','系统错误','系统错误,请刷新页面!'); } }); }
Mybatis中配置为:
<delete id="deleteUsers"> delete from tsql_test_userinfo where id in <foreach collection="array" item="item" index="index" open="(" separator="," close=")"> #{item} </foreach> </delete>
Java代码:
@RequestMapping(value = "/list/deleteUsers", method = RequestMethod.GET) public @ResponseBody String deleteUser(@RequestParam(required = true) long[] userIds) { boolean flag = userInfoService.deleteUsers(userIds); if (flag) { return "success"; } else { return "error"; } }
结果为:
批量导入:
<insert id="batchInsertUsers" parameterType="java.util.List"> insert into tsql_test_userinfo(id, uname, uemail, uregion, ucounty, usale, uhiredate)( select rpt_seq$seq.nextval,A.* from( <foreach collection="list" item="test" index="index" separator="union all"> select #{test.uName}, #{test.uEmail}, #{test.uRegion},#{test.uCounty},#{test.uSale},#{test.uHireDate} from dual </foreach> )A) </insert>
结果为:
最后是报表下载,结果为:
其他的代码见附件,建表语句文件在createtable.sql,请自己建序列,因为我好像忘记添加上去了,不会的参考下面的sql:
-- Create sequence create sequence RPT_SEQ$SEQ minvalue 1 maxvalue 9999999999999 start with 1 increment by 1 cache 20;
本文系原创,转载请注明出处,谢谢。
全文完。
相关推荐
总的来说,"spring_mybatis.rar"这个压缩包提供了Spring与MyBatis整合的示例,旨在帮助初学者快速掌握数据库操作的基本步骤。通过学习和实践,你可以了解SSM(Spring、SpringMVC、MyBatis)框架的使用,为后续的Web...
在这个名为"SpringMVC_Spring_mybatis_Oracle11g"的项目中,开发者整合了这三个组件,并且与Oracle 11g数据库进行了集成,实现了一个可以正常运行的示例。 首先,SpringMVC是Spring框架的一个模块,专门处理Web层的...
这个示例可能会包括简单的CRUD操作,自定义拦截器、异常处理器以及数据转换器的实现,帮助初学者快速理解和掌握Spring、Spring MVC和MyBatis的整合应用。 通过这样的整合,开发者可以利用Spring的强大功能进行依赖...
综上所述,"Springboot_mybatis_CRUD.zip"项目展示了如何使用SpringBoot和MyBatis进行数据库操作的典型应用,提供了从创建到运行的完整流程。通过学习和实践这个项目,开发者可以更深入地理解这两个框架的结合使用...
在Spring4+Struts2+MyBatis的集成中,MyBatis作为数据访问层,处理数据库的CRUD操作,Spring则通过数据源和SqlSessionFactoryBean来管理和配置MyBatis。 这个压缩包中的应用实例,可能包含了以下主要组成部分: 1. ...
总之,"springboot_mybatis_demo"项目提供了一个基础的Spring Boot与MyBatis集成实例,展示了如何在现代Java应用中利用这两个强大的框架来构建高效的数据库访问层。通过这个示例,开发者可以快速理解和实践这两种...
【标题】"maven-spring-mybatis"是一个项目示例,展示了如何将Spring框架与MyBatis持久层框架集成,以便在Java应用中实现高效的数据访问。该项目利用Maven进行依赖管理和构建流程。 【描述】中提到的关键知识点包括...
总结,这个压缩包提供了一个完整的Spring MVC和MyBatis整合的示例,包含了数据库脚本和详尽的注释,无论你是初学者还是有经验的开发者,都能从中受益。通过研究源码,你可以掌握Web应用的开发流程,理解Spring MVC和...
【SpringMVC+Spring4+MyBatis3+Maven3+junit4 整合详解】 在现代Java Web开发中,SpringMVC、Spring、MyBatis和JUnit是四个非常重要的框架和技术。这个项目组合使用了这些技术,构建了一个完整的Maven Web应用,...
7. **MyBatis-Spring 示例代码**: - 创建 Spring 的配置文件,定义 DataSource、SqlSessionFactoryBean、MapperScannerConfigurer 等 Bean。 - 编写 Mapper 接口和对应的 XML 文件。 - 在 DAO 类中继承 ...
这是一个基于Java技术栈的Web开发项目,主要使用了SpringMVC、Spring和Mybatis三个核心框架,配合数据库实现了一个完整的应用程序。以下是对这些技术及它们如何协同工作的详细解释: 1. **SpringMVC**:SpringMVC是...
在Spring与MyBatis的整合中,MyBatis作为数据访问层,处理数据库的CRUD操作。通过Spring的SqlSessionTemplate或MyBatis的SqlSessionFactoryBean,我们可以将MyBatis的Mapper接口注入到Spring的bean中,从而实现业务...
- **SSM集成示例**: 通过具体的代码示例展示如何在SSM项目中实现CRUD操作,以及如何进行事务控制。 5. **学习笔记要点** - **Spring的IoC和AOP**: 了解Spring如何通过依赖注入和面向切面编程实现组件间的解耦。 ...
Spring 和 Mybatis 是两个在Java开发中非常流行的开源框架,Spring 作为一个全面的轻量级应用框架,提供了依赖注入、AOP(面向切面编程)等功能,而Mybatis则是一个优秀的持久层框架,专注于SQL映射和数据库操作。...
这个"SSM.rar_DEMO_ssm_ssm_crud_ssm的简单的crud"是一个压缩包,其中包含了一个小型的示例项目,用于演示SSM框架进行基本的CRUD(创建、读取、更新、删除)操作。以下是关于SSM框架和CRUD操作的详细知识点: 1. **...
综上所述,"springbot2_mybatis.zip"项目是一个基础的Spring Boot整合MyBatis的示例,展示了如何在Spring Boot环境中搭建MyBatis,进行数据库操作,以及如何构建一个简单的CRUD应用。这个案例对于学习和理解Spring ...