`
53873039oycg
  • 浏览: 826624 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

[简单]Spring_Mybatis_CRUD简单示例(带数据库)

阅读更多

        上次写了篇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;

    本文系原创,转载请注明出处,谢谢。

    全文完

 

  • 大小: 49.5 KB
  • 大小: 161.3 KB
  • 大小: 63.8 KB
  • 大小: 145.2 KB
  • 大小: 130.9 KB
  • 大小: 91.7 KB
  • 大小: 140.8 KB
0
0
分享到:
评论
1 楼 yinjiangzhb 2015-01-16  
这仁兄好,,

相关推荐

    MyBatis-Plus 的官方示例(mybatis-plus-samples-master.zip)

    mybatis-plus-sample-crud: 完整 CRUD 示例 mybatis-plus-sample-wrapper: 条件构造器示例 mybatis-plus-sample-pagination: 分页功能示例 mybatis-plus-sample-active-record: ActiveRecord示例 mybatis-plus-...

    springCloud的crud模板示例

    springCloud的crud模板示例,依赖关联,连接mysql,mybatis实现crud

    Spring Boot整合Mybatis并完成CRUD操作的实现示例

    主要介绍了Spring Boot整合Mybatis并完成CRUD操作的实现示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    SpringMVC3+Spring3+Mybatis3学习示例

    这是SpringMVC3+Spring3+Mybatis3的学习示例,显示用的是FreeMarker模板,数据库请用MySQL5.5以上版本,示例中除了CRUD外,还包括自定义注解、后台数据绑定校验、FreeMarker静态化等功能演示。

    基于SSM框架的Java CRUD操作示例源码

    本项目采用Java作为主要开发语言,整合了CSS、JavaScript等前端技术,构建了一个基于SSM(Spring、SpringMVC、MyBatis)框架的CRUD(增删改查)操作示例。该示例共包含46个文件,其中: - Java源文件:14个,涵盖了...

    springboot-集成达梦数据库-源代码

    springboot-父子工程-初始版(包含CRUD示例接口) jpa-hibernate-dm: 数据库为{国产达梦数据库},持久层技术为jpa-hibernate mybatis-dm: 数据库为{国产达梦数据库},持久层技术为mybatis mybatis-plus-dm: 数据库为{...

    SpringBoot使用Mybatis Plus详解含示例代码(值得珍藏)

    本文将详细介绍如何在Spring Boot项目中集成和使用MyBatis Plus。...通过本文的介绍,你可以了解到如何在Spring Boot中使用MyBatis Plus进行实体映射、CRUD操作以及常用功能的实现。希望对你有所帮助。

    spring-boot示例项目

    mybatis-plus-crud|[基于mybatisplus实现数据库增、册、改、查](https://github.com/smltq/spring-boot-demo/blob/master/mybatis-plus-crud) encoder|[主流加密算法介绍、用户加密算法推荐]...

    Spring boot整合Mybatis实现级联一对多CRUD操作的完整步骤

    主要给大家介绍了关于Spring boot整合Mybatis实现级联一对多CRUD操作的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧

    mybatis-plus-samples:MyBatis-Plus示例

    springmvc:简化的替换映射器类示例(Spring MVC版本) mybatis-plus-sample-generator:代码生成器示例mybatis-plus-sample-crud:完整的CRUD示例mybatis-plus-sample-wrapper:条件构造器示例mybatis加上样本分页...

    基于Java的微服务实践,单体微服务创建、Docker部署、Dubbo微服务实践等.zip

    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框架的CRUD示例源码,采用纯Ajax技术实现

    项目概述:本项目是一个基于SSM(Spring、SpringMVC、MyBatis)框架的CRUD(Create、Read、Update、Delete)操作示例源码,前端采用纯Ajax技术实现数据交互。该项目涉及的主要编程语言为Java,同时融合了JavaScript...

    SSM框架CRUD的示例

    从ssm框架的搭建开始, 让你可以完整的了解到从前台到后台的数据交互!!

    Mybatis 增强工具包 - 只做增强不做改变,简化CRUD操作

    依赖少:仅仅依赖 Mybatis 以及 Mybatis-Spring,损耗小:启动即会自动注入基本CURD,性能基本无损耗,直接面向对象操作,通用CRUD操作:内置通用 Mapper、通用 Service,仅仅通过少量配置即可实现单表大部分 CRUD ...

    JThis:Java Web 开发框架,使用Spring + Mybatis + Shiro + Druid等技术

    基本功能:封装了通用的CRUD,减少重复代码URL支持RestfulDruid实时监控通用的权限管理,基于Shiro权限管理Spring MultiFile多文件上传FastJson解析前端模块化开发示例项目截图If you have a better suggestion,...

    Spring Data JPA.rar

    使用Spring Boot 2.1.6轻松实现JPA操作MySQL数据库的CRUD,以及分页和排序功能。在Spring Boot 2.x版本中可以非常轻松、快速搞定持久层的开发动作,配置比SpringBoot+MyBatis还少,偶觉得它除了执行效果不如...

Global site tag (gtag.js) - Google Analytics