IBM基地(嘉兴)培训 java笔记

更新时间:2023-05-30 02:14:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

IBM基地(嘉兴)培训 java笔记

2010.6.11

1:开班仪式(双方领导发言)

2:晨会 手语操的学习

3:素质拓展训练

2010.6.12(第二天)

上午:

1、 Java有几种存储区域?

* 寄存器

-- 在CPU内部,开发人员不能通过代码来控制寄存器的分配,由编译器来管理

* 栈

-- 在Windows下, 栈是向低地址扩展的数据结构,是一块连续的内存的区域,即栈顶的地址和栈的最大容量是系统预先规定好的。

-- 优点:由系统自动分配,速度较快。

-- 缺点:不够灵活,但程序员是无法控制的。

-- 存放基本数据类型、开发过程中就创建的对象(而不是运行过程中) * 堆

-- 是向高地址扩展的数据结构,是不连续的内存区域

-- 在堆中,没有堆栈指针,为此也就无法直接从处理器那边获得支持 -- 堆的好处是有很大的灵活性。如Java编译器不需要知道从堆里需要分配多少存储区域,也不必知道存储的数据在堆里会存活多长时间。

* 静态存储区域与常量存储区域

-- 静态存储区用来存放static类型的变量

-- 常量存储区用来存放常量类型(final)类型的值,一般在只读存储器中 * 非RAM存储

-- 如流对象,是要发送到另外一台机器上的

-- 持久化的对象,存放在磁盘上

2010.6.13 (第三天)

IBM基地(嘉兴)培训 java笔记

上午:

一: 优化了昨天的继承的程序

二:让我们写“买票”的小程序

1 .买票的思想 :

票自身的属性—卖票的地点——买票——买票的人——测试改程序

2 .将以上的各类关联起来

3 关键代码如下:

public class TestTicket{

public static void main(String[] args){

Person p = new Person("zs");

Ticket t = p.buyTicket("动车","杭州");

System.out.println(p+"买了"+t); } }

class Ticket{

String name;

float price = 120.50f;

public Ticket(String name,float price){

= name;

this.price = price; }

public Ticket(String name){

= name;

}

public String toString(){

return " 票名::"+name+", 价格:"+price; } }

class TicketStore{

String name;

int tno = 30;

public void setName(String name){

= name;

}

public TicketStore(String name){

= name;

}

public Ticket sellTicket(String tname){

Ticket t = null;

if(tno>1){

t = new Ticket(tname);

tno--;

}else{

throw new RuntimeException("no ticket.");

IBM基地(嘉兴)培训 java笔记

}

return t; }}

class Person{

String name;

TicketStore ts = new TicketStore("嘉兴");

public Person(){}

public Person(String name){

= name;

}

public String toString(){

return name; }

public Ticket buyTicket(String tname,String sname){

ts.setName(sname);

return ts.sellTicket(tname); }}

三:static 的用法

static表示“全局”或者“静态”的意思,用来修饰成员变量和成员方法,也可以形成静态static代码块,但是Java语言中没有全局变量的概念。

被static修饰的成员变量和成员方法独立于该类的任何对象。也就是说,它不依赖类特定的实例,被类的所有实例共享 。只要这个类被加载,Java虚拟机就能根据类名在运行时数据区的方法区内定找到他们 。因此,static对象可以在它的任何对象创建之前访问,无需引用任何对象。

用public修饰的static成员变量和成员方法本质是全局变量和全局方法,当声明它类的对象时,不生成static变量的副本,而是类的所有实例共享同一个static变量。

static变量前可以有private修饰,表示这个变量可以在类的静态代码块中,或者类的其他静态成员方法中使用(当然也可以在非静态成员方法中使用--废话),但是不能在其他类中通过类名来直接引用,这一点很重要。实际上你需要搞明白,private是访问权限限定,static表示不要实例化就可以使用,这样就容易理解多了。static前面加上其它访问权限关键字的效果也以此类推。

static修饰的成员变量和成员方法习惯上称为静态变量和静态方法,可以直接通过类名来访问,访问语法为:

类名.静态方法名(参数列表...)

类名.静态变量名

用static修饰的代码块表示静态代码块,当Java虚拟机(JVM)加载类时,就会执行该代码块(用处非常大,呵呵)。

1、static变量

按照是否静态的对类成员变量进行分类可分两种:一种是被static修饰的变量,叫静态变量或类变量;另一种是没有被static修饰的变量,叫实例变量。两者的区别是:

对于静态变量在内存中只有一个拷贝(节省内存),JVM只为静态分配一次内存,在加载类的过程中完成静态变量的内存分配,可用类名直接访问(方便),当然也可以通过对象来访问(但是这是不推荐的)。

IBM基地(嘉兴)培训 java笔记

对于实例变量,没创建一个实例,就会为实例变量分配一次内存,实例变量可以在内存中有多个拷贝,互不影响(灵活)。

2、静态方法

静态方法可以直接通过类名调用,任何的实例也都可以调用,因此静态方法中不能用this和super关键字,不能直接访问所属类的实例变量和实例方法(就是不带static的成员变量和成员成员方法),只能访问所属类的静态成员变量和成员方法。因为实例成员与特定的对象关联!这个需要去理解,想明白其中的道理,不是记忆!!!

因为static方法独立于任何实例,因此static方法必须被实现,而不能是抽象的abstract。

3、static代码块

static代码块也叫静态代码块,是在类中独立于类成员的static语句块,可以有多个,位置可以随便放,它不在任何的方法体内,JVM加载类时会执行这些静态的代码块,如果static代码块有多个,JVM将按照它们在类中出现的先后顺序依次执行它们,每个代码块只会被执行一次。

Static的上课总结:

1. Static的成员变量和成员方法都比非静态的成员方法和成员变量,优先被初始化,

并且static的成员变量只能被初始化一次

2. class A

int i=5;

int j;

{

J=10;

}

Static { //该语句块比上面的语句快现调用

J=5;

}

3. class B{

int i=5;

int j=10;

staic int b=11;

} // 输出的语句顺序是11,5,10 静态成员变量优先输出。

下午:

4: (1)。静态的块中不可以非静态的成员变量

(2)可以在静态的块中引用非静态的常量

(3) 如果是在继承的情况下,也是先静态的后非静态的

(4) 在同一个类中非静态的只能被调用一次 无论他是否在该类中的类变

量所在的类中是否被调过结果都是一样的

在同一个类中有两个类变量调用某个静态变量也是只能被调用一次

5: 关联关系(对象应用的调用) 组合关系(紧密的联合关系) 聚合关系(松散

IBM基地(嘉兴)培训 java笔记

的联合关系)

总结:

依赖:

一、依赖关系(Dependence):假设A类的变化引起了B类的变化,则说名

B类依赖于A类。

依赖关系有如下三种情况:

1、A类是B类的一个成员变量;

2、A类是B类方法当中的一个参数;

3、A类向B类发送消息,从而影响B类发生变化;

组合与聚合的区别:

(1)被组合的对象是在组合对象创建的同时或者创建之后创建,在组合对象销毁之前销毁。一般来说被组合对象不能脱离组合对象独立存在,而且也只能属于一个组合对象,例如一个文档的版本,必须依赖于文档的存在,也只能属于一个文档。聚合则不一样,被聚合的对象可以属于多个聚合对象,例如一个员工可能可以属于多个公司。

(2) 聚合这种关系是被包含的对象的个数是 0..* 而组合是 1..*

聚合中的被包含对象可以没有。 而组合至少有一个。聚合是一种拥有的关系,而组合是整体与部分的关系

(3) 组合与关联和聚合不同的是在是否在构造函数里生产对象

IBM基地(嘉兴)培训 java笔记

IBM基地(嘉兴)培训 java笔记

四:用“家”写一个程序

1 家—人(有人才产生家)、房子(房子属于某某人的)

人和房子之间是聚合的关系

家和人是组合关系

地球和家之间的关系 (关联关系: 地球可以有家庭也可以没有家庭)

家所具备的东西(房子)、没有房子和人就不会产生家、

2. 代码的可读性、可扩展性、安全性、健壮性。

3.写成程序TestFamily.java

五 用“水”写一个程序在(家庭作业)

(水蒸气、冰、水),注意各自的属性和方法。

六 用“教室”写一个程序(家庭作业)

(各个人扮演的角色、老师的电脑与我们的电脑的作用与功能不一样、电脑的输入输出设备、电脑与桌子的关系、桌子与椅子的关系、饮水机都可使用)

关键是体现各个名词之间的关系。

2010.6.14

(上午):

一: 代码重构(节省相同的代码重复出现的问题)

用标识浮来解决这些问题

例如:在昨天的TestFamily.java中进行代码重构如变成ReTestFamily.java。具体的实现是把hasChild()与toString()中相同的代码放在一块儿,并用标识浮来标识他们是那个方法的

在下面中flag进行标识

falg=1:hasChild()

flag=2:toString()

二: 继承、组合、聚合、关联

1. 组合:电脑和显示器、人和人的任何部位(不可分割的部分)

(1) 整体和部分的关系(1…* 的关系)

(2) 整体的消失伴随着个体的消失

(3) 任何一个个体都不能少

(4) 写类时:A a =new A();

2. 聚合:教室和桌子(比组合关系弱)

(1) 整体和部分的关系(0…* 的关系)

(2) 整体的消失不会伴随着个体的消失

(3) 任何一个个体可有可无

(4) 写类时:在成员变量中A a =null; 在其他的需要的时候再创建:

a=new A()

3. 继承

IBM基地(嘉兴)培训 java笔记

(1) 人和和尚

4. 关联

(1) 教室中的饮水机,用的时候才和你有关系的,不用就没关系的

(2) 在类中使用每个成员变量的时候,需要的话就调研,不需要的话就不调用

(3) 在方法中把他写成形式参数来使用他,来达到需要他的时候才使用他的目的 三: “水”(H2O) (例子:TestH2O.java)

(1) h和o是聚合关系

(2) h和o的个数及类型

(3) 抽象的方法必须存在与抽象的类中

(4) Class.forName("Water").newInstance(); //字符串加载

Class.forName(xxx.xx.xx) 返回的是一个类,

.newInstance() 后才创建一个对象

(5)"就近原则" 代替重载方法(主要他们都来自同一个父类) : 必须满足的情况:1 要有父子类关系

2 多态方法接受父类引用作为参数

3 此类必须要重写父类中方法

四 单例模式(例子:TestSingelton.java)

(1) 意思:(查的资料)单例模式单例模式是一种常见的设计模式,

单例模式分三种:懒汉式单例、饿汉式单例、登记式单例三种。

单例模式有一下特点:

1、单例类只能有一个实例。

2、单例类必须自己自己创建自己的唯一实例。

3、单例类必须给所有其他对象提供这一实例。

(2) 使用单类模式,可以避免重复循环

(3 ) 单例是因为一个就足够了,多了浪费

(4) ingleton并不是说为了确保同一时刻只有为一个对象服务,这样还不如搞

个同步锁呢,单例是因为一个就足够了,多了浪费!比如邮局里的电话簿只有一本,有需要的人拿来看,没有必要每个人要查的时候工作人员就拿一本出来,看完了再回收。。。

(5) 单例主要用在“工厂模式”中

五: CIM 、PIM(uml;来实现) 、PSM(对PIM的在分析)

六 工厂模式(汽车)

IBM基地(嘉兴)培训 java笔记

(1) 工厂模式:客户类和工厂类分开。消费者任何时候需要某种产品,只需

向工厂请求即可。消费者无须修改就可以接纳新产品。缺点是当产品修改时,工厂类也要做相应的修改。如:如何创建及如何向客户端提供。

(2)

七: final的引用(例子:TestFinal.java)

1:final修饰变量,值不能改变 ,并且必须手动给其初始化一个值,可理

解为常量但不是常量 因为其值不变内容可变(引用的变量不变,但是其所在的对象变得内容可变)

2:final的方法在子类中可以使用 但是不可以重写

3:final 的类可以使用 但是不可以继承 意味着方法不可重写 Final A a=new A(); 说明该类不能再被创建

2010.6.17

上午:

一: 接口和抽象类(TestInterface.java)

1:接口目的: 让一系列的子类实现她 实现多态

2: 抽象类和接口的区别:抽象类不可以被实例化,可以有抽象方法也可以

没有抽象方法,但类必须要有abstract修饰 接口中只能有抽象的方法和常量 方法可以有abstract修饰也可以不用次修饰 而且访问权限必须都是public 要么 就不写也行

3:接口不会实例化对象 没有意义

不能有静态的成员变量 也不能有非静态的

4:接口中的组成部分:

(1):变量: 看看能不能被修改 来判断它是不是必须是常量 不可以用private 修饰 只能用public 变量

i++; 常量可以被下列样式修饰

public static final int i=1;

public int i=1;

static int i=1;

final int i=1;

(2): 方法: 不可以是static修饰 只能是public abstract或public public abstract void m() ;

IBM基地(嘉兴)培训 java笔记

public void m() ;

abstract void m() ;

void m() ;

二: String 、StringBuffer (TestString.java) 1:String 类型的特征 1 :String 的字符常量也是一个对象

2 两个字符常量“==”相比时 是false 因为如果两个常量有相同的值

时,

他们所在的地址是相同的

3 :两个字符串对象“==”相比时,返回的是false 因为与他们字符串常量

不一样,他们属于不同的对象,所以指向的是不同的地址

4 :两个字符串常量相并,并不是简单的相并,而且他们指向的也是不同

的空间对象

5:StringBuffer 是字符串缓冲区,与String对象相比的优点是在for循环

语句中 不会浪费资源空间,一般用StringBuffer.append(“”);来对字符

串缓冲区进行添加(详见TestString。Java)

三 String对象中将字符串中的某个字符换成其他的字符

(StringApi.java 、StringApi2.java)

(1) 有如下列方法 能实现主题的内容

方法一 charAt()

方法二split(String regex)

根据给定的正则表达式的匹配来拆分此字符串。

正则表达式的构造摘要

方法三 str.toCharArry();

(2) 将字符串中的字母进行替换 (详见: StringApi2.java)

s2.replaceAll("[^a-zA-Z]","*")

四 将文件进行上传、下载到另外的文件夹中(.txt)

1:文件加载 将另外的类代码 加载到指定的文件中

2:在写流结束的时候一定要关闭资源 否则会出现输出不完全的现象 3: 关键代码,如下

File inf = new File("E:TestString.java");

File of = new File("E:/TestString.txt");

InputStream is = new FileInputStream(inf); //文件输入流和输出流 OutputStream os = new FileOutputStream(of);(详见:TestIo.java) 4:在上面的文件中还能生成。Txt文件

五 将程序写成日志的形式(Log.java)

1:利用 File类来写 并且利用读入和读出来实现

2:关键代码如下:l

IBM基地(嘉兴)培训 java笔记

public static void main(String[] args){

System.out.println(getString("whz","haha"));

}

public static String getString(String str1,String str2){

StringBuffer sb = new StringBuffer();

sb.append("\n========================================\n");

sb.append("起始时间"+new java.util.Date().toString());

sb.append(str1+"\n");

for(int i=0;i<10;i++){

sb.append(str2+"\n");

}

sb.append("结束时间"+new java.util.Date().toString());

sb.append("\n========================================\n");

String res = sb.toString();

writeString(res,new File("E:/Log.txt"));

return res;

}

private static void writeString(String src,File f){

FileWriter sw = null;

try{

/*在给出 File 对象的情况下构造一个 FileWriter 对象。如果第二

个参数为 true,

则将字节写入文件末尾处,而不是写入文件开始处。(意思就是

说上次输入输出的文件不会消失,一直保存着)*/

sw = new FileWriter(f,true);

sw.write(src);

}catch(FileNotFoundException e){

System.out.println("文件不存在");

}catch(IOException e){

System.out.println("创建文件失败!");

}finally{

try{

if(sw!=null)

sw.close();

}catch(IOException e)

3: 改程序比“四(上面的程序)”更加优化,因为此类程序每次

在txt文件的生成记录都不会消失,而上面的每次更新以后,

前一次的代码都会消失

六 沟通技巧(杨贤忠)

1: 沟通的含义

2: 沟通的类型

3:沟通的原则

4:沟通的过程

IBM基地(嘉兴)培训 java笔记

5:沟通与管理

6::如何与不同性格的人沟通

(1) 力量型

(2) 活泼型

(3) 思考型

(4) 和平型

7:自我分析和完善

2010.6.18

讲解Java练习题1

一:环境变量的设置

1 Path 后面可以跟n个值 ,每个值用分好隔开,“.”表示当前的路径,”..”表示当前文件的上一个文件的目录,例如:将e:/test/1.txt变成饿:e:/的目录 。( cd ..) ---( e:/test)----(cd.)—(e:/);(e:/)—cd test---e:/test—cd 1.txt---e:/test/1.txt

2 Dir 查看某个目录存在的所有文件

3 md study 创佳study的文件夹

二:Java基础的编写

1: 可以有多个class文件 但只可以有一个public的类

三:编辑、编写求和的程序(SumN_for.java)

1:最关键的一点是在main方法中使用了下面的语句

//用下面的方法 会使程序在运行的时候 更加方面

int r=sum(Integer.parseInt(args[0]));

在用cmd命令运行的时候可以直接传入参数 例如:java Test 10 四:

定义并测试显示一个人的完整信息

五: 编写一个程序,求三个数中最大的数(MaxValue.java )

public class MaxValue{

public static void main(String age[]){

//Java方法的动态绑定机制(方法重载)

System.out.println(getMax(1,2,3));

System.out.println(getMax(1.0f,2,3.0f));

getMaxO("c","b","a");

}

public static int getMax(int a,int b ,int c){

int max=0;

IBM基地(嘉兴)培训 java笔记

max=a>b?a:b; max=max>c?max:c; return max; } //可以传n个Object的类 public static void getMaxO(Object... value){ Object[] os=value; for(Object o :os){ System.out.println(o)); }}}

六 求1~1000之间可以同时被3、5、7整除的数字(Div.java) public static void main(String args[]){

//System.out.println(getResult(100));

int res[]=getResult(1000);

for(int i : res){

System.out.println(i+","); }}

public static int[] getResult(int v){

int []res; //将偶数放在该数组中 并且返回

int count=0;

//判断偶数的个数

for(int i=1;i<v;i++){

if(i%3==0&&i%5==0&&i%7==0){

count++; } }

//再给数组赋值

res=new int[count];

for(int i=1;i<v;i++){

if(i%3==0&&i%5==0&&i%7==0){

res[--count]=i;

}

}

if(res.length==0)//说明该空间没有被赋值过

{

throw new RuntimeException("没有找到符合条件的数值!"); }

return res;

}

2010.6.21

IBM基地(嘉兴)培训 java笔记

一: 应用性系统、数据库性系统

他们是经过idbc关联起来的,应用性系统是客户端在提交数据的处理过程 二:一维数组

(1) : 例子:TestArry.java 、TestArry2.java

(2) 定义数组的方法一:int [] as=new int[3]

as[0] =12;

(3) 定义数组的方法二:String [] strs ={"www","ibm","com","com"};

注意:该数组的分配空间总共有8个,其中,"com","com"在数据存储区中只有一个存储空间,因为数据在空间中没有找到相同的值的情况下才重新开辟新的空间

(4) 数组排序

public class TestArry2{ public static void main(String args[]){

Person[] ps=new Person[6];

ArrayOfPerson ao=new ArrayOfPerson();

。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

for(Person i:ps){

//调用数组的toString()方法就会形成数组的类型输出来

System.out.println(ao.toString(i)+",\t");

}

java.util.Arrays.sort(ps); //数组排序的方法

System.out.println("=====================");

for(Person i:ps){

System.out.println(i+",\t");

}

}

}

//类的比较用到的接口Comparable 极其实现

class Person implements Comparable{ //必须要实现该接口

否则不能进行类之间的比较

String name;

public Person(String name){

=name;

}

public String toString(){

return name;

IBM基地(嘉兴)培训 java笔记

}

public int compareTo(Object o){

if(o==null){

throw new NullPointerException("空针异常");

}

if(!(o instanceof Person)){

throw new ClassCastException("不是同种类型,无法比较"); } Person p=(Person)o; if(pareTo()>0){ return -1; } if(pareTo()<0){ return 1; } else{ return 0; }}}

class ArrayOfPerson{

// 是扩展Object的类 扩展父类的toString()

public String toString(Person [] os){

StringBuffer sb=new StringBuffer();

sb.append("[");

int size=os.length;

for(int i=0;i<size;i++){

sb.append(os[i].name).append(",");

}

String rs=sb.toString();

rs=rs.substring(0,rs.length()-1)+"]";

return sb.toString();} }

三:二维数组

(1) // 第一个表示几维,第二个表示数组对象

// 二维数组的分配空间在栈中

int [][] as2={{1,2},{3,4},{5,6}};

(2) Collection接口 Interator list Set

IBM基地(嘉兴)培训 java笔记

2010.6.22

一:ServeLet的纯文本配置极其运行(firstweb文件夹)

(1) 健项目: firstwe

包含文件:*.html和WEB-INF文件

WEB-INF中包含的主要文件有:web.xml和classes文件

Classes文件中包含*.java文件和载有生成.class文件的包,还包含配置文件lib

(2) 在运行的时候注意点:

cd. 文件路径----------javac –d . *.java---java class包名.*(类名)

(3) 打开tomcat根路径下的:conf文件夹中的server.xml

文件;

找到<host></host>节点,在这个节点内添加<Context/>节点;

如:<host><!--在一个host中可以配置多个应用(Context);docBase对应的是应用的绝对路径;path对应的是应用的别名称;---> <Context docBase="D:/firstweb" path="/fw"/> <Context docBase="D:/firstweb2" path="/fw2"/> <Context docBase="D:/firstweb3" path="/fw3"/> </host>

()

(4) 编译无误运行有误的时候:应该这样做:

找classes文件===路径错误===看xml文件的配置是否是全路径

(5)sevletle 请求过程:1 请求转发

2 重定向

(6) 生命周期:初始化===由服务器开始时候开始服务===service服务

==response响应完毕之后在销毁===销毁服务程序

二 Map结合List来进行使用(MapAndList。Java)

(1) 拿出set中所有的key 首先要集合Key在拿出集合List中的值 //转换为Set,然后再利用其中的迭代器来输出所需要的值

// Set Map.entrySet()返回此映射中包含的映射关系的 set 视图。

(2)Set set=map..keySet(); //获取键值

三:容器种类

1.:Collection: 比较下面类的含义极其区别

(1) List add(Object o ) :添加的类容是可以重复的,并且是有序的。

(2)Set add(Object o) :添加的类容是不可以重复的,并且是无序的。

2.:Map:含有put(String Key,, Object value)、get(String key)是获取键值 四:迭代器

IBM基地(嘉兴)培训 java笔记

下面两种迭代器很相似

1:ResultSet

2:Iterator

2010.6.23

(一) req.setAtrribute("type",type);

//跳转到新的页面中不会产生新的request对象所以在result.jsp能获取到

setAtrribute中设置的值

req.getRequestDispatcther("result.jsp").forward(req,resp);

//在新的页面中会产生新的request对像,所以在result.jsp不能获取到

setAtrribute中设置的值

resp.sendRedirect(""result.jsp"");

(二) 在jsp文件中写成request.getParameter(“type”);的形式是因为,jsp在编译

的时候会产生Java源文件,并产生相应是class文件,但是上面的请求代码是request.getParameter(“type”),写成其他的形式时,该院文件不认识

(三) 在编译原文件的时候,如果出现软件不存在的错误的时候,是因为没有

将相应的软件包(jar包)的路径放入classpath中。

(四) 数据库 (mySql)

1: #查看数据库中有那些Database?

show databases; 出现以下结果:

2: 如何使用上面查询到的数据库??

IBM基地(嘉兴)培训 java笔记

3:比如像是用Test这个数据库?

use test ;

4 database 可以有一系列的tabel,查看当前的数据库中有那些tabel show tables ;得到如下的结果:

说明当前的database中没有任何的table;

5 我想在自己的数据库中创建一张表,该怎么办?

首先要创建自己的数据库:

create databse newDatabase; 的倒入下的结果:

表示创建成共!

6: 在属于自己的数据库下创建一张表,该怎么办?

(1) 先切换到自己的数据库;

Use newDatabse;

(2) 这是可以创建表了

// 注意:auto_increment 是自动增加1

create table person(

id int auto_increment primary key,

name varchar(20) not null,

age int (3),

address varchar(100)

);

得到ok的显示 表示创建成功。

(3) 表有了,可以存数据了。怎么存呢?

(4)、insert into person[列名称] values([列表值]);如下:

insert into person values(null,’张三’, 28,’中国浙江嘉兴南湖万好家具IBM

IBM基地(嘉兴)培训 java笔记

人才公寓’);

(5): 查看person 表有多少条记录?

select [列表名称] from 表名称;

select *from person;

(6): 查看表的信息?

desc person;

(7) 更进一步的查看表的详细信息?

show create table person; 结果如下:

IBM基地(嘉兴)培训 java笔记

(8) Select * from person limit 0,3; 表示限制0行到3行的输出

2010.6.24

一 (1) Dao 是data access object 数据访问对象

直接操纵数据库的类=直接发送sql语句的 dto

本文来源:https://www.bwwdw.com/article/qq74.html

Top