上次写了篇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;
本文系原创,转载请注明出处,谢谢。
全文完。
相关推荐
mybatis-plus-sample-crud: 完整 CRUD 示例 mybatis-plus-sample-wrapper: 条件构造器示例 mybatis-plus-sample-pagination: 分页功能示例 mybatis-plus-sample-active-record: ActiveRecord示例 mybatis-plus-...
springCloud的crud模板示例,依赖关联,连接mysql,mybatis实现crud
主要介绍了Spring Boot整合Mybatis并完成CRUD操作的实现示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
这是SpringMVC3+Spring3+Mybatis3的学习示例,显示用的是FreeMarker模板,数据库请用MySQL5.5以上版本,示例中除了CRUD外,还包括自定义注解、后台数据绑定校验、FreeMarker静态化等功能演示。
本项目采用Java作为主要开发语言,整合了CSS、JavaScript等前端技术,构建了一个基于SSM(Spring、SpringMVC、MyBatis)框架的CRUD(增删改查)操作示例。该示例共包含46个文件,其中: - Java源文件:14个,涵盖了...
springboot-父子工程-初始版(包含CRUD示例接口) jpa-hibernate-dm: 数据库为{国产达梦数据库},持久层技术为jpa-hibernate mybatis-dm: 数据库为{国产达梦数据库},持久层技术为mybatis mybatis-plus-dm: 数据库为{...
本文将详细介绍如何在Spring Boot项目中集成和使用MyBatis Plus。...通过本文的介绍,你可以了解到如何在Spring Boot中使用MyBatis Plus进行实体映射、CRUD操作以及常用功能的实现。希望对你有所帮助。
mybatis-plus-crud|[基于mybatisplus实现数据库增、册、改、查](https://github.com/smltq/spring-boot-demo/blob/master/mybatis-plus-crud) encoder|[主流加密算法介绍、用户加密算法推荐]...
主要给大家介绍了关于Spring boot整合Mybatis实现级联一对多CRUD操作的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
springmvc:简化的替换映射器类示例(Spring MVC版本) mybatis-plus-sample-generator:代码生成器示例mybatis-plus-sample-crud:完整的CRUD示例mybatis-plus-sample-wrapper:条件构造器示例mybatis加上样本分页...
spring-boot-mybatis-thymeleaf-crud Spring Boot+MyBatis+Thymeleaf实现增删改查示例 spring-boot-docker Sping Boot使用远程Docker部署 spring-boot-integration Sping Boot多模块示例 spring-boot-dubbo Sping ...
项目概述:本项目是一个基于SSM(Spring、SpringMVC、MyBatis)框架的CRUD(Create、Read、Update、Delete)操作示例源码,前端采用纯Ajax技术实现数据交互。该项目涉及的主要编程语言为Java,同时融合了JavaScript...
从ssm框架的搭建开始, 让你可以完整的了解到从前台到后台的数据交互!!
依赖少:仅仅依赖 Mybatis 以及 Mybatis-Spring,损耗小:启动即会自动注入基本CURD,性能基本无损耗,直接面向对象操作,通用CRUD操作:内置通用 Mapper、通用 Service,仅仅通过少量配置即可实现单表大部分 CRUD ...
基本功能:封装了通用的CRUD,减少重复代码URL支持RestfulDruid实时监控通用的权限管理,基于Shiro权限管理Spring MultiFile多文件上传FastJson解析前端模块化开发示例项目截图If you have a better suggestion,...
使用Spring Boot 2.1.6轻松实现JPA操作MySQL数据库的CRUD,以及分页和排序功能。在Spring Boot 2.x版本中可以非常轻松、快速搞定持久层的开发动作,配置比SpringBoot+MyBatis还少,偶觉得它除了执行效果不如...