一.常用eclipse快捷键:
Ctrl+Shift +R 查找任何具体文件
Ctrl +H 一般用于查找action所在的类 *.java
Ctrl +F 本页面查找某个字段
Ctrl +K 跳到本页面的下一个相同字段
二.JqueryAjax后台返回list到json
1:只返回一个List的情况:
后台:
@RequestMapping("getSchool.action")
public String getSchool(HttpServletRequest request, HttpServletResponse response) {
List<LibraryModel> schoolList = regionsDao.querySchool(request.getParameter("parentid"));
Gson gson = new Gson();
String json = gson.toJson(schoolList);
Util.sendJson(json, response);
return null;}
前台:
if(level==5){ //当选择市时加载高校列表
$.ajax({
type: "post",
url: "${pageContext.request.contextPath}/getSchool.action",
data:{
"parentid":parentid
},
success: function(data){
var json = JSON.parse(data);
for(var i=0;i<json.length;i++){
$("#"+elementId).append('<option value="'+json[i].id+'">'+json[i].org_name+'</option>');
}
}
});
2:返回多个对象的情况:(用HashMap键值对方式存放多个对象)
后台:
@RequestMapping("toTalLibProList.action")
public String toTalLibProList(HttpServletRequest request, HttpServletResponse response,
@RequestParam("ptype") int ptype, @RequestParam("lid") String lid, @RequestParam("code") String code,
@RequestParam("comefrom") String comefrom, @RequestParam("org_name") String org_name,
PageModel page, SortModel sort) {
//建一个HashMap来放 成果和需求list和分页模型
HashMap<String, Object> result = new HashMap<String, Object>();
Gson gson = new Gson();
String json = null;
List<ProjectModel> list = libraryServiceImpl.getProList(ptype, code, comefrom, org_name, page, sort);
if(ptype==1){ //需求
result.put("xqList",list);
}else if(ptype==2){ //成果
result.put("cgList",list);
}
result.put("page",page);
//向前台发送json
json = gson.toJson(result);
}
前台:
function goCgPage(pageNum){
if(isNaN(pageNum) || pageNum < 1){
return;
}
var currentPage = pageNum;
var totalPages = parseInt($("#totalPage").val());
if(isNaN(totalPages)){
totalPages = 1;
}
if (currentPage > totalPages) {
currentPage = totalPages;
}
$.ajax({
type : "post",
url : $("#zttpath").val() + "/toTalLibProList.action",
data : {
"ptype":2,
"lid":$("#pid").val(),
"code":$("#code").val(),
"comefrom":$("#comefrom").val(),
"org_name":$("#org_name").val(),
"currentPage":currentPage,
"totalPage":totalPages,
"pageSize":5
},
contenttype : "charset=utf-8",
success : function(data) {
alert(555);
var json = eval("(" + data + ")");//将data转换成json格式,有两种方式
var cgList= json.cgList; //直接通过键名获取对应的对象
var page = json.page; //直接通过键名获取对应的对象
if(cgList.length!=0){
$("#countpage2").val(page.totalPage);
for(var i=0; i<cgList.length; i++){
$("#cgl").append('<li><a target="_blank" href="${pageContext.request.contextPath}/libProDetail.action?pid='+cgList[i].id+'&nodeid='+cgList[i].comefrom+'">'+cgList[i].projectName+'</a></li>');
}
}
},
error : function(errorMsg) {
/* alert("抱歉,数据加载失败!"); */
console.dir("抱歉,数据加载失败!");
}
});
}
三.js中获取指定范围随机数
var str = [1,3,5];
var random = Math.floor(Math.random()*str.length);
var result = str[random];
alert(result);
四.常用的sql语句
数据库中查询有相应字段名的表
select * from INFORMATION_SCHEMA.columns where COLUMN_NAME Like '%字段名%';
根据两张表相同数据的字段把一张的字段数据更新到另一张表里面去update expert_library e,org_library o set e.oid = o.id ,e.comefrom =o.comefrom where e.school = o.org_name
先通过照片有无排序(不通过字符串长短),再通过domain有无排序(不通过字符串长短),再通过about长短排序select * from aa order by IF(photo = ''or photo is null,0,1) desc,IF(domain = ''or photo is null,0,1)DESC,LENGTH(about) DESC
根据一张表中的type不同去别的表查找关联的字段加入到现有的查询结果中来
select tl.* ,case when tl.type in (1,2) THEN
(SELECT ti.project_name FROM std_ttc2.technical_info ti WHERE tl.type = ti.project_type_id and tl.targetid = ti.id)
when tl.type =3 THEN
(SELECT ti.project_name FROM std_ttc2.technical_info ti WHERE tl.type = ti.project_type_id and tl.targetid = ti.id)
ELSE null END AS 'org_name'
from std_ttc2.track_log tl
where tl.userid =547
查询数据库中的datetime与当前时间的偏差值
SELECT TIMESTAMPDIFF(DAY,'2012-10-01',now())
sql日期格式化
DATE_FORMAT(t.date, '%Y-%m-%d')
根据某个字段自定义排序
order by FIELD(iscreator,1,2,0)
备份数据到备份表
insert into resource_picture_record (rid,moduleid,infoid,infocomefrom,title,photo_name,original_name) select id ,moduleid,infoid,infocomefrom,title,photo_name,original_name from resource_picture where moduleid=1 and infoid= 46886 and infocomefrom = 320402000
更具人才查询出企业的一些信息,非强关联(有则查出来,没有则赋值null)
SELECT ei.*,oi.code,oi.org_name,oi.address,oi.star_type
FROM expert_library ei LEFT JOIN org_library oi ON
ei.oid = oi.id WHERE ei.id = 4651 and ei.comefrom = '000000000'
五.tomcat端口被占用
cmd命令行敲
netstat -ano
找到8080端口的程序,然后去任务管理器中关闭,再重启ide
六.常用的日期格式转换
//将字符串时间转换成Date格式
public static Date parseToDate(String dateStr, String format) {
SimpleDateFormat sdf = new SimpleDateFormat(format);
Date date = null;
try {
date = sdf.parse(dateStr);
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return date;
}
/**
* 将日期格式为yyyy-MM-dd HH:mm:ss转换成上午,下午
* @param String date
* @return 上午 hh:mm /下午 hh:mm 时间
*/
public static String dateFormat8(String time) {
//调用上面方法把字符串时间转换成Date格式
Date date = parseToDate(time,"yyyy-MM-dd HH:mm:ss"); SimpleDateFormat time_format = new SimpleDateFormat("a hh:mm");
//格式化后的时间
String time_tow = time_format.format(date);
return time_tow;
}
/**
* 将String类型时间转换成星期,加年月日格式
* @param String time
* @return 星期几 yyyy年MM月dd日格式
*/
public static String dateFormat9(String time) {
//调用上面方法把字符串时间转换成Date格式
Date date = parseToDate(time,"yyyy-MM-dd");
SimpleDateFormat format = new SimpleDateFormat("E yyyy年MM月dd日");
String newDate = format.format(date);
}