JAVA开发中遇到的问题2
来源:互联网 发布:linux nslookup找不到 编辑:程序博客网 时间:2024/06/10 18:18
增加:
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语句查询bigInt转long
Hibernate4.1包import 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对象,通过对象属性session可adminAction.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);});
}
- JAVA开发中遇到的问题2
- Java 开发中遇到的乱码问题
- Java 开发中遇到的乱码问题
- Java 开发中遇到的乱码问题
- Java 开发中遇到的乱码问题
- Java 开发中遇到的乱码问题
- Java 开发中遇到的乱码问题
- java 开发中遇到的问题
- java开发中经常遇到的问题
- java开发中遇到的问题记录
- java开发过程中遇到的问题
- java开发中遇到的问题
- 开发中遇到的问题
- 开发中遇到的问题
- 开发中遇到的问题
- 开发中遇到的问题
- 开发中遇到的问题
- 开发中遇到的问题
- python列表余集
- Meta标签详解
- 2014腾讯实习面试题
- 安卓观察者ContentObserver模式用正则获取短信验证码
- onTouchEvent方法的使用
- JAVA开发中遇到的问题2
- freescale 逻辑地址和物理地址之间的关系
- position中relative和absolute属性详解
- C/C++求职宝典21个重点笔记(常考笔试面试点)(转)
- Failure [INSTALL_FAILED_OLDER_SDK]错误修改方案
- SSD的写入放大技术是什么-Write amplification
- ubuntu设置开机启动程序
- Python 读取excle文件所有内容[xlrd模块]
- JavaScript学习第十课--Switch