JAVA开发中遇到的问题2

增加:

A  String id = session.save(urGift).toString();返回ID转换STRING进行判断

B  VOID session.saveOrUpdate(gift);

修改

A.传进 对象 ,传什么 改什么,没传的不变 缺点:不可清0,抛异常到判断成败

可用于增加减少等操作

public void updateUserGift(UserReceivedGift urGift) throws Exception{

resulturGift = (UserReceivedGift) session.get(UserReceivedGift.class, urGift.getUrgId());

if ( urGift.getUserId() != 0&&!"".equals(urGift.getUserId())) {判断整形等不可NULL的类型

resulturGift.setUserId(urGift.getUserId());

}

if (urGift.getNewGift()!= null&&!"".equals(urGift.getNewGift())) {判断字符串等

resulturGift.setNewGift(urGift.getNewGift());

}

session.update(resulturGift);

}

B.抛异常判断成败,没修改的将被改为默认值

public void updateUserGift(UserReceivedGift urGift) throws Exception{

session.update(userInfo);}

session.saveOrUpdate(gift);

3.删除

A.返回ID

public int delGift(long id){

Session session=sessionFactory.getCurrentSession();

StringBuffer sql=new StringBuffer("delete from Gift g where g.giftId=? ");

Query query = session.createQuery(sql.toString());

query.setLong(0, id);

int update = query.executeUpdate();

return update;

}

B.session.delete(object) 返回空 throws Exception判断成败

 

4.类型转换

JDK1.5后提供拆箱

Long)方式只能是内部是long a=(Long) session.getAttribute("userId");

int startRow = Integer.parseInt(httpServletRequest.getParameter("pager.offset"))

long userInfoId = Long.parseLong(rtList.get(i).toString());

 

SQL查询结果转换VO

List接收List rsList= userInfoDao.FindUI(highvideo,uVo,page,pageSize);

for(int i=0;i<rsList.size();i++){

Object[] obj=(Object[])rsList.get(i);

long uId = Long.parseLong(obj[0].toString());

uInfoVo.setSex(Integer.parseInt(obj[2].toString()));}

List<UInfoVo> uInfoList=new ArrayList<UInfoVo>();

uInfoList.add();

 

5.SQL语句查询封装对象PO

addEntity(Class class)支持select* ( SQL语法)不支持任意列

setResultTransformer(Transformers.aliasToBean(Propertyfigure.class))支持任意列

Eg.

session.createSQLQuery(hql.toString()).addScalar("propertyfigureId",LongType.INSTANCE).setResultTransformer(Transformers.aliasToBean(Propertyfigure.class));

 

6.SQL语句查询bigIntlong

Hibernate4.1import org.hibernate.type.LongType

addScalar("propertyfigureId",LongType.INSTANCE)列熟悉类型转换

 

 

7.SQL语句查询直接放入map前端返回JSON传,不封装如对象,故没有类型转换问题

setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP)

eg.Query query = session.createSQLQuery(hql.toString()).setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP)

createQuery()也可以(没KeY

 

8.AJAX上传function ajaxFileImageUpload()

{

$.ajaxFileUpload

(

{

url:'upload_uploadImage', 

secureuri:false,

fileElementId:'fileToUpload',

dataType: 'json',

success: function (data, status)

{

if(typeof(data.error) != 'undefined')

{

if(data.error != '')

{

alert(data.error);

}else

{

alert(data.msg);

}

}

else

{

alert('上传成功');

window.returnValue = data.data;

window.close();

}

},

error: function (data, status, e)

{

alert(e);

}

}

);

return false;

 

9.AOP---XML

A.ProceedingJoinPoint只支持环绕通知aop:around

B.JoinPoint 支持前置后置通知,写 日志 

C.前置后置不可拦截方法,环绕可以拦截方法ProceedingJoinPoint.proceed()执行方法;else返回与被拦截方法返回类型一致

D.XML配置:注意标签顺序<aop:pointcut。。<aop:advisor。。<aop:aspect。。。。。。

E.<aop:aspectj-autoproxy proxy-target-class="false"/>默认false通过接口,true直接 实例化类

F.pjp.getArgs()得到被拦截方法的参数

G.ProceedingJoinPoint.getThis()获得代理对象,即拦截adminAction方法可获得adminAction对象,通过对象属性sessionadminAction.getSession()

<aop:pointcutid="allAddMethod" expression="execution(public*com.wiwoworld.realproperty.action..*.Add*(..))" />

<aop:aspect id="security" ref="Voucher">

<aop:aroundmethod="examiaeAround"pointcut-ref="allAddMethod"/>  </aop:aspect>

 

 

 

10.Ckeditor,页面加载html数据

window.onload = function() {//<textarea>标签增加编辑功能

//CKEDITOR.replace('content');

CKEDITOR.replace('content', {

toolbar : 'Full',

skin : 'kama'

});

};

$(function() {

var contentUrl = $("#contentUrl").val();

if (contentUrl != '') {

$.get('/BuyHouses/' + contentUrl, '', function(returnData) {

var body = returnData.replace(/^[\S\s]*<body[^>]*?>/i, "")

.replace(/<\/body[\S\s]*$/i, "");

var foundoffset = body.indexOf('<div class="nr">');

var divstr = body.substring(foundoffset, body.length);

$('#content').val(divstr);

window.refresh();

}, 'html');

}

$("#priority").val($("#oldpriority").val());

$("#advertiseUrl").val($("#oldadvertiseUrl").val());

$("#adType").val($("#oldadType").val());

});

11.视频截图

 Myjava.jar,可反编译有demo

12.视频时长

import it.sauronsoftware.jave.Encoder;

import it.sauronsoftware.jave.MultimediaInfo;

public static Long getVideoTime(String dir){

String filepath = ServletActionContext.getServletContext().getRealPath(dir);

File source = new File(filepath);

        Encoder encoder = new Encoder();

        Long ls=null;

        try {

             MultimediaInfo m = encoder.getInfo(source);

             ls = m.getDuration();

        } catch (Exception e) {

            e.printStackTrace();

        }

        return ls;

}

 

13.图片水印

ImageUtils.java

14.Freemarker生成静态html

FreeMarkerUtil.java

15.汉字转拼音

ChineseToPin.java

16.时间计算

ParseTimestamp.java

17.图片验证码

ValidateCode.java

18.MD5.java

MD5Util.java

19.BaseAction.java

20.百度地图可点击获取坐标,可滚动鼠标缩放

Map.jsp

输入地址获得坐标:

function renderOption(response) {

var lat=response.results[0].location.lat;

var lng=response.results[0].location.lng;

    document.getElementById('lat').value = lat;

    document.getElementById('lng').value = lng;

}

function getCoord(){//得到坐标

var ak="hoatiE3qNAUHCUNqVnEltQac";

var area=$("#housesArea").val();

var url="http://api.map.baidu.com/place/v2/search?ak="+ak+"&output=json&query="+area+"&page_size=1&page_num=1&scope=1®ion=西安";

 $.getJSON("http://gothisway.duapp.com/callback.php?callback=?&url=" + encodeURIComponent(url), function(data){ 

        renderOption(data);});

  }

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值