概述
使用记事本来编辑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 计算华氏温度
package 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 多重判断语句
package 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 三角形问题
package 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 九九乘法表
法一:
package 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();
}
}
}
法二:
package 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 函数的调用
创建一个表格
法一:
package 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));
}
}
法二:
public 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文件编码
package 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文件编码
package 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代码
package 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代码
package 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
package 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 //单条测试
package 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 //多条测试
package 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文件夹内!!
<%@ 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.欢迎界面类
<%@ 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
//新建表
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
package 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
package 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
package 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
package 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
package Test1;
public class UserInfo {
public String account;
public String password;
public String username;
}
5.6 UserInfoDao .java
package 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
package Test1;
public class UserInfoDaoTest {
public static void main(String[] args) {
UserInfoDao userInfoDao = new UserInfoDao();
System.err.println(userInfoDao.validateUserInfo("lanykey", "123456"));
}
}
最后
以上就是潇洒大门为你收集整理的java软件测试基础的全部内容,希望文章能够帮你解决java软件测试基础所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复