Java自主学习手册(电子版)_第1页
Java自主学习手册(电子版)_第2页
Java自主学习手册(电子版)_第3页
Java自主学习手册(电子版)_第4页
Java自主学习手册(电子版)_第5页
已阅读5页,还剩85页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、北京广播电视大学Java语言自主学习手册理工教学部2010.10 89/90 附录资料:java重点笔记归纳整理Java初级eclipse快捷键:右键REFACTER-RENAME 一改全改ALT+ENTER 查看现在项目的位置 Alt+ 当前行和下面一行交互位置(特别实用,可以省去先剪切,再粘贴了) Alt+ 当前行和上面一行交互位置(同上) Ctrl+W 关闭当前Editer C+/ 注释(取消注释)选中行C+S+/ 注释多行C+S+取消注释 F2 查看完整的函数帮助信息,并且可以复制粘贴文字 ,当选中文件时,有改名作用 F3找到变量的定义 C+鼠标点击 找到变量的定义 作用和F3C差不多

2、。 F4找到接口方法的具体实现类.=C+T F5刷新 C+F6:在打开的文件间进行切换; C+F7:在资源窗口间进行切换; C+F8:在各种模式间进行切换; C+E:选择某个打开的文件; C+S+r:打开一个文件; c+s+t:打开一个类; c+s+f:格式化代码; C+S+O:导入需要的类 c+o:查看类结构; c+t:列出子类或接口实现类(类的等级结构) Ctrl+Alt+ 复制当前行到下一行(复制增加) Ctrl+Alt+ 复制当前行到上一行(复制增加) CtrlK (加SHIFT是向上)向下查找选中的字符串 Ctrlshift 向上向下查找一个函数和变量 Java基础知识1.Java是

3、Sun公司的JamesGosling发明的面向对象的可跨平台的编程语言。2.SUN公司,Stanford University Network,斯坦福大学;3.平台:我们把cpu处理器与操作系统的整体叫做平台。不同的操作系统支持不同的cpu指令集。不同的cup有不同的指令集,如intel和AMD.4.JDK:Java Software Develop Kit. JVM:Java Virtual Machine.Java虚拟机,包含:类加载器,字节码校验器,java解释器。 JRE:java运行时环境,包含jvm与java运行支持类库。5.环境变量:java_home;classpath:.;C

4、:Javajdk1.6.0_10lib;path6.jdkjdk1.1为jvm增加了JIT(即时编译)编译器;jdk1.2也叫java2;jdk1.5也叫java5(改动较大);现在使用的是jdk1.6。7.jdk,Java Developent ToolKit;开发java需要有源程序文件到中间文件的编译器;运行java中间文件需要对应平台的解释器(官方叫法JVM);编译器、解释器加上一些其它的组件合称为JDK.JDK的另外一个称呼为Java Software develop kit.JDK即开发java程序的组件。jdk=java编译器+jre(java运行环境) jre=jvm+运行支持

5、类库 eclipse和jbuilder本身自带了java编译器但不包含jre。8.jre:Java Runtime Environment,java运行时需要的环境。有两类,开发需要的jre和公共jre。9.jdk版本,jdk1.2到jdk1.4为java2时代,java技术有j2ee,j2se,jeme.jdk1.5,也叫做java5,技术术语改为javase,javaee,javame.1.5在1.4的基础上改动很大。10.常用的DOS命令:dir,现实当前文件夹的所有文件;cd . 打开上级目录;exit:退出。11.java注释:java注释分为三种单行注释,多行注释,文档注释,文档注

6、释结果为:/*换行*/,文档注释在帮助文档里面有显示。12.javadoc帮助文档,javadoc可执行程序可生成帮助文档,用法如下:javadoc Test01.java13.java 打包jar,用法见cmd输入jar;ant也是一种打包成jar的工具,其功能叫jar更加强大;除了jar包外,java文件包还有war,ear两种格式。14.java缺点:运行速度慢,占用资源多是java的缺点;其原因是:class需要二次编译,解释执行;jvm运行占用资源;无指针无法直接操作内存,垃圾回收线程占用资源,并且不会实时收集内存。15.JVM,JAVA虚拟机即java解释器;JVM执行.class

7、文件需要三步:类加载器加载;校验器检查错误,执行文件。在执行的时候有两种方法:a.解释器直接执行;b.JIT代码生成器搞定。16.两种解释执行方法的区别:直接解释执行是1.1版本的,其直接翻译class文件,速度必然比机器执行二进制文件的速度慢;1.2版本后引入JIT,即将class文件先转换为二进制文件,再执行二进制文件,下次执行时可直接执行二进制文件。15.JIT(即时编译):java即时编译技术,可执行java代码的运行速度。17.IDE工具 IDE:Integrated Development Environment,集成开发环境。18.开发java的IDE工具:JCREATOR,JB

8、UILDER,ECLIPSE,NETBEANS.20.拷贝项目的三种方式:a.拷贝整个工作空间,切换工作空间。b.拷贝项目,导入项目。c.只拷贝源代码(即src文件夹),从新建的项目导入。22.转义字符:单引号:;双引号:;反斜杠:;回车:n;水平制表符:t;换行:r. 转义字符一般出现在字符串中时,要是以原型输入,则输出一定报错,只有以转换后的才能显示。23.数据类型转换:byte char short int long float double,String,小杯到大杯自动转换,但是大杯到小杯强制转换。一般的格式:标变量=(目标类型)源变量,特殊的,String转换为其它,int a =

9、Integer.parseInt(str1);float b = Float.parseFloat(str2);boolean c = Boolean.parseBoolean(str3);24.内存分配 基本数据类型只在栈中分配内存;应用数据类型不仅在栈中分配内存,还在堆中分配内存,在变量声明时,在栈中分配内存,当创建对象时,在堆中分配内存。25.值传递和引用传递 本人去见网友叫按引用传递;替身去见网友叫做按值传递。引用传递参数数值改变,按值传递参数值不变。基本数据类型就是按值传递的,又称为值类型,而引用类型是按引用传递的。String 虽然是按引用传递的,但是传递给的新变量会有属于自己的堆

10、内存,所以,String值不变。包: 开发中最好在导入包和类的过程中,最好是使用哪个类就导入那个类,不要导入包。27.包的命名规则:反写的企业域名.功能名.模块名28.系统包(SUN提供的包)默认包-java.lang.常用包 java.lang: java的核心类库,包含了运行java程序必不可少的系统类,如基本数据类型、基本数学函数、字符串处理、线程、异常处理类等,系统缺省加载这个包 java.lang.reflect:提供用于反射对象的工具 java.io: java语言的标准输入/输出类库,如基本输入/输出流、文件输入/输出等 java.util:常用的工具类,如集合框架类,日期处理类

11、等。主题:旺旺老师软件工程师实训教程-JAVASE 第六章:包与 JAVA 常用类 java.sql: JDBC相关类。 :JAVA网络包,其中包含能够使程序通过网络进行通信的 java.awt;javax.swing:使用java开发C/S结构应用程序使用的类。29.企业开发中命名规则一般如下: com.easyitedu.dao /持久层代码 com.easyitedu.view /表示层代码 .student /stuent模块的业务层代码 .teacher /teacer模块的业务层代码 com.easyitedu.tool /本项目使用的工具类30.包装类:8个值类型对应的有8个类,

12、我们把它们称为包装类。其作用较八种基本类型的作用强大,java不符合面向对象的两个地方:一个是JAVA保留了8个基本数据类型,他们不是对象,更没有属性和方法;另一个就是JAVA中存在着main方法。之所以还在用八种基本类型而不是通通用包装类,是因为一些简单的业务用基本数据类型效率较高,但是有时必须用八个包装包,例如:强制类型转换。 其中byte的包装类是Byte.只有char的类是Character,int 是 Integer.其它像byte一样是其本身。说明:int a = 10; Integer b = new Integer(10);其中,前者占用一块内存,后者占用两块,符合引用传递。自

13、动的拆箱和装箱:把数据由基本数据类型转换为对应包装类叫做装箱,把数据由包装类转化为基本数据类型叫拆箱。实例:int a = 10;Integer b = a;/自动装箱,基本数据类型-包装类 int c = b;/自动拆箱,包装类-基本数据类型,即两种类型可以自动相互转换,没其它制约。32.String转换成基本型:调用包装类的parse*方法,例如:String a = 12; int a = Integer.parseInt(a);33.=和equals,=比较的是堆内存地址,后者堆内存(即地址可以不同)。equals,用法:常量.equals(变量),要不然会出现空指针异常。34.字符串

14、池:当字符串直接赋值时,(string a = aa;)其堆内存会进入字符串池,当下次在赋值相同时,String b =aa;b会直接引用a的堆内存。但是当赋值为new 方法赋值时,其堆内存不会进入字符串池,而是直接开辟一个新的空间。String c = new String(aa);35.三个空字符串的区别:String a = null;String b = ;String c = ;其中null,没有分配堆内存空间,b分配了堆内存空间,里面放了一个空格;c虽然分配了内存空间,但是没有放东西。36.字符串拼接:不用String 而是用StringBuffer.append(),前者的对内存

15、限定了,改变后重新分配内存;后者可以添加内存。就像前面是不能加车厢的汽车,每次都得换车;后者是可以加车厢的汽车。37.面向对象编程叫OOP,还有一门知识叫OOAD(面向对象的分析与设计),在OOAD中,继承又叫派生,父类又叫超类。38.Override注释:第四种注释,给java编译器看的,在编译阶段提示错误,在重写父类方法时,一般加上此注释,表示此方法是重写的父类方法。39.Deprecated注释:此方法不推荐使用(看文档时),一般会有功能更强大的方法代替。SuppressWarrin40.继承的7点特性:a.子类拥有父类的属性和方法b.子类可以有自己行的属性和方法c.子类可以重写父类的方

16、法d.可以声明父类,创建子类d_1.声明什么类型,就只能调用什么类型的方法d_2.创建什么类型,运行什么类型的方法d_3要使用创建类型的方法,必须得强制转化类型。41.this与super关键字 一般在子类中使用,this表示调用自己声明的属性和方法;super表示父类声明的属性和方法。static方法中不能使用this与super关键字。42.继承中的构造方法 创建对象一定会调用构造方法? 创建子类对象一定会调用父类的构造方法? 子类默认调用父类无参构造方法? 子类只能调用父类存在的构造方法? 子类构造方法中使用super调用父类构造方法,并且super必须放在第一行? 构造方法中this表

17、示调用本类其他构造方法,并且this必须放在第一行43.封装定义:隐藏属性,方法和方法实现细节的过程成为封装。45.方法的说明符 方法的访问说明符 1.public 任何地方都可以访问 2.protected 子类或者同包,同类可以访问,但是其它包的非子类不可以访问 3.default 只有同类或者同包可以访问 4.private 私有的方法,这里的私有指的是被被class所私有,其他类不能访问,继承的类也不行。 方法的其他说明符 1.static 2.final 此方法不可以被子类覆盖。 3.abstract 抽象的方法 4.native 用户可以使用,但是不能编写的类。 5.synchro

18、nized 同步的方法面向对象 面向对象的程序开发实际上分为三种:OOA OOD OOP |-OOA:面向对象的分析 |-OOD:面向对象设计 |-OOP:面向对象程序 三大特性:封装、继承、多态。 对象的创建及使用:Person zcy = null;/声明对象 zcy=new Person();/实例化对象 Person zcy = new Person(); 方法不需要创建,直接使用。47.封装性 封装性有很多体现,但是最简单的体现是假如“private”关键字。48.实体类:在开发过程中,有一些类与数据库紧密联系,其叫法有几种,常用的有,entity 实体类;vo类 value obj

19、ect 值传递;dto,data transmission object 数据传输对象。Static49.static普通变量通过对象名.变量访问;而static变量通过类命.变量访问,因为static 修饰的变量为类变量。50.final,当定义一常量时,用final修饰,变量名大写,通常情况下,final修饰,前面加上static,但是反之不成立!51.static方法,静态方法,同样是通过类名.方法名调用。静态方法里面不能调用非静态变量;静态方法下面不能使用this,super等关键字。静态方法中不能访问普通方法,但可以调用静态方法;即静态方法里面不能出现非静态的东西。52.静态块:在虚

20、拟机加载类时就调用,不需要等到创建对象时执行。sun公司不推荐使用。多态53.方法重载相同的方面名称,不同的参数列表(个数和类别不同),同时出现在一个类中。54.方法重写:在子类中产生与父类相同的方法头(参数列表也相同),但是方法体不同,属于方法重写,与方法重载有根本区别。子类也可以重载父类的方法,只是父子类的方法重载。55.多态定义:多种形态,多种形式,多种表现形态。最直接的表现形式是方法重写(父子类之间),方法重载(一个类里面)。抽象类,接口都为接口服务。abstract56.抽象方法(abstract):由abstract关键字修饰的方法叫做抽象方法,只有方法头没有方法体。56.抽象类(

21、abstract):由abstract关键字修饰的类叫做抽象类。只能声明,不能创建。有抽象方法的类一定是抽象类,但抽象类不一定是抽象方法。当想让一个方法只能被继承,但是不能创建时,用到此种情况。57.抽象类子类:1实现父类的所有的抽象方法,2.或者自己声明为抽象类,3.或者部份实现父类的方法,但自身还是要声明成抽象类。58.取随机数:Random random = new Random();int selectTndex = random.nextInt(3);System.out.println(selectTndex);59.接口(interface):接口是一系列方法(功能)的声明,即没

22、有实现任何方法的抽象类(没有abstract关键字,但出现也不会报错);命名时,前面加上大写字母I,在其子类中,子类 implements 接口,implements在这里是实现的意思。子类要么实现接口的所有方法,要么把自己变成抽象类。60.接口特点:一个子类可以实现多个接口,即变相的多继承。接口可以继承接口,一个接口可以继承多个接口。接口只能声明不能创建。61.接口的分类:a.普通接口,即一系列方法的声明;b.常量接口,项目中常用的一些常量。C.标识接口(空方法接口),子类实现此接口,表示属于某个体系接口,具有某种功能。Java中级HTML知识点:Html怎么转换成jsp页面供程序员使用1.

23、首行加上代码2.重命名为jsptable修饰代码鼠标来去特效与区别同样是标示一个储存格,唯一不同的是所标示的储存格中的文字是以粗体出现URL重写jjj.jsp?参数名称=参数值&参数名称=参数值&参数名称=参数值方法重写可以通过链接页面跳转传递参数,其作用和表单中的隐藏域作用一样。跳转服务器跳转和客户端跳转:跳转之后地址没变,称为服务器跳转,地址改变称为客户端跳转。跳转方式:客户端跳转setHeader() response.setHeader(refresh,2;url=ddd.jsp);属于客户端跳转response.sendRedirect(DDD,JSP);客户端跳转,页面执行完毕之后

24、再跳转,但是不能出传递request范围的属性。服务器跳转;服务器跳转,属于无条件跳转,后面的内容不执行,故而数据库的关闭不能放在后面。页面间的两种跳转服务器跳转:超链接跳转ssssscookie使用方法:Cookie c1 = new Cookie (dd,ddd); response.addCookie(c1);Cookie c = request.getCookies();for (int i=0;i-注意:发现浏览器关闭后,不能取得cookie内容,原因为其内容仅保存在浏览器中,并没有保存在本地,保存本地,其保存时间必需得到设置。cl.setMaxAge(22);/插入此代码即可out

25、.println()out.println()的换行去哪里了呢?这个换行只是针对于源文件中的换行,但是此换行会被HTML忽略掉,所以如果需要换行,可以直接编写html语句。两种include指令 include指令和指令语法格式为: include: 指令有两种格式:语法一: 语法二: /想页面1中传递参数,再包含在本页面中 四种属性每种属性都有三种操作方法:1.设置属性setAttribute(String name,Object value) 取得属性getAttribute (String name) 删除属性(removeAttribute)2.属性范围 pageContext 范围仅

26、本页面 范例:pageContext.setAttribute(name,mldn);/设置属性 String re = (String)pageContext.getAttribute(name);/取得属性 requset 属性范围表示在一次服务器跳转中有效,只要是服务器跳转,则设置的request属性可以一直传递下去,超链接则不行。 范例:request.setAttribute(name,dd); String ddd = (Sring)request.getAttribute(name); session 属性范围仅为一个客户,两种跳转都可以 范例:seesion.setAttriu

27、te(name,dddd); String dddd = (String)seesion.getAttribute(ddd) application 范围是在服务器上面设置一个属性,所以一旦设置后任何用户都可以浏览到此属性。如果在服务器上设置过多的Application属性,则会影响到服务器的饿性能。 乱码转换:产生原因:所有静态web的执行流程,是先从服务器上取得一个页面,之后通过把内同提交给服务器,之后服务器在提交的内容返回给客户进行显示。设置page指令后,本页面输入的中文会得到正确的显示,但是接受到的从其他页面的参数却还是乱码,解决方法有两个:第一个直接把接受到的内容用服务器返回给客户

28、的进行显示,即加上str=new String(str.getBytes(ISO8859-1);/转码 第二种方法为:前面加上 request.getCharacterEnocoding(gbk);/按中文接受。两种方法的区别为:第一种是接受了再转换,第二种是转换了再接受。接收多个同名参数在表单中,存在复选框,接收方法如下:abc若String inst = request.getParameter(inst);接收内容只为选项最前面一个,解决方法如下:String inst = request.getParameteValues(inst);/接收表单参数% for(int i=0;i 、配

29、置tomcat虚拟目录。1.文件目录结果必须为:WEB TOOT/WEB-INF/WEB.xml。WEB.xml文件有格式要求。可以拷贝D:Tomcat 6.0webappsROOTWEB-INF里面的文件,但是注释内容去掉。2.修改serve.xml 正确位置加上:3.conf/web.xmllistings下面false改为true,项目完成记得改过来。登录代码系统登录 用户名:密码: 错误的用户名或者密码! if(!(.equals(name)|name=null)&(.equals(password)|password=null)这条很重要!String转换package com.zc

30、y;/* * author yangzhi * */public class Test04 public static void main(String args) String str1 = 10;String str2 = 10.2;String str3 = boolean;/与基本数据类型对应的有八个包装类int a = Integer.parseInt(str1);System.out.println(a);float b = Float.parseFloat(str2); System.out.println(b);boolean c = Boolean.parseBoolean(

31、str3);System.out.println(c);输入输出package com.zcy;import java.util.Scanner;/* * 测试输入输出 * author 杨志 * */public class Test03 public static void main(String args) Scanner input = new Scanner(System.in);int age;float money;String name;System.out.println(请输入您的姓名:);name = input.next();System.out.println(请输入

32、您的年龄:);age = input.nextInt();System.out.println(请输入您的工资:);money = input.nextFloat();System.out.println(name = +name);System.out.println(age = +age);System.out.println(money = +money);方法的说明符方法的访问说明符 1.public 任何地方都可以访问 2.protected 子类或者同包,同类可以访问,但是其它包的非子类不可以访问 3.default 只有同类或者同包可以访问 4.private 私有的方法,这里的

33、私有指的是被被class所私有,其他类不能访问,继承的类也不行。方法的其他说明符 1.static 2.final 此方法不可以被子类覆盖。 3.abstract 抽象的方法 4.native 用户可以使用,但是不能编写的类。 5.synchronized 同步的方法面向对象 面向对象的程序开发实际上分为三种:OOA OOD OOP |-OOA:面向对象的分析 |-OOD:面向对象设计 |-OOP:面向对象程序三大特性:封装、继承、多态。 对象的创建及使用:Person zcy = null;/声明对象 zcy=new Person();/实例化对象 Person zcy = new Pers

34、on(); 方法不需要创建,直接使用。封装性 封装性有很多体现,但是最简单的体现是假如“private”关键字。循环 处理次数用for,处理量的时候用while,while可以执行0次,do while至少执行1次javaBeanjavaBean的两种引用方法:第一种:先引入类,然后创建对象,代码如下 Simple simple = new Simple();第二种:用jsp中的标签指令: 其中simple指的是对象,class指的是类,scope:javabean的保存范围,page、request、session、applicationjavabean加载 JavaBean每次修改之后都必

35、需重新启动服务器,因为这样才能将新的类重新加载进来,等待用户使用。每次修改JavaBean都必需重修启动服务器,解决方法:修改server.xml文件。servel.xml最后一行, 配制虚拟目录后面加上reloadable=true。传统传值操作:姓名:使用jsp指令操作:姓名:JSP相关知识四种属性范围pageContext、request、session、application 属性操作方式:设置属性(setAttribute)、取得属性(getAttribute)、删除属性(removeAttribute)。 实例:设置pageContext.setAttribute(name,yzh

36、i);取得pageContext.getAttribute(name);内置对象含义:Java使用对象,先声明,后创建,再使用;但是在jsp中,有一部分对象不需要声明,创建,可以直接使用,这种对象叫做jsp内置对象,也叫做jsp隐含对象。九种内置对象pageContext,request,response,session,application,config,out,page,execption.转码1:String str = request.getParameter(name);str=new String(str.getBytes(ISO8859-1);/将字符串内容重新转变为byte数

37、组。 2:request.setCharacterEncoding(GBK);/按中文接收 String str = request.getParameter(name); response: session: application: config: out: page: execption:数据库 jdbcjdbc中主要接口有: Driver用来表示驱动程序的类 connection此接口用于连接数据库 statement执行sql语句并将数据检索到resultset中 resultset数据库结果数据表,通常由执行查询数据库语句产生 preparedStatement 执行预编译sql语

38、句。 基本上都是接口,出来DriverManager是个类之外。什么是jdbc?java database connectivity.SUN指定的java应用程序了解数据库的规范,通过一些类和接口实现。odbc(微软制定的应用程序连接数据库的规范)-oledb(odbc升级) ado是规范的一个实现 95java出现,sun制定了java程序连接数据库的规范jdbc,即java database coonectivity。sun指定规范,微软等数据库公司实现规范供客户使用。jdbc是规范的同时,也是一门技术,学好这门规范,我们就可以连接各种不同的数据库。 当然我们实际使用的时候操作的是Driv

39、erManager这个类,如Connection,statement,等这些接口,所以说jdbc规范更具体点说是一些类和接口。(更主要是一些接口的集合)在我们使用java.sql包里面的任何一个类(包括接口)的方法时,都会出现一个编译时异常SQLException。我们必须处理!cmd ipconfig 查看本机ip 程序员测试用替代本机ip,等价与localhoststatement接口具体方法有: row = stmt.executeUpdate(sql);返回sql语句影响的行数;插入,通过此方法还可以实现DML:insert,update,delete;DDL:create,drop等

40、 b.ResultSet rs = stmt.execuQuery(sql);rs为查询的数据包,rs.next();取得遍历每行数据,rs.getInt(ss)得到每行数据。查询PrepareStatement接口具体方法有:1.预编译的,执行速度快;2.addBatch();executeBatch()3.当同时执行相同sql语句时使用;4.防止sql注入;故而在登录时,最好用PrepareStatement处理。5. pstmt.setString(1, sssssss);在不知道sssssss的数据类型时,都可以用pstm.setObject()搞定pstmt = conn.prepa

41、reStatement(sql);pstmt.setString(1, sssssss);pstmt.setString(2, ssefegege);pstmt.executeUpdate();pstmt.setString(1, ssdddds);pstmt.setString(2, aaaaeegege);pstmt.executeUpdate();可优化为:pstmt = conn.prepareStatement(sql);pstmt.setString(1, sssssss);pstmt.setString(2, ssefegege);pstmt.addBatch();pstmt.s

42、etString(1, ssdddds);pstmt.setString(2, aaaaeegege);pstmt.addBatch();pstmt.executeBatch();关于局部变量:在那个大括号里面声明的,就在本括号里面作用。20.在计算机程序里面,指向第一个元素永远用0表示,出去在jdbc中,例如:rs.getInt(name)这里的name表示第一例的属性,可以用rs.getInt(1)表示。关于jdbc-odbc桥连接,有些数据库如access,没有连接数据库的jar包,只能用jdbc-odbc桥连接进行数据库连接。(关于连接Access的过程在视频第十二章06的5分钟开始。

43、)首先得在电脑上设置odbc数据源;加载程序为sun.jdbc.odbc.JdbcOdbcDriver;其它操作一样。桥连接基本不用。三层架构 表示层业务层-持久化层(数据访问层)-db .案例在一个客厅里面,服务员接受客户,然后将订单给接单者,接单者给厨房,厨房到仓库拿菜,做菜,将做好的菜返回给接单者,接单者将菜给客户。dao,date access object.数据访问对象。即数据访问层。数据库操作步骤: 1.建立一个文件,将连接数据库的jar包加载进去。 2.加载驱动程序 Class.forName(com.microsoft.sqlserver.jdbc.SQLServerDrive

44、r);调出 com.microsoft.sqlserver.jdbc.SQLServerDriver方法1:sqlserverdriver A+/方法2:C+S+T 调用driver ,接口java sql f4后者c+t Class.forName()为静态方法,通过类名点方法名调用。class.forName()加载驱动到内存;当jdbc驱动程序加载到内存时,会自动向DriverManager注册,然后DriverManager类就会用注册的jdbc驱动程序来创建数据库连接。DriverManager.getConnection()建立连接; 3.得到连接 Connection conn

45、= DriverManager.getConnection(url, sa, );url写法: 这里的url必须包括ip,端口号,(sqlserver为1433;mysql3306;oracle1521),数据库。具体格式为: sqlserver:jdbc:sqlserver:/localhost:1433;databaseName=dbName 例如: (jdbc:sqlserver:/localhost;databaseName=TestDB,sa,accp);sqlserver: jdbc:sqlserver:/localhost:1433;databaseName=dbNamemysq

46、l: jdbc:mydql:/ip:3306/dbNameOracle: jdbc:oracle:thin:ip:1521:dbName Access:jdbc:odbc:myds(数据源名称) 4.创建statement 对象 String sql = insert into bookInfo values(跟杨志老师学java,8,武汉纺织大学出版社,陈刚老师,不错,nullSmall.png,nullImg.png,50,20,1,30);Statement stmt = conn.createStatement(); 5.执行sql语句int row = stmt.executeUpd

47、ate(sql); 6.关闭释放资源连接数据库案例加载驱动;2.取得连接;路通了,得准备车3.取车statement sta = conn.createStatement();4.车有了,可以拉货或者干其它的事情,货物就是sql语句,车怎么处理这些货物,就要研究车有哪些方法。直接通过对象名.方法名(sql)来调用。package db;import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;import java.sql.Statement;public class DBMana

48、ger public static void main(String args) try Class.forName(com.microsoft.sqlserver.jdbc.SQLServerDriver);System.out.println(yes);Connection conn = DriverManager.getConnection(jdbc:sqlserver:/localhost:1433;databaseName=yzhi, sa, );System.out.println(conn);String sql = insert into bookInfo values(跟杨志

49、老师学java,8,武汉纺织大学出版社,陈刚老师,不错,nullSmall.png,nullImg.png,50,20,1,30);Statement stmt = conn.createStatement();int row = stmt.executeUpdate(sql);if (row =1) System.out.println(yes!);elseSystem.out.println(no!); catch (ClassNotFoundException e) System.out.println(no);e.printStackTrace(); catch (SQLExcepti

50、on e) System.out.println(nono);e.printStackTrace();数据库操作语言 insert insert into article(TITLE,BODY,ADDDATE,ADDUSER) values(杨志,得到,sss,琐琐碎碎) delete delete from article where id = 7 update update article set TITLE = ZHANGCHOG where id = 8数据库相关操作Configpackage com.zcy.db;public interface Config public stat

51、ic final String DRIVER = com.microsoft.sqlserver.jdbc.SQLServerDriver; public static final String URL = jdbc:sqlserver:/localhost:1433;databaseName=; public static final String DBNAME = bookshop; public static final String UNAME = sa; public static final String PWD = ;增删改查语句范例:-insert into bookType

52、values(0,历史小说,1,历史小说);-delete from bookType where bookTypeId = 9;-update bookType set parentId = 2,bookTypeName = 长虫样,isDelete = 1,Context = 张重阳 where bookTypeId = 8;-select bookTypeId,parentId,bookTypeName,isDelete,context from bookType where bookTypeId = 1;-select bookTypeId,parentId,bookTypeName,

53、isDelete,context from bookType;连接数据库Class.forName(com.mysql.jdbc.Driver); String url = jdbc:mysql:/localhost/bbs?user=root&password=root; Connection conn = DriverManager.getConnection(url);Insert into String sql=insert into article values(null,?,?,?,?,now(),0); PreparedStatement pstmt = conn.prepare

54、Statement(sql); pstmt.setInt(1,id); pstmt.setInt(2,rootid); pstmt.setString(3,title); pstmt.setString(4,cont); pstmt.executeUpdate();手动提交更改后的数据 conn.setAutoCommit(false); mit(); conn.setAutoCommit(true);传id str+=+rs.getInt(id)+rs.getString(title)+;接收id String strid = request.getParameter(id); int id

55、 = Integer.parseInt(strid); 或者int id = Integer.parseInt(request.getParameter(id); String amdin=(String)seesion.getAttribute(admin); 注意:request.getParameter()得到的是字符串,若原为数字,得转换!接收字符串,seesion.getAttribute(admin)得到的是object类型,得转换为string类型。 接收字符串时候,空格得不到显示,用replaceAll,例如,cont=cont.replaceAll(n,);中文的接收问题 接

56、受前转换:request.setCharacterEncoding(GB18030);成员变量 当一个变量为成员变量的时候,没显示一次,就会累积,所以每次显示后得设为空,例如:用户登录 (action 传值) 验证: 表单: 用户名: 密码: 登录后,验证下一页面是否登录! session.setAttribute(admin, true);response.sendRedirect(ShowArticleTree.jsp); String admin=(String)session.getAttribute(admin); if(admin!=null&admin.equals(true)

57、login=true; 分页 int pageSize = 3;String strPageNo = request.getParameter(pageNo);int pageNo;if (strPageNo = null | strPageNo.equals() pageNo = 1; else pageNo = Integer.parseInt(strPageNo.trim();if(pageNodate:String s = “1989-10-12 12:20:30”;Date date = new Date();DateFormat dateFormate = new SimpleDa

58、teFormat (yyyy-MM-dd HH:mm:ss);System.out.println(dateFormat.parse(s);Date-String :Date date = new Date();DateFormat dateFormate = new SimpleDateFormat (yyyy-MM-dd HH:mm:ss);Sysout(dateFormate.format(date);在日期上加上固定的时间段 CalendarCalendar cd = df.getCalendar();cd.setTime(dt);cd.add(Calendar.DATE, 7);Sy

59、stem.out.println(df.format(cd.getTime();数据库相关知识(创建过程sqlservel)SQL Server 2005导入bak文件 1、右击SQL Server 2005实例下的“数据库”文件夹。就是与安全性、服务器对象同级的目录。选择新建数据库。2、添加数据库名称,名称与备份的数据库名称一致,点击确定。3、在“数据库”点击右键,选择还原数据库,在目标数据库选择刚才新建的数据库,选择源设备,选择浏览,备份位置选择添加。知道指定的bak文件,点击确定。把导入的bak文件勾选上,点击确定。数据就导入成功。备注:如果是2000的bak文件要导入到2005。两个数

60、据库文件不兼容。需要注意以下问题:1.右击要还原的数据库属性选项设置兼容级别为:SQL Server 2000 (80)2.在指定了要还原的*.bak文件以后,选项设置 还原选项覆盖现有数据库(选上),其它默认。语言规则1.use master select *from sysdatabases2.创建数据库use mastergo if exists(select * from sysdatabases where name = student) drop database studentgo create database studentgo3.exists 语句的返回值是false和tu

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论