20131105工作总结

本文深入探讨了MySQL存储过程的创建与调用、Spring框架的异步处理配置、Hibernate框架的动态更新机制、Java语言如何调用存储过程、消息推送的不同实现方式以及Java解析JSON数据的具体操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

接触的新知识概述:mysql存储过程、spring异步、hibernate动态更新、java调用储存过程、消息推送、java解析json数据。

一、mysql存储过程

delimiter $$   #声明定界符
drop procedure if exists 'demo_pro' $$
create procedure 'demo_pro'(in p1 int,out p2 varchar(200))  #in 表示入参,out表示处参,参数类型,
begin
   ..........
end $$
delimiter;
 说明:1、
	IN 输入参数:表示该参数的值必须在调用存储过程时指定,在存储过程中修改该参数的值不能被返回,为默认值
	OUT 输出参数:该值可在存储过程内部被改变,并可返回(不改变时输出的是null)
	INOUT 输入输出参数:调用时指定,并且可被改变和返回
	2、declare 变量   和 set @变量,前者是局部变量,后者是全局变量,即使在存储过程之外也可以改变此变量的值
	3、CONCAT(p1,p2),链接函数,将变量p1的值与p2的链接起来。
	4、data_format(变量,‘%Y-%m-%d %H:%m:%s’),日期格式化函数
	5、if(表达式,result1,result2),is null, is not null,ifnull(expression,result)
	6、GROUP_CONCAT 合并多行数据的时候使用,与group by联合使用
	7、union 和 union all ,前者会过滤掉重复的数据,后者不过滤
	8、case ...when ...then...else ... end case
	9、prepare ... execute ... deallocate prepare...预处理,动态传参
	mysql> PREPARE stmt1 FROM 'SELECT SQRT(POW(?,2) + POW(?,2)) AS hypotenuse';
	mysql> SET @a = 3;
	mysql> SET @b = 4;
	mysql> EXECUTE stmt1 USING @a, @b;
	mysql> DEALLOCATE PREPARE stmt1;

二、spring异步
	配置文件applicationContext.xml
	<context:component-scan base-package="com.ubunta"/>
	<task:annotation-driver/>
	在需要执行的方法上加注解@Async即可实现此方法异步执行
三、hibernate动态更新
	在po类的头上加上@DynamicUpdate(true)即可实现,当从数据库中查询的对象改变之后更新数据库的时候只更新已被更改的字段,若该对象没有被改变,即使调用saveOrUpdate方法也不会真更去更新数据库。
	配置文件里面 dynamic-insert,dynamic-update
四、java调用存储过程
Connection conn = super.getConnection();
CallableStatment call = conn.prepareCall("{call demo_pro(?,?)}");
call.setInt(1,21);
call.setString(2,"nihao");
call.execute();
ResultSet rs = call.getResultSet();



五、消息推送
	主要分IOS和Android,IOS需要苹果的证书,android使用百度的云推
六、java解析json数组
	使用Jackson框架解析json
	ObjectMapper map = new ObjectMapper();
	map.readValue(jsonStr,bean.class);
	参考:http://www.cnblogs.com/lee0oo0/archive/2012/08/23/2652751.html


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值