`
53873039oycg
  • 浏览: 841889 次
  • 性别: 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  
这仁兄好,,

相关推荐

    spring_mybatis.rar

    总的来说,"spring_mybatis.rar"这个压缩包提供了Spring与MyBatis整合的示例,旨在帮助初学者快速掌握数据库操作的基本步骤。通过学习和实践,你可以了解SSM(Spring、SpringMVC、MyBatis)框架的使用,为后续的Web...

    SpringMVC_Spring_mybatis_Oracle

    在这个名为"SpringMVC_Spring_mybatis_Oracle11g"的项目中,开发者整合了这三个组件,并且与Oracle 11g数据库进行了集成,实现了一个可以正常运行的示例。 首先,SpringMVC是Spring框架的一个模块,专门处理Web层的...

    spring_springmvc_mybatis整合示例.zip

    这个示例可能会包括简单的CRUD操作,自定义拦截器、异常处理器以及数据转换器的实现,帮助初学者快速理解和掌握Spring、Spring MVC和MyBatis的整合应用。 通过这样的整合,开发者可以利用Spring的强大功能进行依赖...

    Springboot_mybatis_CRUD.zip

    综上所述,"Springboot_mybatis_CRUD.zip"项目展示了如何使用SpringBoot和MyBatis进行数据库操作的典型应用,提供了从创建到运行的完整流程。通过学习和实践这个项目,开发者可以更深入地理解这两个框架的结合使用...

    spring_struts2_myBatis.zip

    在Spring4+Struts2+MyBatis的集成中,MyBatis作为数据访问层,处理数据库的CRUD操作,Spring则通过数据源和SqlSessionFactoryBean来管理和配置MyBatis。 这个压缩包中的应用实例,可能包含了以下主要组成部分: 1. ...

    springboot_mybatis_demo

    总之,"springboot_mybatis_demo"项目提供了一个基础的Spring Boot与MyBatis集成实例,展示了如何在现代Java应用中利用这两个强大的框架来构建高效的数据库访问层。通过这个示例,开发者可以快速理解和实践这两种...

    maven-spring-mybatis

    【标题】"maven-spring-mybatis"是一个项目示例,展示了如何将Spring框架与MyBatis持久层框架集成,以便在Java应用中实现高效的数据访问。该项目利用Maven进行依赖管理和构建流程。 【描述】中提到的关键知识点包括...

    spring mvc mybatis 整合源码,带数据库脚本,带详细注释

    总结,这个压缩包提供了一个完整的Spring MVC和MyBatis整合的示例,包含了数据库脚本和详尽的注释,无论你是初学者还是有经验的开发者,都能从中受益。通过研究源码,你可以掌握Web应用的开发流程,理解Spring MVC和...

    spring_maven_mybatis3_junit4

    【SpringMVC+Spring4+MyBatis3+Maven3+junit4 整合详解】 在现代Java Web开发中,SpringMVC、Spring、MyBatis和JUnit是四个非常重要的框架和技术。这个项目组合使用了这些技术,构建了一个完整的Maven Web应用,...

    mybatis_spring.zip_mybatis整合spring的包

    7. **MyBatis-Spring 示例代码**: - 创建 Spring 的配置文件,定义 DataSource、SqlSessionFactoryBean、MapperScannerConfigurer 等 Bean。 - 编写 Mapper 接口和对应的 XML 文件。 - 在 DAO 类中继承 ...

    SpringMVC+Spring+Mybatis+数据库完整代码可运行

    这是一个基于Java技术栈的Web开发项目,主要使用了SpringMVC、Spring和Mybatis三个核心框架,配合数据库实现了一个完整的应用程序。以下是对这些技术及它们如何协同工作的详细解释: 1. **SpringMVC**:SpringMVC是...

    spring4.3 mybatis3.4 整合

    在Spring与MyBatis的整合中,MyBatis作为数据访问层,处理数据库的CRUD操作。通过Spring的SqlSessionTemplate或MyBatis的SqlSessionFactoryBean,我们可以将MyBatis的Mapper接口注入到Spring的bean中,从而实现业务...

    Spring整合Mybatis与SpringBoot整合Mybatis原理分析

    - **SSM集成示例**: 通过具体的代码示例展示如何在SSM项目中实现CRUD操作,以及如何进行事务控制。 5. **学习笔记要点** - **Spring的IoC和AOP**: 了解Spring如何通过依赖注入和面向切面编程实现组件间的解耦。 ...

    Spring-Mybatis整合

    Spring 和 Mybatis 是两个在Java开发中非常流行的开源框架,Spring 作为一个全面的轻量级应用框架,提供了依赖注入、AOP(面向切面编程)等功能,而Mybatis则是一个优秀的持久层框架,专注于SQL映射和数据库操作。...

    SSM.rar_DEMO_ssm_ssm_crud_ssm的简单的crud

    这个"SSM.rar_DEMO_ssm_ssm_crud_ssm的简单的crud"是一个压缩包,其中包含了一个小型的示例项目,用于演示SSM框架进行基本的CRUD(创建、读取、更新、删除)操作。以下是关于SSM框架和CRUD操作的详细知识点: 1. **...

    springbot2_mybatis.zip

    综上所述,"springbot2_mybatis.zip"项目是一个基础的Spring Boot整合MyBatis的示例,展示了如何在Spring Boot环境中搭建MyBatis,进行数据库操作,以及如何构建一个简单的CRUD应用。这个案例对于学习和理解Spring ...

Global site tag (gtag.js) - Google Analytics