KRES_NOTES_1

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();
  }
--------------------------------------------------------------------------------------------

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值