论坛首页 入门技术论坛

基础知识点小结(1)

浏览 1701 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2013-05-16  

     仅以这篇文章作为自己知识的回顾,工作刚刚满半年。最近一直在写程序,测试程序。对于这段时间归纳为基础知识边做边学,程序bug越测越多。对于基础操作的来说数据库无疑是重点,来写写oracle的知识小结。

    (1).oracle 语句的操作

     1.创建表 根据旧表创建新表,create newtable  as select * from oldtable where 1=2   ; (设置1=2,这个是个不成立的等式,这样可以避免拷贝数据到新表。只用表结构就可以了。)

 

     2.创建序列,create sequence seq_table_id minvalue 1 maxvalue 99999999999999 start with 1 increment  by 1 nocache;

 

     3.varchar2() 存放的字段,例如varchar2(8),存放8个英文字符。存放中文字符:utf-8时,一个中文占三个字节;ZHS16GBK,一个中文占2个字节。所以一般可以存放4个中文。而nvarchar2(8),中英文都可放8个。在java读取长度时,转换为string后length的值,一个汉字,一个英文,标点,空格都为1.

 

     4.oracle 分组查询,并且(distinct)去除重复的,select *,count(distinct tagid) from table group by tagid order by tagid desc,可以再查询,left join table /(select * from ***) on a.id=b.id 一类的写法,左连接或者右连接

 

     5.统计人数查询,比如(decode())男女人数: select  sum(decode(sex,'男',1)) man ,sum(decode(sex,'女',1)) woman from (select * from usertable)

   

     2.java 基础,读写数据流

         

public static void main(String[] args) {
		doReadFile();
		doWriteFile();
	}
	/**
	 * 读入数据
	 */
	public static void doReadFile(){
		String file = "d:/write.txt";
		try {
			//根据文件来读取实现读取流,File
			FileInputStream input = new FileInputStream(new File(file));
			InputStreamReader in = new InputStreamReader(input);
			BufferedReader reader = new BufferedReader(in);
			
			String str="";
			while((str=reader.readLine())!=null){
				System.out.println(str);
			}
			reader.close();
			in.close();
			
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		}
		  catch (IOException e) {
			e.printStackTrace();
		}
	}
	/** 
	 * 往文件写入数据
	 */
	public static void doWriteFile(){
		String file = "d:/write.txt";
		File wfile = new File(file);
		try {
			String str="cjplife";
			//后面加入true,就是保留原有内容,在后面插入新的内容
			FileOutputStream os = new FileOutputStream(wfile,true);
			os.write(str.getBytes());
			os.close();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}

 

    2.采用jdbc查询,并且读取查询的数据,由于list,强制转换存放的是map集合,list循环跟iterator循环一样的

 

    

String sql="select * from table where status = 1";
	   List list = this.getJdbcTemplate().queryForList(sql);
	   Iterator it = list.iterator();
	   while(it.hasNext()){
		   Map rs = (Map) it.next();
		   String name = rs.get("nickname").toString();
		   String school = rs.get("school").toString();
	   }
	   //或者使用
	   for(int i=0;i<list.size();i++){
		   Map rs = (Map)list.get(i);
		   String name = rs.get("nickname").toString();
		   String school = rs.get("school").toString();
	   }

 

   

论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics