1.编写一个json格式的字符串===》{"lat":"39.913229","lng":"116.403572"}
--------------------------------------------------------------------------------------------
2.在SQL语句中绑定方法中传的参数===》"+param+"
在SQL语句中末尾绑定参数===》"WHERE id = "+transfer;
--------------------------------------------------------------------------------------------
3.String sql = "";
List<xxx> list = this.createSQLQuery(sql).addScalar("picPath",StandardBasicTypes.STRING).setResultTransformer(Trtansformers.alaisToBean(xxx.class)).list();
--------------------------------------------------------------------------------------------
4.查询中用到的关键词主要包含六个,书写顺序依次为
select--from--where--group by--having--order by
--------------------------------------------------------------------------------------------
5.新的方法:
//sql语句写法:
String sql ="SELECT t.name AS name/* AS后的name,是创建实体类中对应的属性*/ FROM table t WHERE t.id = ?";//SQL语句中有参数的时候
this.createSQLQuery(hql).setDouble(0,具体参数).addScalar(...如上3)
//hql语句写法:
String hql = "from HistoryRecord historyRecord where historyRecord.userId=:userId";
Query query = this.createQuery(hql);
query.setParameter("userId", userId);
--------------------------------------------------------------------------------------------
6.SQL语句:
GROUP_CONCAT(DISTINCT ccu.unitName) AS unitName//DISTINCE:去重,GROUP_CONCAT:合并重复项
--------------------------------------------------------------------------------------------
7.json-lib
//包===>net.sf.json
JSON===>net.sf.json
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
//jsonObject的put用法
JSONObject jsonObject = new JSONObject();
jsonObject.put("username", "huangwuyi");
//将java对象转化为json对象:
Address address = new Address();//java对象
address.setNo("104");
address.setProvience("陕西");
address.setRoad("高新路");
address.setStreate("");
JSONArray json = JSONArray.fromObject(address);
log.info(json.toString());
//将java的list转化为json对象:
Address address = new Address();
address.setNo("104");
address.setProvience("陕西");
address.setRoad("高新路");
address.setStreate("");
Address address2 = new Address();
address2.setNo("105");
address2.setProvience("陕西");
address2.setRoad("未央路");
address2.setStreate("张办");
List list = new ArrayList();
list.add(address);
list.add(address2);
JSONArray json = JSONArray.fromObject(list);
log.info(json.toString());
//将Map集合转换成json方法
Map map = new HashMap();
map.put("name","json");
map.put("int",new Integer(1));
map.put("arr",new String[]{"a","b"});
JSONObject json = JSONObject.fromObject(map);
//将Bean转换成json
JSONObject jsonObject = JSONObject.fromObject(new JsonBean());
//将数组转换成json
boolean[] boolArray = new boolean[]{true,false,true};
JSONArray jsonArray = JSONArray.fromObject(boolArray);
//将beans转换成json
List list = new List();
JsonBean jb1 = new JsonBean();
jb1.setCol(1);
jb1.setRow(1);
jb1.setValue("xx");
JsonBean jb2 = new JsonBean();
jb2.setCol(2);
jb2.setRow(2);
jb2.setValue("yy");
list.add(jb1);
list.add(jb2);
JSONArray ja = JSONArray.fromObject(list);
--------------------------------------------------------------------------------------------
8.org.json
JSON===>org.json.JSONArray
json不能直接与bean进行转换,需要通过map进行中转
//org.json可以直接通过JSONObject转换成JSONArray
JSONArray jsonArray = jsonObject.getJSONObject();
JSONObject jsonObject = new JSONObject();
JSONArray jsonArray = new JSONArray();
//自己拼接json字符串
String jsonString = "{\"users\":[{\"loginname\":\"zhangsan\"}]";
for(Article a : al){
JSONObject jo = new JSONObject();
JSONArray jsonArray = new JSONArray();
jo.put("id", a.getId());
jo.put("title", a.getTitle());
jo.put("desc", a.getDescription());
jsonArray.put(jo);
System.out.println(json.toString());
}
--------------------------------------------------------------------------------------------
9.pom.xml文件中常用的json依赖
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.3.1</version>
</dependency>
<dependency>
<groupId>net.sf.json-lib</groupId>
<artifactId>json-lib</artifactId>
<version>2.4</version>
<classifier>jdk15</classifier>
</dependency>
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>20080701</version>
</dependency>
--------------------------------------------------------------------------------------------
10.sql语句的一种写法:"from table t where t.name like '%" + name + "%' and...";
--------------------------------------------------------------------------------------------
11.dao实现层分情况拼接sql、hql语句的方法:
//使用StringBuffer
StringBuffer hql = new StringBuffer("select from table t where...");
hql.append(" and...");
//判断情况,拼接hql语句
if(ture){
hql.append("...");
}else
hql.append(" and...");
Query query = this.createQuery(hql.toString());
//使用String
String hql = "from Blackboard o where o.enable=1 and o.isLock = 0";
hql += " and o.userId in("+ids+")";
if(ture){
hql += " and o.createTime < " + "'" + createTime + "'";
}else
hql += " order by o.createTime desc";
Query query = this.createQuery(hql);
--------------------------------------------------------------------------------------------
12.工作中service实现层俩个json用法
org.json用法:
->(String json)
JSONObject jsonObject = new JSONObject(json);
if(!jsonObject.isNull("lng")){
String lng = jsonObject.getString("lng");
Long id = jsonObject.getLong("id");
if(lng != null && !"".equals(lng)){
//返回值要是有list,要注意:list!=null && list.size()>0
}
}
json-lib用法:
->(String json)
if (jsonObject.has("id") && !"".equals(jsonObject.get("id"))) {
Long id = jsonObject.getLong("id");
//返回值要是有list,要注意:list!=null && list.size()>0
}
--------------------------------------------------------------------------------------------
13.写入文件方法:
private boolean writeFile(InputStream is,String pathTemp){
try {
OutputStream os = new FileOutputStream(pathTemp);
int bytesRead = 0;
byte[] buffer = new byte[8192];
while ((bytesRead = is.read(buffer, 0, 8192)) != -1) {
os.write(buffer, 0, bytesRead);
}
os.close();
return true;
} catch (IOException e) {
// TODO Auto-generated catch block
return false;
}
}
--------------------------------------------------------------------------------------------
14.谷歌gson===>com.google.gson.Gson
Gson gson = new Gson();
gson.toJson()将数组序列化为json串;
gson.fromJson()将json串反序列化为java数组;
Type type = new TypeToken<List<Student>>(){}.getType();
//简单处理list和map
Gson gson = new Gson();
List testList = new ArrayList();
testList.add("first");
testList.add("second");
String listToJson = gson.toJson(testList);
System.out.println(listToJson);
输出结果:prints ["first","second"]
Map testMap = new HashMap();
testMap.put("id", "id.first");
testMap.put("name","name.second");
String mapToJson = gson.toJson(testMap);
System.out.println(mapToJson);
输出结果:{"id":"id.first","name":"name.second"}
//处理带泛形的集合:
List<TestBean> testBeanList = new ArrayList<TestBean>();
TestBean testBean = new TestBean();
testBean.setId("id");
testBean.setName("name");
testBeanList.add(testBean);
java.lang.reflect.Type type = new com.google.gson.reflect.TypeToken<List<TestBean>>() {
}.getType();
String beanListToJson = gson.toJson(testBeanList,type);
System.out.println(beanListToJson);
输出结果:[{"id":"id","name":"name"}]
List<TestBean> testBeanListFromJson = gson.fromJson(beanListToJson, type);
System.out.println(testBeanListFromJson);
输出结果:[TestBean@1ea5671[id=id,name=name,birthday=<null>]]
--------------------------------------------------------------------------------------------
15.yEclipse中添加注释模板步骤:
Windows-->Preferences-->Java-->Code Style-->Code Templates-->Comments-->Import(%.xml)
--------------------------------------------------------------------------------------------
16.SQL语句:
//SQL通配符使用LIKE、NOT LIKE
[charlist]
查询Person表中,city中字段首字母为A或者L或者N的字段
也可以是[!charlist]
SELECT * FROM Persons WHERE city LIKE '[ALN]%'
//UNION 用于合并俩个或多个SELECT语句的结果集,
UNION用于获取操作的不同值,UNION ALL则可以获取重复的值
//始终使用 IS NULL值赖查找NULL值;
--------------------------------------------------------------------------------------------
17.用MyEclipse启动启动服务器时内存溢出:
-Xms256m -Xmx256m -XX:MaxNewSize=256m -XX:MaxPermSize=256m
--------------------------------------------------------------------------------------------
18.update的SQL语句中,分情况判断:
UPDATE company_blackboard
SET picture_count = CASE
WHEN picture_count IS NULL
THEN 1
WHEN picture_count IS NOT NULL
THEN picture_count+1
END
WHERE
id = 1
--------------------------------------------------------------------------------------------
19.谷歌gson.fromJson()的用法:
-->(String json)//方法中传入的json参数包括某个实体类Bean.class的部分或者是全部属性
Bean bean = gson.fromJson(json,Bean.class);//得到的bean,即是bean的一个对象
--------------------------------------------------------------------------------------------
20.File类中绝对路径的表示方法:
File file = new File("C:/Users/krrs/Desktop/division/001.png");
--------------------------------------------------------------------------------------------
21.工作中使用:Log log = LogFactory.getLog(ReportInfoService.class)方法:
catch (IOException e) {
log.error("上传板报附件异常",e);
return gson.toJson(new ResultUtil(ResultUtil.NOT_FOUND,"exception occur"));
}
--------------------------------------------------------------------------------------------
22.使用SVN客户端检入项目的步骤:
文件夹中右键-->SVNCheckout-->项目路径...-->导入Maven项目之后,要记得Update总的项目文件夹;
--------------------------------------------------------------------------------------------
23.//在jsp页面中,点击背景图片,弹出上传图片选项框:
<head>
<title>Demo</title>
<script type="text/javascript">
function F_Open_dialog()
{
document.getElementById("btn_file").click();
}
</script>
</head>
<body>
<div>
<input type="file" id="btn_file" style="display:none">
<img src="http://7u2nae.com1.z0.glb.clouddn.com/2.jpg" οnclick="F_Open_dialog()">
</div>
</body>
--------------------------------------------------------------------------------------------
24.//SVN解决冲突,提交本地文件:
第一种方式:
放弃自己的修改,进行Revert操作,使文件还原到修改前-->更新到最新版本-->修改自己的内容-->提交
第二种方式:
提交,提示版本过时-->直接更新操作-->更新后出现三个文件(test1.txt.mine:本地修改的内容;test1.txt.r13:本地最初版本;test1.txt.r14:服务器最新版本,包括其他用户修改后提交的;test1.txt:服务器最新版本和本地修改文件合并后的文件 )
-->手动修改合并后的文件(test1.txt)-->右键Resolve(消除掉上边三个文件)-->提交
--------------------------------------------------------------------------------------------
25.//后台Action类、前端jsp页面
<script type="text/javascript">
//上传事件
function event1()
{
document.getElementById("show_upload").click();
}
//复制事件
function event2()
{
var path=$("#select_picture").attr("src");
$("#show_picture").attr("src",path);
}
//同时迭代出多张图片复制事件
function copy_picture(obj)
{
var path=$(obj).attr("src");
$("#show_picture").attr("src",path);
}
</script>
//点击某张图片触发显示上传图片窗口:
<img src="现在图片路径" id="a" οnclick="event1" />
<input id="show_upload" type="file" style="display:none" />
//点击某张图片,将该图片复制到指定位置
<img src="现在的图片路径" id="show_picture">
<img src="现在图片路径" id="select_picture" οnclick="event2()" />
//jsp页面从后台同时迭代出多张图片
<img src="${ctx }${imageUrl}" οnclick="event3(this)" />
<img src="现在的图片路径" id="show_picture">
//jsp页面读取后台Action类传来的List<PictureLibrary> list集合,并循环显示(利用set get方法)
后台Action类内容
//属性
private List<PictureLibrary> pictureLibraryList;
//pictureLibraryList的get和set方法
public List<PictureLibrary> getPictureLibraryList() {
return pictureLibraryList;
}
public void setPictureLibraryList(List<PictureLibrary> pictureLibraryList) {
this.pictureLibraryList = pictureLibraryList;
}
//后台获取集合
pictureLibraryList = this.pictureLibraryService.getPictureLibraryList();
前端jsp页面显示:
<div>
<s:iterator value="pictureLibraryList">
<img src="${imageUrl}" class="" οnclick="" />//imageUrl直接就是实体类PictureLibrary中的一个属性
</s:iterator>
</div>
--------------------------------------------------------------------------------------------
26.jsp和javaScritp运用
//input标签中属性的使用
<input οnblur="event"/>//失去焦点,触发event事件
<input readonly=readonly/>//输入框内的文本内容只读
//在页面中隐藏的<input/>标签中获取值得方式:
<input type="hidden" value="${appName}" id="appName"/>
function()
{
var appName = $("#appName").val();
}
--------------------------------------------------------------------------------------------