$exp system/suypower@rainsky file=d:\upload\newsql.dmp tables=(tb_photo);
$imp system/suypower@rainsky tables=tb_photo file=d:\upload\newsql.dmp;
1、innerHTML (outerHTML,innerText)知识点
2、File Io 读取字符流
3、request.setAttribute , session.setAttribute 区别
4、PreparedStatement
5、<span> 用户名错误
<td><spane id="xyz"</span></td> :::::
document.getElementById("xyz").innerHTML="用户名错误"
6、jdom ->xml
7、视图 数据库
8、
9、POI 与 Excel 交互
10、jfreeChart , iReport
11、String 方法: indexOf('x') != -1
,spilt,substring,charAt...
12、Java 正则表达式
13、Scanner 用法 JDK1.5
14、HashMap 用法 3
15、hashCode 用法
16、spring 框架
17、database crease index.html 工 具 -----> ERStudio7.0
18、birt 百灵报表【转自www.bitsCN.com】
19、TreeSet是按照一定的规则,将加入到集合里面的数据进行排序
,而LinkedHashSet是严格按照你放入集合的顺序进行使用。
20、删除表达重复记录,只保留一行。
22、查询 重复 ;
select username,count(username) from tb_user
group by username
having count(username)>1
23、 String str = String.valueOf(int);
int i = Integer.parseInt(string);
24、☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ map
☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
【出现次数】
package com.suypower.chengyu.array;
import java.util.*;
public class Test {
public Map<Character,Integer> dealstr(){
System.out.println("输入任意字符串:");
Scanner scanner = new Scanner(System.in);
String strings = scanner.nextLine();
char ch;
Map<Character,Integer> mp=new
HashMap<Character,Integer>();
for(int i=0;i<strings.length();i++){
ch=strings.charAt(i);
if(mp.containsKey(ch)){
mp.put(ch,mp.get(ch).intValue()+1);
}else{
mp.put(ch,1);
}
}
System.out.println(mp);
return mp;
}
public void sort(Map mp){}
public static void main(String[] args){
Test st=new Test();
Map mp=st.dealstr();
}
}
25、jsp = <%@ page language="java" contentType="text/html;charset=utf-8">
<meta http-equiv="content-type"
content="text/html;charset=utf-8"/> 只适
用于HTML,即在 HTML 中设置页面的编码方式
关于JSP页面中的pageEncoding和contentType两种属性
的区别:
pageEncoding是jsp文件本身的编码,contentType的
charset是指
服务
器
发送
给客户端
时的内容编码
26、io -- BufferedReader bf = new BufferedReader(new
InputStreamReader(System.in));
27、自动生成树
28、要求写一个分页
29、
import java.text.DecimalFormat;
public class DoubleTest {
public static void main(String[] args)
{
DoubleTest dt = new DoubleTest();
double dou = dt.getDouble("123456.3456",2);
System.out.println(dou);
}
public double getDouble(String Dtr, int i)
{
double d = Double.parseDouble(Dtr);
DecimalFormat df = new DecimalFormat("##.##");
String str = df.format(d);
double result = Double.parseDouble(str);
return result;
}
}
public class Test {
public static void main(String[] args) {
// 128除以1000
double i = 128;
double j = 1000;
double d = i/j;
System.out.println(d);
// DecimalFormat df = new DecimalFormat("##.##");
// String str = df.format(d);
// double result = Double.parseDouble(str);
// System.out.println(result);
NumberFormat nf = NumberFormat.getNumberInstance();
nf.setMaximumFractionDigits(2);
System.out.println(nf.format(d));
}
}
30、struts 2.0
31、UML 基础
32、***********正则表达式*************
33、Tomcat5.5 应用服务器 【weblogic 8.1】
34、=============
String[] array = (String[])list.toArray(new
String[list.size()]);
BufferedReader bufferedReader = new BufferedReader(new
InputStreamReader(new
FileInputStream(url)));
35、=打印=打印=打印=打印=打印=打印=打印=打印=打印=打印=打印=
====================报表====================
36、SQL 左、右连接 ===A left join(左连接)包含所有的左边表
中的记录甚至是右边表中没有和它匹配的记录。
select * from a left join b on a.aid =
b.bid
----------------------------------------------------
全连接
----------------------------------------------------
select a.id,b.enterpriseid from
tb_czxs_enterpriseinfo
a,tb_czxs_comment b
where a.id=cast(b.enterpriseid as int)
----------------------------------------------------
select a.id,b.enterpriseid from
tb_czxs_enterpriseinfo a
inner
join
tb_czxs_comment b on a.id=cast(b.enterpriseid as
int)
----------------------------------------------------
左连接
----------------------------------------------------
select a.id,b.enterpriseid from
tb_czxs_enterpriseinfo a
left
join
tb_czxs_comment b on a.id=cast(b.enterpriseid as
int)
----------------------------------------------------
---------------------------------------
右连接
----------------------------------------------------
select a.id,b.enterpriseid from
tb_czxs_enterpriseinfo a
right
join
tb_czxs_comment b on a.id=cast(b.enterpriseid as
int)
----------------------------------------------------
37、 =================Ajax prototype Request=================
------------------------------------------------------------
<%@ page language="java" pageEncoding="utf-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01
Transitional//EN">
<%
String webRoot = request.getContextPath();
%>
<html>
<head>
<script type="text/javascript"
src="<%=webRoot%>/js/prototype.js"></script>
<script type="text/javascript" language="javascript">
<!--
function ajaxRequest()
{
var url ='AjaxServlet?pars='+'helloWorld';
var pars='';
new Ajax.Request(
url,
{method:'get',parameters:pars,onComplete:showResponse}
);
}
function showResponse(res)
{
// $F('hiddenName');
document.getElementById('textarea').value=res.responseText;
}
//-->
</script>
</head>
<body>
<center>
This is my JSP page. . .<br>
<input type="button" name="btn" value="button"
onclick="ajaxRequest()">
<br>
<textarea rows="15" cols="15" name="textarea"></textarea>
</center>
</body>
</html>
------------------------------------------------------------
38、 =================超级报表=================
39、 =================框架 spring+webwork=================
40、connection statement resultset
----------------------------------------------
Connection是Statement的工厂,一个Connection可以生产多个
Statement。
一个Statement却只能对应一个ResultSet(它们是一一对应的关
系)。
----------------------------------------------
41、SQL
强制转换:CAST(int as 字段),convert(int,字段),
char()将字符=>数字,decimal(ex,p,s)格式化小数
SELECT decimal(char(enterprisename),9,4) as
enterpriseNAME
FROM
TB_CZXS_ENTERPRISEINFO where id=5
STR() 把数值型数据转换为字符型数据。
42、error-page web.xml
<error-page>
<error-code>404</error-code>
<location>/error.jsp</location>
</error-page>
<error-page>
<exception-type>java.lang.NullPoiontException</exception-type>
<location>/error.jsp</location>
</error-page>
43、sleep(),wait()区别
sleep() 不释放同步锁,是Thread的方法,wait()释放同步锁,
是 object对象的方法。
但sleep()可以指定休眠时间使它自动醒过来,如果不醒,可以
调用interreput()强行打断,wait()可以调用notify()。
44、super只能访问直接父类。
45、JSP内部对象详解(常用)
-------------
response 网页传回用户端的回应
<%
response.setHeader("refresh","3");
out.println(new Date().toLocaleString());
%>
-------------
Application对象 servlet 正在执行的内容
Application对象.setAttribute(),getAttribute()和
removeAttribute()方法实例:
------------
Session对象
当用户登陆网站,系统将为他生成一个独一无二的Session对象
,用以记录改用户的个人信息,一旦改用户退出网站,
那么该Session对象将会注销。Session
对象可以绑定若干个人信息或者Java对象,
不同Session对象的同名变量是不会相互干扰的。
-------------
Out对象
主要用来向客户端输出各种格式的数据,并且管理应用服务器上
的输出缓冲区,Out对象的基类是javax.servlet.jsp.JspWriter类。
out.println()
servlet------- PrintWriter out = response.getWriter();
-------------
Request对象
request 用户端请求,此请求会包含来自GET/POST请求的参数
Request.setAttribute()与Request.getAttribute()方法实例(
也可以使用forward建立请求关系):
-------------
46、mensa 题目
47、Servlet几种页面跳转的区别
跳转分两部分,一是发生在servlet,一是在JSP,其实JSP也就
是servlet, 不过还是有点差异滴。
Servlet:
当然,在servlet中,一般跳转都发生在doGet, doPost等方法里
面。
1) redirect 方式
response.sendRedirect("/a.jsp");
页面的路径是相对路径。sendRedirect可以将页面跳转到任何页
面,不一定局限于本web应用中,
如:response.sendRedirect("http://www.ycul.com");
跳转后浏览器地址栏变化。
这种方式要传值出去的话,只能在url中带parameter或者放在
session中,无法使用 request.setAttribute来传递。
2) forward方式
RequestDispatcher dispatcher =
request.getRequestDispatcher("/a.jsp");
dispatcher .forward(request, response);
页面的路径是相对路径。forward方式只能跳转到本web应用中的
页面上 。
跳转后浏览器地址栏不会变化。
使用这种方式跳转,传值可以使用三种方法:url中带
parameter,session,request.setAttribute
JSP:
1) response.sendRedirect();
和servlet的response.sendRedirect()方式一样。
此语句前不允许有out.flush(),如果有,会有异常:
java.lang.IllegalStateException: Can't sendRedirect()
after data has committed to the client. at
com.caucho.server.connection.AbstractHttpResponse.sendRe
direct( AbstractHttpResponse.java:558)
...
跳转后浏览器地址栏变化
如果要跳到不同主机下,跳转后,此语句后面的语句会继续执行
,如同新开了线程,但是对response的操作已经无意义了;
如果要跳到相同主机下,此语句后面的语句执行完成后才会跳转
;
2) response.setHeader("Location","");
此语句前不允许有out.flush(),如果有,页面不会跳转。
跳转后浏览器地址栏变化
此语句后面的语句执行完成后才会跳转
3) <jsp:forward page="" />
此语句前不允许有out.flush(),如果有,会有异常:
java.lang.IllegalStateException: forward() not allowed
after buffer has committed. at
com.caucho.server.webapp.RequestDispatcherImpl.forward(R
equestDispatcherImpl.java:134)
at com.caucho.server.webapp.RequestDispatcherImpl.forward(R
equestDispatcherImpl.java:101) at
com.caucho.jsp.PageContextImpl.forward(PageContextImpl.j
ava:836
)
...
跳转后浏览器地址栏不变,但是只能跳到当前主机下
此语句后面的语句执行完成后才会跳转
48、用最有效率的方法算出2乘以8等於几?
2 < <3表示把二进制的2左移3为,即2*2^3(2乘以2的三次方
)=16;//
49、HashMap和Hashtable的区别。
都属于Map接口的类,实现了将惟一键映射到特定的值上。
HashMap 类没有分类或者排序。它允许一个 null 键和多个
null 值。
Hashtable 类似于 HashMap,但是不允许 null 键和 null 值。
它也比 HashMap 慢,因为它是同步的
50、abstract class和interface有什么区别?
声明方法的存在而不去实现它的类被叫做抽象类(abstract
class), 它用于要创建一个体现某些基本行为的类,并为该类声明方法,
但不能在该类中实现该类的情况。不能创建abstract 类的实例。
然而可以创建一个变量,其类型是一个抽象类,并让它指向
具体子类的一个实例。不能有抽象构造函数或抽象静态方法。
Abstract类
的子类为它们父类中的所有抽象方法提供实现,否则它们也是抽
象类为。取而代之,在子类中
实现该方法。知道其行为的其它类可以在类中实现这些方法。
接口(interface)是抽象类的变体。在接口中,所有方法
都是抽象的。多继承性可通过实现这样的接口而获得。
接口中的所有方法都是抽象的,没有一
个有程 序体。接口只可以定义static final成员变量。接口的实现与子类相
似,除了该实现类不能从接口定义中继承行为。当类实现特殊接口时,它定义(
即将程序
体
给
予)所有这种接口的方法。然后,它可以在实现了该接口的类的任何对象
上调用接口的方法。由于有抽象类,它允许使用接口名作为引用变量的类型。通
常的动态
联
编
将生效
。
引用可以转换到接口类型或从接口类型转换,instanceof 运算
符可以用来决定某对象的类是否实现了接口。
51、==类的初始化顺序==
静态变量
静态初始化块
变量
初始化块
构造器
-----------------
父类--静态变量
父类--静态初始化块
子类--静态变量
子类--静态初始化块
父类--变量
父类--初始化块
父类--构造器
子类--变量
子类--初始化块
子类--构造器
52、 设计模式
>>>>>>>>>>>>>>>>>创建模式
1、factory:工厂模式主要是为创建对象提供了接口.
2、Prototype(原型):用原型实例指定创建对象的种类,并且通
过拷贝这些原型创建新的对象.
3、Builder:将一个复杂对象的构建与它的表示分离,使得同样
的构建过程可以创建不同的表示.
4、Singleto式:主要作用是保证在Java应用程序中,一个类
Class只有一个实例存在。
>>>>>>>>>>>>>>>>>结构模式
1、facade:为子系统中的一组接口提供一个一致的界面.
2、Proxy:为其他对象提供一种代理以控制对这个对象的访问.
3、Adapter:将两个不兼容的类纠合在一起使用,属于结构型模
式,需要有Adaptee(被适配者)和Adaptor(适配器)两个身份.
4、Composite:将对象以树形结构组织起来,以达成“部分-整体
” 的层次结构,使得客户端对单个对象和组合对象的使用具有一致性.
5、Decorator:动态给一个对象添加一些额外的职责,就象在墙
上刷油漆.使用Decorator模式相比用生成子类方式达到功能的扩充显得更为灵活.
6、Bridge:将抽象和行为划分开来,各自独立,但能动态的结合.
7、Flyweight:避免大量拥有相同内容的小类的开销(如耗费内
存),使大家共享一个类(元类).
>>>>>>>>>>>>>>>>>行为模式
1、Template:定义一个操作中算法的骨架,将一些步骤的执行延
迟到其子类中.
2、Memento:memento是一个保存另外一个对象内部状态拷贝的对
象.这样以后就可以将该对象恢复到原先保存的状态.
3、Observer:
4、Chain of Responsibility:Chain of Responsibility(CoR)
是用一系列类(classes)试图
处理一个请求request,这些类之间是一个松散的耦合,唯一共同
点是在他们之间传递request. 也就是说,来了一个请求,A类先处理,
如果没有处理,就传递到B类处理,如果没有处理,就传递到C类处理,就这样象
一个链
条(chain)一 样传递下去。
5、command:不少Command模式的代码都是针对图形界面的,它实
际就是菜单命令,我们在一个下拉菜单选择一个命令时,然后会执行一些动作.
6、State:不同的状态,不同的行为;或者说,每个状态有着相应的
行为.
7、Strategy:主要是定义一系列的算法,把这些算法一个个封装
成单独的类.
8、Mediator:用一个中介对象来封装一系列关于对象交互行为.
9、Interpreter:定义语言的文法 ,并且建立一个解释器来解释
该语言中的句子.
10、Visitor:作用于某个对象群中各个对象的操作. 它可以使你
在不改变这些对象本身的情况下,定义作用于这些对象的新操作.
53、request.getRequestDispatcher(url).forward(req,res)和
include(req,res)的区别
sendRedirect(url);产生新的需求与响应,前后没有联系,地址
栏改变,可以跳转到其他Web服务器。
forward,include是共用同一请求.客户端完全不知道(浏览器中
的URL不 变)
---------------
其次,forward与include的区别.
调用forward()方法时必须注意下列两点:
在HTTP回应被“确认”(committed)以前才能调用forward()方法
(这里的“确认”是指将HTTP回应的内容主体送回用户端),否则将拋出
IllegalStateException异常。
[include没有这种情况]
调用forward()方法后,原先存放在HttpResponse对象中的内容
将会自动被清除(也就是在 forward方法前,使用
PrintWriter,ServletOutputStream输出
的
内容都被忽略)
[include不会]
forward方法是把请求的内容转发到另外的一个servlet/jsp.
include是把另一个servlet/jsp处理过后的内容拿过来与此时
servlet的内容一 同输
出. forward与include还有一个重要的区别:
forward在调用者程序中设置的响应状态码和响应头不会被忽略,
在被调用者程序中设置的响应
状态码和响应头也不会被忽略.
include会被忽略..
这也是乱码的一个原因..
使用include时候,要要调用程序中写上
response.setContentType("text/html;charset=utf-8")
不管你是不是用filter统一处理过字符.
RequesetDispatcher dispatcher =
request.getRequestDispatcher(url);
if(dispatcher != null)dispatcher.forward(req,res);
54、集合 ==> 数组 toArray();
List list = new ArrayList();
Object[] objectArray1 = list.toArray();
String[] array1 = list.toArray(new String[list.size()]);
Set set = new HashSet();
Object[] objectArray2 = set.toArray();
String[] array2 = set.toArray(new String[set.size()]);
数组 ==> 集合
注意:对于int[]数组不能直接这样做,因为asList()方法的参数必须是对象 。
应该先把int[]转化为Integer[]。对于其他primitive类型的数组也是如此,必须
先转换
成相应的wrapper类型数组。
int[] numbers = {7, 7, 8, 9};
int size = numbers.length;
Integer[] array = new Integer[size];
for (int i = 0; i < numbers.length; i++)
{
Integer integer = Integer.valueOf(numbers[i]);
array[i] = integer;
}
List list = Arrays.asList(array);
for(int j=0;j<list.size();j++)
{
System.out.print(list.get(j)+",");
}
55、ServletContext,ServletConfig 区别
ServletConfig:从一个servlet被实例化后,对任何客户端在任
何时候访问有效,但仅对本servlet 有效,一个servlet的ServletConfig对象不
能被另一
个
servlet 访问。
ServletContext:对任何servlet,任何人在任何时间都有效,
这才是真 正全 局的对象。
通过ServletConfig获得servlet的名称和配置参数,通过
ServletContext获得web服务器程序的名称。Servlet运行于Web应用程序中,而每
一个web
应
用
程序对应一个context元素,所以就把servlet运行于的web应用程序称之为
ServletContext,这从个名字上就可以知道其作用。
56、Overload和Override的区别。Overloaded的方法是否可以改变返
回值的
类型?
方法的重写Overriding和重载Overloading是Java多态性的不同
表现。重写Overriding是父类
与子类之间多态性的一种表现,重载Overloading是一个类中多
态性的一种表现。如果在子类中定义某方法与其父类有相同的名称和参数,
我们说该方法被重写(Overriding)。子类的对象使用这个方法时,将调用子类中
的定
义,对它而言,父类中的定义如同被"屏蔽"了。如果在一个类中定义了多个同名
的
方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的重载
(Overloading)
。
Overloaded的方法是可以改变返回值的类型。
57、CHARINDEX('SQL', 'Microsoft SQL Server')
SELECT CHARINDEX('bike', DocumentSummary) FROM Document
WHERE
DocumentID
=6
58、JVM == > java virtual machine
JRE == > java runtime environment
SDK == > sofeware development toolkit
J2EE == > java 2 platform enterprise edition
J2SE == > java 2 platform standard edition
API == > application pramgramming interface
IDE == > integrate development environment
JDBC == > java database connectivity standard
59、key word(reserved word)
package、import、class、extends、implements、byte、short
、char、int 、 long 、float、 double、boolean、try、
catch、finnally、final、throw、 throws、if、else、continue
、break、do、while、for、switch、case
、 abstract、 interface、 public、protected、default、private、
synchronized
、
static、void、return、this、new、null、false、true、super、instanceof
、 native、volatile、const、transient、strictfp、goto、assert、enum
60、局部变量需要初始化,成员(全局)变量有默认初始化。
61、-------SELECT max(id),enterprisename FROM
TB_CZXS_ENTERPRISEINFO
group by enterprisename
having max(id)>900 order by max(id)
desc------------
SELECT select_list
[ INTO new_table ]
FROM table_source
[ WHERE search_condition ]
[ GROUP BY group_by_expression ]
[ HAVING search_condition ]
[ ORDER BY order_expression [ ASC | DESC ] ]
------------------
SELECT titles.pub_id, AVG(titles.price)
FROM titles INNER JOIN publishers
ON titles.pub_id = publishers.pub_id
WHERE publishers.state = 'CA'
GROUP BY titles.pub_id
HAVING AVG(price) > 10
-------------------------------------
select dno,count(*)
from employee
group by dno
having count(*)>3
--------------------------group by
SELECT max(salary), dept
FROM employee
GROUP BY dept;
这条语句将在每一个单独的部门中选择工资最高的工资
group by 从英文里理解就是分组。必须有“聚合函数”来配
合才能使
用,
使
用时
至少需要
一个分组标志字段
62、alert命令 oracle (nvl(column,0))
alert table tableName add column_name datatype
alert tabel tableName modify column_name datatype
--------------------------------------------------------
--
63、=================== powerDesigner的使用
64、
-----------------------------------------
update tb_train set examnum =
replace(examnum,'null','3')
where bodyid='320586198304184813' and trainyear='2008'
and
trainsheduledtime='0821'
and city='苏州';
---------------------------------------------
select replace(examnum,'null','3')
from tb_train
where bodyid='320586198304184813' and trainyear='2008'
and
trainsheduledtime='0821'
and city='苏州';
---------------------------------------------
65、<script language="javascript">
<!--
...........不支持JavaScript的浏览器看不到 网页的JS源代码
//-->
</script>
66、oracle 9i 存储过程,触发器.
67、
properties.put(Context.INITIAL_CONTEXT_FACTORY,"weblogic.jnd
i.WLInitialContextFactory");
java.lang.ClassNotFoundException:
weblogic.jndi.WLInitialContextFactory添加 weblogic.jar
----------------------------DataSource------------weblog
ic 建连接池数据源jndi----------------
package com.suypower.chengyu.DBConnect;
import java.sql.Connection;
import java.sql.DriverManager;
import java.util.Properties;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.sql.DataSource;
import org.apache.log4j.Logger;
public class DBConnect {
private Connection con;
private DataSource ds;
private Context ctx;
public DBConnect() throws Exception{
ctx=this.getInitialContext();
}
public Connection getConection(){
try{
ds = (DataSource)ctx.lookup("llxs");
con=ds.getConnection();
}catch(Exception e){
e.printStackTrace();
}
return con;
}
public Context getInitialContext() throws
NamingException {
Properties properties = null;
properties = new Properties();
properties.put(Context.INITIAL_CONTEXT_FACTORY,"
weblogi
c.jn
di.
WLI
nitialCon
textFactory");
return new InitialContext(properties);
}
}
68、
======java=====null=====pointer====exception======java.lang.
NullPoi
nter
Exc
ept
ion
69、jsp,errorPage
jsp:<%@page errorPage="error.jsp"%>
error.jsp:<%@ page isErrorPage="true" %>
70、 JSP 页面 干净 许多
<script type="text/javascript" src="js/llxs.js"></script>
<link rel="stylesheet" type="text/css" href="css/llxs.css" />
71、JSTL 详见 JSTL.PDF(jstl 必须在支持SERVLET 2.4 JSP 2.0
以上的版本才的container才可适用)
72. scriptlet 嵌入在JSP中的java代码 <% %>
73. EXT
74. 单点登录,可以绑定IP,这样就可以一个人登录了
75. ==== '超级报表' ====== '标签页' ====== '设计模式'========'Spring'
========
'
存
储过程,触发器'
76. think in java ,jquery.
77. 按回车 移动到 下一个 输入框
78. SQL 学习(Structured Query Language)
************************************************************
SQL 基础 DB2
选择:select * from table1 where 范围
插入:insert into table1(field1,field2)
values(value1,value2)
删除:delete from table1 where 范围
更新:update table1 set field1=value1 where 范围
查找:select * from table1 where field1 like ’%value1%’
排序:select * from table1 order by field1,field2 [desc]
总数:select count * as totalcount from table1
求和:select sum(field1) as sumvalue from table1
平均:select avg(field1) as avgvalue from table1
最大:select max(field1) as maxvalue from table1
最小:select min(field1) as minvalue from table1
(1)SELECT Company, OrderNumber FROM Orders ORDER BY
Company
DESC
(2)case when then else end
for deom:
select username,
case state when '0' then '不合格'
when '1' then '合格'
else '其他情况'
end as disposestate
from tb_czxs_user
<
CASE
WHEN <A> THEN <somethingA>
WHEN <B> THEN <somethingB>
ELSE <somethingE>
END
>
isnull 就可以替换为以上 写法了。
FOR: select
CASE remark when '' THEN '空'
ELSE 'NOT空'
END
from tb_czxs_user
(3)DB2:select id ,enterprisename from
tb_czxs_enterpriseinfo
fetch first 10 rows only
或 SQL SERVER2000 前10条记录:select top 10 *
form
table1
where
范围
Oracle:select * from tab where rownum <= 10 ;
(4)UNION 运算符通过组合其他两个结果表(例如 TABLE1 和
TABLE2)
并消
去表
中
任何重复行
而派生出一个结果表。当 ALL 随 UNION 一起使用时(即 UNION
ALL),
不 消除重复行。两种情况下,派生表的每一行不是来自
TABLE1
就是
来自
TABLE2。
(6)IN (not in)用法:select id,enterprisename,djbno
from
tb_czxs_enterpriseinfo
where id in(select id from tb_czxs_user)
(7)查询日期类型:
获取当前系统时间
SELECT current date FROM sysibm.sysdummy1
SELECT current time FROM sysibm.sysdummy1
SELECT current timestamp FROM sysibm.sysdummy1
************************************************************
并集 ∪ union,union all(all 是不消除重复行)
交集 ∩ intersect(all)
差集 - except(all),minus
************************************************************
典型数据库 4 种,Oracle,DB2,SQL Server,Sybase.
SQL 注释 /*
*多行注释
*/
-- 标准SQL注释
************************************************************
八种 数据类型: 数值型,字符型,日期型,逻辑型,货币型,空数据,二
进制数
据,自
定
义.
日期类型:date(日期),time(时间),timestamp(日期+时间)
exits , not exits , not between , not like , is null , like
,
between ,
in , union , union all , intersect , minus , except , avg ,
min ,
max ,
count , sum , add_months , last_day ,
months_between , round , next_day , substr , instr , length
, trim
,
mod , round , trunc , sign , to_char , to_number , to_date
...
************************************************************
show linesize pagesize ;
set linesize 80 pagesize 26;每行显示 80 字符 每页显示 26行
set autocommit on ;
show autocommit
connect system/suypower@orac;
绑定变量操作
variable name char
execute :name:='chengyu'
print name;
-----------------------------------
select to_char(sysdate,'yyyy-mm-dd')from dual;
----------------------------------
键盘信息
accept username char '请输入用户名'
prompt 按任意键继续
pause
select * from test where name like 'username'+'%'
start e:\sql\accept.sql
---------------------------------
查看表结构
DESC xxxtablexxx ;(desc dual)
===========format============用法======
column test justify right format A15;
==================================
cast ( name as varchar (4) ) as userName
oracle : || sql server + (连接符)
select name || ' ' || cast(psw as varchar(4)) as ts from
test;
-----------------联创----------重复行数大于2条的
--------------------
SQL> select * from test ;
ID NAME PSW ADDRESS
---------- ---------- ---------- ----------
1 userName mima nanJing
1 userName mima nanJing
1 userName mima nanJing
2 mingzi 1234 dizhi
2 mingzi 1234 dizhi
3 yonghuming mm huaiAn
3 yonghuming mm huaiAn
3 yonghuming mm huaiAn
已选择8行。
SQL> select * from test
2 group by id,name,psw,address
3 having count(*)>2;
ID NAME PSW ADDRESS
---------- ---------- ---------- ----------
1 userName mima nanJing
3 yonghuming mm huaiAn
----------------------------------------------------
SQL> select id,name,psw,address,count(*) as sum from test
group by id,name,psw,address
having count(*) >2;
ID NAME PSW ADDRESS SUM
---------- ---------- ---------- ---------- ----------
1 userName mima nanJing 3
3 yonghuming mm huaiAn 3
==========表复制
(5)复制表(只复制结构,源表名:a 新表名:b) (Access可用)
法一:select * into b from a where 1<>1(Oracle复制表
结构,1=1 复制表数据了)
21、复制表 create table newTable like oldTable[db2] 只复制了
表结构
1. alter table tb_user add chengyu varchar (32);
[alter table tb_user add shijian int not null default 2]
[ALTER TABLE TB_USER ADD COLUMN columnName varchar(30)]
[oracle ALTER TABLE TB_USER DROP COLUMN chengyu]
3. 插入 子查询
1.INSERT INTO temp(ID) (无 values)
(select id from tb_user)
4. 更改表字段长度
alter table temp modify name varchar2(15);
5. 查看 字段 长度
select length(name) from temp;
LENGTH是返回的字符长度
LENGTHB返回的是字节长度
SQL> select name || 'is' || sax from temp;
NAME||'IS'||SAX
------------------------
程雨is男
程仁银is男
王兢利is男
alter table temp add sax varchar2(2) ; 2个字节,一个汉字 16
位
alter table temp drop column name;
update temp set sax = 'abc' where id =2;
报错,varchar2 定义是按字节定义的,
1.
SQL> create view view_temp
2 as
3 select name,dept from temp;
============================oracle 可视化创建
视图已创建。
SQL> create view view_temp4(dept,sumSal)
2 as
3 select dept,sum(sal)from temp
4 group by dept;
视图已创建。
1.sequence 序列
SQL>
CREATE SEQUENCE sequence_cry
INCREMENT BY 1 -- 每次加几个
start with 1 -- 从1开始计数
nomaxvalue -- 不设置最大值
nocycle -- 一直累加,不循环
cache 10 -- 缓存
序列已创建。
设置主键
alter table temp add constraint pk_temp primary key (id);
SQL> show user;
USER 为 "SYSTEM"
1.表复制
SQL> create table temp2
2 as
3 select * from temp;
表已创建。(包含表数据)
SQL> create table temp2
2 as
3 select * from temp
4 where 1=2;
表已创建。(表结构复制)
1.连接两个字符串;
SQL> select concat('连','接') 字段 from dual;
字段
----
连接
2.返回字符串并将字符串的第一个字母变为大写;
SQL> select initcap('hello') hello from dual;
HELLO
-----
Hello
3.在一个字符串中搜索指定的字符,返回发现指定的字符的位置;
SQL> select instr('helloworld','l',1,3)from dual;
INSTR('HELLOWORLD','L',1,3)
---------------------------
9
4.返回字符串的长度;
SQL> select length(name) 长度 ,name from temp where id = 1;
长度 NAME
---------- --------------------
2 程雨
5.返回字符串,并将所有的字符小写
SQL> select lower('AaBbCcDd')AaBbCcDd from dual;
AABBCCDD
--------
aabbccdd
6.
SQL> select upper('AaBbCcDd')AaBbCcDd from dual;
AABBCCDD
--------
AABBCCDD
7. 截取
SQL> select substr('1234567890',2,4) substr from dual;
SUBS
----
2345
8. 替换
SQL> select replace('he love you','he','i')replace from dual;
REPLACE
----------
i love you
9.
SQL> select floor(2345.67) from dual;
FLOOR(2345.67)
--------------
2345
10.
ADD_MONTHS 增加或减去月份
SQL> select
to_char(add_months(to_date('199912','yyyymm'),2),'yyyymm')
from dual;
TO_CHA
------
200002
SQL> select
to_char(add_months(to_date('199912','yyyymm'),-2),'yyyymm')
from dual;
TO_CHA
------
199910
*******************************************
SQL> select sysdate from dual;
SYSDATE
--------------
31-5月 -09
SQL> select add_months(sysdate,2) from dual;
ADD_MONTHS(SYS
--------------
31-7月 -09
*******************************************
11.LAST_DAY 返回日期的最后一天
SQL> select last_day(sysdate) from dual;
LAST_DAY(SYSDA
--------------
31-5月 -09
12.MONTHS_BETWEEN(date2,date1) 给出date2-date1的月份
SQL> select months_between('19-12月-1999','19-3月-1999')
2 mon_between from dual;
MON_BETWEEN
-----------
9
13.TO_NUMBER 将给出的字符转换为数字
SQL> select to_number('1999') year from dual;
YEAR
---------
1999
14.
create or replace trigger trigger_test
before insert or delete or update
on temp
begin
insert into temp2
(id,name,dept,sal,remark,sax)values(4,'trigger','trigger',5000,'trigge
r','女');
end;
SQL> drop trigger trigger_test;
触发器已删除。
create or replace trigger delete_trigger
after delete
on deptment
for each row
begin
delete from deptment where id = 3;
end ;
15. round
SQL> select round(3.1415,2)from dual;
ROUND(3.1415,2)
---------------
3.14
16.
============================
set linesize 300;
set pagesize 30;
============================
17.
create or replace trigger temp_log_trigger
after delete or update or insert
on temp
begin
if inserting then
insert into temp_log values (user,sysdate,'insert');
elsif deleting then
insert into temp_log values (user,sysdate,'delete');
elsif updating then
insert into temp_log values (user,sysdate,'update');
end if;
end;
18.
select * from temp,temp2 where temp2.id (+)= temp.id; ---左连接
19.
v$logfile,v$datafile,v$controlfile;
20.
create or replace trigger triggerTest after update on temp for each row
begin update deptment set id =:new.id where id =:old.id;end;
======================================================================
Design Patterns in java 设计模式
======================================================================
1、抽象方法和接口的三点区别
①一个类可以实现多个接口,但它最多只能扩展一个抽象类。
②一个抽象类可以有若干个非抽象方法。而一个接口的所有方法都是抽象的
,无论是否将它的方法显式的声明为抽象的。
③
④抽象类可以定义构造器,接口不行。
⑤抽象方法中可以声明和使用字段,接口中只能使用常量。
作用域 当前类 同一package 子孙类 其他package
public √ √ √ √
protected √ √ √ ×
friendly √ √ × ×
private √ × × ×
总结:当前类都能看到
同一包都能看到,除private
其他包都看不到,除public
子孙类,除默认friendly看不到(和private)
2、Adapter 适配器 模式
将两个不兼容的类纠合在一起使用,属于结构型模式,需要有Adaptee(被适配者)
和
Adaptor(适配器)两个身份.
3、Facade 外观 模式
为子系统中的一组接口提供一个一致的界面.
(在应用中,经常需要对数据库操作,每次都写上述一段代码肯定比较麻烦,需要将
其中不变
的
部
分提炼出来,做成一个接口,这就引入了facade外观对象.)
4、Factory 工厂模式
/*
工厂方法
你会建立一个专门生产Sample实例的工厂:
public class Factory{
public static Sample creator(int which){
//getClass 产生Sample 一般可使用动态类装载装入类。
if (which==1)
return new SampleA();
else if (which==2)
return new SampleB();
}
}
那么在你的程序中,如果要实例化Sample时.就使用
Sample sampleA=Factory.creator(1);
*/
5、Prototype 原型模式
===========================
2009-7-27===========================================
ext
1、Ext.onReady(function() {var myDiv = Ext.get('myDiv');});
onReady中,即当页面加载后总会立即执行
2.想获取多个DOM的节点,Ext引入了一个功能异常强大的Dom Selector库,叫做
DomQuery。
// 每段高亮显示
Ext.select('p').highlight();
3。Ext.onReady(function() {
Ext.get('myButton').on('click', function(){
alert("You clicked the button");
});
});
Ext.onReady(function() {
Ext.select('p').on('click', function() {
alert("You clicked a paragraph");
});
});
Ext.onReady(function() {
var paragraphClicked = function() {
alert("You clicked a paragraph");
}
Ext.select('p').on('click', paragraphClicked);
});
Ext.onReady(function() {
var paragraphClicked = function(e) {
Ext.get(e.target).highlight();
}
Ext.select('p').on('click', paragraphClicked);
4。Widget原意为“小器件”,现指页面中UI控件
var paragraph = Ext.get(e.target);
paragraph.highlight();
Ext.MessageBox.show({
title: 'Paragraph Clicked',
msg: paragraph.dom.innerHTML,
width:400,
buttons: Ext.MessageBox.OK,
animEl: paragraph
});
Grid是Ext中人们最想先睹为快的和最为流行Widgets之一。
Ajax
Ext.onReady(function(){
Ext.get('oKButton').on('click', function(){
var msg = Ext.get('msg');
msg.load({
url: [server url], //换成你的URL
params: 'name=' + Ext.get('name').dom.value,
text: 'Updating...'
});
msg.show();
});
});
Ext.onReady(function()
{
var win=new Ext.Window(
{
title:"hello",
width:300,
height:200,
html:'<h1>Hello,exts</h1>'
}
);
win.show();
});
2009-8-19
oracle
select table_name from user_tables;
show user;
2009-9-15
<script language="javascript" src="js/editor.js"></scritp>
<script language="javascript">browserControl()</scritp>
<textarea name="context" style="width:100%;height:80"></textarea>
<script language="javascript">newConfig('context')</scritp>
2009-9-27
oracle clob 显示 to_char
2009-9-27
svn 不能整体更新 问题
点击 项目的 properties ===> Java build path ===> source ===> 双
击
===> src 添加 .svn 下面一样
2009-10-10
pageContext
2009-10-21
function editInfo()
{
win =new Win({
title:"编辑信息",
id:"select",
type:"model",
left:"30",
top:"180",
width:"800",
height:"880",
src:yxt_framework+"/YXTWebPage/user/info.jsp"
});
win.show();
}
图片 表的 一个 用户 一个图片 显示
日程代码小积累
最新推荐文章于 2022-07-07 07:00:00 发布