使用记事本来编辑java文件
1. 配置java的路径
1.1选中此电脑图标/右击后,选中下拉菜单的属性/
1.2选中高级系统设置链接
1.3选中系统属性窗口中的环境变量按钮
1.4选中系统变量中的“CLASSPAT”路径,添加英文状态下的符号为,;
注意:若系统变量中的没有“CLASSPAT”就点击新建,添加“该变量的名称”和”值“即可
2.系统命令生成.class文件和访问java中的文件
cmd> javac java文件名.后缀名 //编辑java文件,生成java的.class文件
cmd> java java文件名 //显示java里面的输出内容
3. 解决乱码问题
文本文件名.txt"改为"java文件名.java"
记事本中的含java代码的内容的文件:首先,"另存为"另一个文件名称;接着,记事本文件的后缀名为“文件名.java”;最后修改文字编码为ANSI,点击确定即可
4. java基础编码
4.1 计算华氏温度
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16package test_softwareTEst; class Test2{ public static void main(String[] args){ //dh为摄氏温度,ds为华氏温度 double dh = 0; double ds = 0; System.out.println("请输入华氏度的值!"); java.util.Scanner input = new java.util.Scanner(System.in); dh = input.nextDouble(); System.out.println("转成摄氏度的值是:"+dh); ds =(dh-32)*(5.0/9);//此处的5为double型,录入的是5.0!! System.out.println("转成摄氏度的值是:"+ds); } }
4.2 多重判断语句
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32package test_softwareTEst; class Test3 { public static void main(String[] args) { int cls = 0; String sex = " ";//语法:文本赋值格式,,不能用null!! java.util.Scanner input = new java.util.Scanner(System.in); System.out.println("请输入班级为任意数字1,2,3:"); cls = input.nextInt(); System.out.println("请输入性别为女生或男生:"); sex = input.next(); if (cls == 1 && sex.equals("男生")) {//文本判断语法!! System.out.println("男生 矿泉水"); } else if (cls == 2 && sex.equals("男生")) { System.out.println("男生 冰红茶"); } else if (cls == 1 && sex.equals("女生")) { System.out.println("女生 农夫山泉"); } else if (cls == 3 && sex.equals("男生")) { System.out.println("男生 脉动"); } else if (cls == 3 && sex.equals("女生")) { System.out.println("女生 阿沙姆奶茶"); } else if (cls == 2 && sex.equals("女生")) { System.out.println("女生 昆仑山泉"); } else { System.out.println("无此班级!"); } } }
4.3 三角形问题
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16package test_softwareTEst; class Test4 { public static void main(String[] args) { java.util.Scanner input = new java.util.Scanner(System.in); System.out.println("请输入a"); int a=input.nextInt(); //i为行数 for(int i =1;i<=a;i++){ for(int j =1;j<=i;j++){ System.out.print("*"); } System.out.println(); } } }
4.4 九九乘法表
法一:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16package test_softwareTEst; class Test4 { public static void main(String[] args) { java.util.Scanner input = new java.util.Scanner(System.in); System.out.println("请输入a"); int a=input.nextInt(); //i为行数 for(int i =1;i<=a;i++){ for(int j =1;j<=i;j++){ System.out.print("*"); } System.out.println(); } } }
法二:
1
2
3
4
5
6
7
8
9
10
11
12
13
14package test_softwareTEst; class Test5 { public static void main(String[] args) { int sum =0; //i为行数 for(int i =1;i<=9;i++){ for(int j =1;j<=i;j++){//j=2为打印第2行的数 System.out.print(i+"X"+j+"="+i*j+"t"); } System.out.println(); } } }
4.5 函数的调用
创建一个表格
法一:
1
2
3
4
5
6
7
8
9
10
11
12package test_softwareTEst; public class Test8 { static int tiji(int a,int b,int c) { int area = a*b*c; return area; } public static void main(String[] args) { System.err.print("长方形的面积是"+tiji(3,2,5)); } }
法二:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24public class Test8 { static int tiji(int a,int b,int c) { return a*b*c; } public static void main(String[] args) { System.err.print("长方形的面积是"+tiji(3,2,5)); } } if (cls == 1 && sex.equals("男生")) {//文本判断语法!! System.out.println("男生 矿泉水"); } else if (cls == 2 && sex.equals("男生")) { System.out.println("男生 冰红茶"); } else if (cls == 1 && sex.equals("女生")) { System.out.println("女生 农夫山泉"); } else if (cls == 3 && sex.equals("男生")) { System.out.println("男生 脉动"); } else if (cls == 3 && sex.equals("女生")) { System.out.println("女生 阿沙姆奶茶"); } else if (cls == 2 && sex.equals("女生")) { System.out.println("女生 昆仑山泉"); } else { System.out.println("无此班级!"); }
4.7 面向对象
测试中类中,实例化名.方法体的名称;实例化名.名词的属性名称(此处已经赋值了)
5. 白盒测试流程图
if条件覆盖1
5.1 java文件编码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17package test_softwareTEst; class Test11 { public static void main(String[] args) { java.util.Scanner input = new java.util.Scanner(System.in);//第1行 System.out.println("请输入一个Score:");//第2行 int Score = input.nextInt();//第3行 if (Score >=80) { //第4行 System.out.println("优秀");//第5行 } else if (Score>=60) {//第6行 System.out.println("及格");//第7行 } else { System.out.println("不及格");//第8行 } } }
5.2程序流程图
5.3.控制流程图
注意;控制流程图中有三个分支,就有是那种背景色,不包括圆内的颜色(三色:小正方形,大正方形和最外层的背景色)
if条件覆盖测试用例
循环覆盖测试用例
for循环覆盖1
1.java文件编码
1
2
3
4
5
6
7
8
9
10
11
12
13package test_softwareTEst; class Test10 { public static void main(String[] args) { java.util.Scanner input = new java.util.Scanner(System.in); System.out.println("请输入a"); int a=input.nextInt(); //i为行数 for(int m =1;m<=100;m++){ System.out.print("服务"+m);//m为服务的次数 } } }
2.程序流程图
4.for循环测试用例
for循环覆盖2
1.java代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16package test_softwareTEst; class 多符号的输出 { public static void main(String[] args) { java.util.Scanner input = new java.util.Scanner(System.in); System.out.println("请输入m"); int m=input.nextInt(); //i为行数 for(int i =1;i<=m;i++){ for(int j =1;j<=10;j++){//不参与流程图中 System.out.print("*");//不参与流程图中 }//不参与流程图中 System.out.println();//不参与流程图中 } } }
2.程序和控制流程图
注意:此处的循环语句的流程控制图,只画一个循环的线就可以了。内部的另一个for循环跟上一个for循环无关,故部分语句不参与!!
for循环覆盖3
范围前的数-范围后的数
取值:前数,前数+1;取两个数的中间值;后数,后数+1
1.java代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22package test_softwareTEst; class Test12 { static void print() { java.util.Scanner input = new java.util.Scanner(System.in); System.out.println("请输入m"); int m=input.nextInt();//第0个 System.out.println("请输入n"); int n=input.nextInt();//第1个 //i为行数 for(int i =1;i<=m;i++){//第2个 for(int j =1;j<=n;j++){//第3个 System.out.print("*");//第4个 }// System.out.println();//第6个 } } public static void main(String[] args) { Test12 t12 = new Test12(); t12.print(); } }
运行结果:
2.程序和控制流程图
6. 黑盒测试流程图
黑盒测试“用例”
备注:去掉满足条件的头部和尾部的数字
有效等价类:满足条件的取值范围
无效等价类:取不满足条件的范围(超出的范围)
1. 等价类!
测试用例类似于区间无法,无效等价类为不满足的条件,有效等价类为满足的条件(变量所取值的范围)
等价类题目
有效等价类要求:
微信号: 2~10位,只能以后下划线,美元$ 字母开头
密码: 6~16位 ,必须只能字母开头
备注:有效等价类的条件必须一一拆开,为了便于后面的测试!!
等价类的测试用例:
测试用用例表(测每个变量的前后数超出的边界范围,每个变量最少测1次)
2.边界值表
题目
已知成绩score:0~750,写出边界值表
边界值表
测试用例!
分析:边界值表取头数的前面的数,头数本身,头数+1;取总数值/2; 尾数的前面的数,尾数本身,尾数+1
6x+1=6+7(以上的七个分析值决定)+1=14
3. 决策表
文本定义
题目1
要求:3 如果总分高于450,各科均分高于75或优秀毕业生,直接录取。否则待定
规划
1.真值表判断
(中间的后一步需要合并!!)
2.最终合并(-符号为取任何值都可以满足条件)
备注:合并需要根据录取和待定进行判读,若它们列与列的录取都为打勾状态就可以进行合并了。合并的条件:打勾的类型一样;前两项数字对应一样;后三项对应数字有一个相同的也是可以合并的。这里使用到的值为0和1
2. 题目2!
规划
备注1:备注:在条件和情况中标号0和1,需要打勾的值。在下表中先找到满足的2个条件的,进行后面的情况判断。最后在判断第3个条件的值
1.真值表
备注2:在条件和情况中标号0和1,需要打勾的值。在下表中先找到满足的2个条件的,进行后面的情况判断。最后在判断第3个条件的值
2.最终合并
3.测试用例!
符号替文字!
3.题目:
成绩>60分,通过;成绩50~60分,平时成绩大于80,通过,否则不给通过;成绩<60分,不通过
1.规划
2.分析
3.合并同类型
4.题目
题目:成绩>60分,通过;成绩50~60分,表现好且通过;成绩<60分,不通过
1.规划
2.分析
3.合并同类型
5.题目
1.规划
2.分析
3.合并同类型
7.DateUntil工具类的使用
7.1DateUtil.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38package Test2; public class DateUtil { public String createDate(int year,int month,int day) { String str=""; // if(year <1950 || year >2100) { return "年份只能在1950~2100之间"; } // if(month <1 || month >12) { return "月份只能在1~12之间"; } // if(day <1 || day >31) { return "天数只能在1~31之间"; } // if( (month ==4 || month ==6 || month ==9 ||month ==11) && day >30) { return "小月不能超过30天"; } if(month ==2) { if(year%4==0 && year%100!=0) { if(day>29) { return "闰年2月不能超过29天"; }else { return "平闰年2月不能超过28天"; } } } return year +"年" +month +"月" +day +"日"; } }
7.2 Test1.java //单条测试
1
2
3
4
5
6
7
8
9
10package Test2; public class Test1{ public static void main(String [] args){ DateUtil du = new DateUtil(); // assertEquals("2000年5月12日",du.createDate(2000, 5, 12));// 验证 System.out.println(du.createDate(2000, 5, 12)); } }
7.3 测试表(共31个测试用例)
3.1等价测试表!
3.2边界测试表!
备注:正常——期望一样,去掉重复的行
3.3其他测试表
7.4DateUtil_TestCase.java //多条测试
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129package Test2; import Test2.DateUtil; import junit.framework.TestCase; public class DateUtil_TestCase extends TestCase { DateUtil du = new DateUtil(); /*********************1.等价类列表测试(7条)start*********************************/ // 备注:n个方法的验证方式相同,使用junit工具类,进行测试后,运行结果出现绿色,则表明这n个方法的测试中所验证的值是 public void test001() { //字符型的文字跟等价类表中的期望结果的值一样!! assertEquals("2000年5月12日",du.createDate(2000, 5, 12));// 验证 } public void test002() { assertEquals("年份只能在1950~2100之间",du.createDate(1949, 2, 2)); } public void test003() { assertEquals("年份只能在1950~2100之间",du.createDate(2101, 11, 30)); } public void test004() { assertEquals("月份只能在1~12之间",du.createDate(1990,-5,31)); } public void test005() { assertEquals("月份只能在1~12之间",du.createDate(1999,0,5)); } public void test006() { assertEquals("天数只能在1~31之间",du.createDate(1998,6,-5)); } public void test007() { assertEquals("天数只能在1~31之间",du.createDate(1992,8,0)); } /*********************1.等价类列表测试(7条)end*********************************/ /*********************2.边界值表测试(19条)start*********************************/ public void test008() { //字符型的文字跟等价类表中的期望结果的值一样!! assertEquals("年份只能在1950~2100之间",du.createDate(1949,6,16));// 验证 } public void test009() { assertEquals("1950年6月16日",du.createDate(1950,6,16)); } public void test010() { assertEquals("1951年6月16日",du.createDate(1951,6,16)); } public void test011() { assertEquals("1999年6月16日",du.createDate(1999,6,16)); } public void test012() { assertEquals("2000年6月16日",du.createDate(2000,6,16)); } public void test013() { assertEquals("2100年6月16日",du.createDate(2100,6,16)); } public void test014() { assertEquals("年份只能在1950~2100之间",du.createDate(2101,6,16)); } public void test015() { //字符型的文字跟等价类表中的期望结果的值一样!! assertEquals("月份只能在1~12之间",du.createDate(1972,0,16));// 验证 } public void test016() { assertEquals("1972年1月16日",du.createDate(1972,1,16)); } public void test017() { assertEquals("平闰年2月不能超过28天",du.createDate(1972,2,16)); } public void test018() { assertEquals("1972年11月16日",du.createDate(1972,11,16)); } public void test019() { assertEquals("1972年12月16日",du.createDate(1972,12,16)); } public void test020() { assertEquals("月份只能在1~12之间",du.createDate(1972,13,0)); } public void test021() { assertEquals("1972年6月1日",du.createDate(1972,6,1)); } public void test022() { assertEquals("1950年6月2日",du.createDate(1950,6,2)); } public void test023() { assertEquals("1972年6月30日",du.createDate(1972,6,30)); } public void test024() { assertEquals("1972年6月30日",du.createDate(1972,6,30)); } public void test025() { assertEquals("小月不能超过30天",du.createDate(1972,6,31)); } public void test026() { assertEquals("天数只能在1~31之间",du.createDate(1972,6,32)); } /*********************2.等价类列表测试(19条)end*********************************/ /*********************3.边界值表测试(5条)start*********************************/ public void test027() { assertEquals("年份只能在1950~2100之间",du.createDate(1949,4,31)); } public void test028() { assertEquals("年份只能在1950~2100之间",du.createDate(1949,4,32)); } public void test029() { assertEquals("年份只能在1950~2100之间",du.createDate(1949,9,33)); } public void test030() { assertEquals("2000年2月29日",du.createDate(2000,2,29)); } public void test031() { assertEquals("2000年2月28日",du.createDate(2000,2,28)); } /*********************3.等价类列表测试(5条)end*********************************/ public static void main(String[] args) { junit.textui.TestRunner.run(DateUtil_TestCase.class);// 此处需要安装。导入JUnit包 } }
8.数据库
在cmd命令中使用数据库
mysql -u root -p //只需要密码登录数据库
show databases; //显示所有的数据库
create database 数据库名; //创建数据库
use 数据库名; //使用数据库
select database(); //查询数据库
注意:1个汉字占2个字符;建表以分号结束
desc 表名 ; // 查看表的结构
create table 表名(
//学号为字符串类型
//末尾的最后一个变量的定义,不需要写逗号间隔
sno varchar(4) , //学号
sname varchar(8),
sex varchar(4),
age int(4)
);
select * from 表名; //查表
insert into 表名(列名1,列名1……) values(列名1的数据类型,列名2的数据类型……);
先停掉数据库,在删掉数据库
update 表名 set 列名1=‘列名值1’,列名n=‘列名值n’ where 主键列名=‘主键的值’ //修改行中的n列
delete from 表名 where 学号=‘值’;//删除一条数据记录
9.tomcat设置
9.1tomcat的安裝路徑
最好采用系统帮默认安装的方式,就是安装tomcat路径不需要修改!!
9.2tomcat的配置路徑
电脑tomcat的安裝路徑属性/高级设置/系统变量/classpath/tomcat安装的bin目录
9.3测试配置
在cmd中查看是否已经配置好路径了 或在电脑的命令提示符cmd中进行测试,8为tomcat的版本号!!
9.4检测tomcat8是否安装成功
法一:在cmd中查看是否已经配置好路径了 或在电脑的命令提示符cmd中进行测试,8为tomcat的版本号!!
若使用命令行输入tomcat8后,系统会显示以下的配置信息,则已经在classpath那里配置成功了
法二:在浏览器中测试:http://localhost:8080/
1.运行内部的tomcat文件(双击tomcat.exe文件)
2.注意:如果在浏览器中无法加载tomcat主界面,那么说明tomcat的可执行文件exe还没有运行!!
例子:http://localhost:8080/lanykey/login.jsp
注意: 每次编译完在tomcat8的目录下的webapps里面自己所创建的文件后,在点击运行,tomcat8中的bin目录下的的exe文件,否则修改后的页面不正常显示
协议://ip地址:端口号/用户自己在tomcat8的webapps文件夹下所创建的目录/同左目录下的文件(文件内是由内容的)
1.物理主机的IP地址
http://192.168.51.173:8080/lanykey/222.txt
2.以下两个ip地址是通用的
http://127.0.0.1:8080/lanykey/222.txt
http://localhost:8080/lanykey/222.txt
注意:222.txt文件必须是在tomcat安装路径下的webapps路径内的文件,并且文件内部必须由内容!!!
10. 安装JUnit工具
下载和安装JUnit工具基本步骤
1.从官网下载
2.解压JUnit包到本地的磁盘上
3.在java企业版中导入此包
3.1在java企业版中,选中项目后,在选项卡中点击属性
3.2选中3个地方: java Buid Path/libraries/AddExternal JARs…/打开即可导入“mysql-connector-java-5.1.49.jar”
3.3选中项目中的3个地方,勾选使用mysql…jar包
3.4选择自己下载好的JUnit工具
“Test_finally”/“D:mysql安装包mysql-connector-java-5.1.49mysql-connector-java-5.1.49.jar”/“com.mysql.jdbc”/“Driver.class”
3.5查看JUnit的驱动名字
“Test_finally”/“D:mysql安装包mysql-connector-java-5.1.49mysql-connector-java-5.1.49.jar”/“com.mysql.jdbc”/双击"Driver.class"/找到驱动器的名字为“com.mysql.jdbc.Driver”
11.out.println和System.out.println的区别
out.println:在浏览器中输出(任意访问的浏览器中,内部不显示java中信息)
System.out.println:在dos命令行中输出(tomcat8的命令行中显示)
12.配置tomcat8访问网页的路
12.1 在tomcat8下的路径webapps目录下新建4个文件夹(lanykeyWEB-INF)
C:Program FilesApache Software FoundationTomcat 8.0webappslanykeyWEB-INF
在tomcat8下的路径webapps目录下新建2个文件夹分别为classes和lib文件夹
12.2 Test1文件夹内的class文件,从java软件中复制出整个项目的文件到桌面上。在内部找到bin文件夹,复制bin内部的Test1文件夹含几个.classs文件到以下的目录,如下图
路径为:C:Program FilesApache Software FoundationTomcat 8.0webappslanykeyWEB-INFclassesTest1
12.3 复制本地mysql驱动包
C:Program FilesApache Software FoundationTomcat 8.0webappslanykeyWEB-INFlib
1.登录类
注意:jsp,txt等等其他的文件都放在tomcat内的webapps文件夹内!!
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <html> <head>登录界面</head> <meta charset="UTF-8" /> <body> <form action="welcome.jsp"> 用户名:<input type="text" name="username"></input></br> 密码:<input type="text" name="password"></input></br> <input type="button" value="登录" /> <input type="reset" value="重置" /> <input type="submit" /> <% String err= request.getParameter("error"); if(err!=null){ out.print("<span style='color:red;' >用户名或密码错误</span>"); } %> </form> </body> </html>
2.欢迎界面类
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page import="Test1.UserInfoDao"%> <html> <head></head> <meta charset="UTF-8" /> <body> <% String str1 = request.getParameter("username"); String str2 = request.getParameter("password"); UserInfoDao dao= new UserInfoDao(); if(!dao.validateUserInfo(str1 ,str2 )){ response.sendRedirect("login.jsp?error=no"); } %> <h1>欢迎!热烈欢迎!</h1> </body> </html>
3.cmd命令提示符
进入mysql命令中
mysql -u root -p
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23//新建表 create table UserInfo( account varchar(16), password varchar(16), username varchar(16) ); show databases;//显示已有的全部的数据库名 create database lanykey; use lanykey;//只有创建好了数据库,才可以使用数据库名,才看可以有其他的语句可以插入,修改等等!! select * from UserInfo;// insert into UserInfo values('lanykey','123456','adff');// insert into UserInfo values('koki','1111','a');//
4.访问网页
http://localhost:8080/
http://localhost:8080/lanykey/login.jsp
http://localhost:8080/lanykey/login.jsp
输入正确的信息后,先点击登录,后在点击提交
注意:localhost为本地账户,127.0.0.1为每个用户都可以访问,192.168.16.214为自己主机的ip地址,只能是这个地址可以访问
查看自己电脑的ip地址,在电脑的cmd命令窗口中输入ipconfig/all,即可查看ipv4的地址
5.tomcat目录下的.class类文件
5.1 Student.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15package Test1; public class Student { public String sno; public String sname; public String sex; public int age; // @Override // public String toString() { // return "Student [sno=" + sno + ", sname=" + sname + ", sex=" + sex + ", age=" + age + "]"; // } }
5.2 StudentDao_test1 .java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37package Test1; import java.util.List; public class StudentDao_test1 { /** * @param args */ public static void main(String[] args) { StudentDao sd = new StudentDao(); Student s = new Student(); s.sno="s012"; s.sname="ggg"; s.sex="女"; s.age=15; StudentDao.addStudent(s);//把s的值加入到addStudent方法体中 sd.deleteStudent("s012"); s.sno="s008"; s.sname="QWQ"; s.sex="女"; s.age=111;;//把s的值加入到addStudent方法体中 StudentDao.addStudent(s);//把s的值加入到addStudent方法体中 List<Student> list = sd.getAll(); for(Student c:list){//foreach System.out.print(c.sno+"t"); System.out.print(c.sname+"t"); System.out.print(c.sex+"t"); System.out.println(c.age+"t"); } } }
5.3 StudentDao.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165package Test1; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.ArrayList; import java.util.List; import javax.naming.ldap.Rdn; public class StudentDao { static void addStudent(Student student){ //1.获取连接 try { //1.加载驱动类 Class.forName("com.mysql.jdbc.Driver"); //2.设置连接信息 String username="root"; //数据库用户名 String password="123456";//数据库密码 String url ="jdbc:mysql://127.0.0.1:3306/lanykey"; //3.设备连接 Connection conn = DriverManager.getConnection(url, username, password); System.out.println(conn); //3.1设置指令 String sql = "insert into student " + "values('"+student.sno+"'," + " ' "+student.sname+"'," + " '"+student.sex+"'," +student.age+")"; //3.2通过连接创建语句执行者 Statement st = conn.createStatement(); //3.3通过语句执行者,操作数据库 st.execute(sql); st.close(); conn.close(); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } } void deleteStudent(String ac){ //1.获取连接 try { //1.加载驱动类 Class.forName("com.mysql.jdbc.Driver"); //2.设置连接信息 String username="root"; //数据库用户名 String password="123456";//数据库密码 String url ="jdbc:mysql://127.0.0.1:3306/lanykey"; //3.设备连接 Connection conn = DriverManager.getConnection(url, username, password); System.out.println(conn); //3.1设置指令 String sql = "delete from student where sno='"+ac+"' "; // insert into student values('s030','ax','w',0); // insert into student values('s010','bx','m',0); // insert into student values('s020','cx','w',0); //3.2通过连接预处理语句执行者 Statement st = conn.prepareStatement(sql);//!! //3.3操作数据库 st.execute(sql); st.close(); conn.close(); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } } // static void updateStudent(Student student){ //1.获取连接 try { //1.加载驱动类 Class.forName("com.mysql.jdbc.Driver"); //2.设置连接信息 String username="root"; //数据库用户名 String password="123456";//数据库密码 String url ="jdbc:mysql://127.0.0.1:3306/lanykey"; //3.设备连接 Connection conn = DriverManager.getConnection(url, username, password); System.out.println(conn); //3.1设置指令 String sql ="update student set sname='"+student.sname +"',sex='"+student.sex +"',age="+student.age +" where sno='"+student.sno+"'"; System.out.println(sql);//用来检查语句是否有错!! //3.2通过连接创建语句执行者 Statement st = conn.prepareStatement(sql); // if(st.execute(sql)){ // System.out.println("插入成功!"); // }else{ // System.out.println("插入失敗!"); // } //3.3通过语句执行者,操作数据库 st.execute(sql); st.close(); conn.close(); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } } public List<Student> getAll(){ List<Student> list = new ArrayList<Student>();//ArrayList是List的子类!! //1.获取连接 try { //1.加载驱动类 Class.forName("com.mysql.jdbc.Driver"); //2.设置连接信息 String username="root"; //数据库用户名 String password="123456";//数据库密码 String url ="jdbc:mysql://127.0.0.1:3306/lanykey"; //3.设备连接 Connection conn = DriverManager.getConnection(url, username, password); System.out.println(conn); //3.1设置指令 String sql = "select * from student"; Statement st = conn.createStatement(); //3.3操作数据库 ResultSet rs = st.executeQuery(sql);//sql包 while(rs.next()){ Student stu = new Student(); stu.sno = rs.getString("sno"); stu.sname = rs.getString("sname"); stu.sex = rs.getString("sex"); stu.age = rs.getInt("age"); list.add(stu);//!! } st.execute(sql); st.close(); conn.close(); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } return list; } }
5.4 Test1.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55package Test1; //jdb的基本框架 import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class Test1 { public static void main(String[] args) { //获取连接 //内存中的工具class try { //1.加载驱动类 Class.forName("com.mysql.jdbc.Driver"); //2.设置连接信息 String username="root"; //数据库用户名 String password="123456";//数据库密码 //String url ="jdbc:mysql://127.0.0.1:3306/lanykey"; String url = "jdbc:mysql://127.0.0.1:3306/lanykey?useUnicode=true&characterEncoding=GBK"; //String url = "jdbc:mysql://127.0.0.1:3306/lanykey?useUnicode=true&characterEncoding=gb2312","root","123456"; //3.设备连接 Connection conn = DriverManager.getConnection(url, username, password); System.out.println(conn); //3.1设置指令 //String sql = "insert into student values('s001','QAQ','女',15)"; //String sql = "update student set sname='QBQ',sex='男',age = 15 where sno='s001' "; //String sql = "delete from student where sno='s001' "; String sql = "select * from student"; //3.2通过连接创建语句执行者 Statement st = conn.createStatement(); //3.3通过语句执行者,操作数据库 //st.execute(sql); //st.execute(sql); ResultSet rs = st.executeQuery(sql); while(rs.next()){ String sno = rs.getString("sno"); String sname = rs.getString("sname"); String sex = rs.getString("sex"); int age = rs.getInt("age"); System.out.print(sno+"t"+sname+"t"+sex+"t"+age+"n"); } } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } } }
5.5 UserInfo.java
1
2
3
4
5
6
7
8
9package Test1; public class UserInfo { public String account; public String password; public String username; }
5.6 UserInfoDao .java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44package Test1; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class UserInfoDao { public boolean validateUserInfo(String ac, String pwd){ boolean flag=false; //1.获取连接 try { //1.加载驱动类 Class.forName("com.mysql.jdbc.Driver"); //2.设置连接信息 String username="root"; //数据库用户名 String password="123456";//数据库密码 String url ="jdbc:mysql://127.0.0.1:3306/lanykey"; //3.设备连接 Connection conn = DriverManager.getConnection(url, username, password); System.out.println(conn); //3.1设置指令 String sql = "select * from UserInfo " + "where account='"+ac+"'" + " and password='"+pwd+"'"; //3.2通过连接创建语句执行者 Statement st = conn.createStatement(); ResultSet rs = st.executeQuery(sql);//sql包!! flag = rs.next(); //3.3通过语句执行者,操作数据库 st.execute(sql); st.close(); conn.close(); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } return flag; } }
5.7 UserInfoDaoTest.java
1
2
3
4
5
6
7
8
9package Test1; public class UserInfoDaoTest { public static void main(String[] args) { UserInfoDao userInfoDao = new UserInfoDao(); System.err.println(userInfoDao.validateUserInfo("lanykey", "123456")); } }
最后
以上就是潇洒大门最近收集整理的关于java软件测试基础的全部内容,更多相关java软件测试基础内容请搜索靠谱客的其他文章。
发表评论 取消回复