1.测试
黑盒测试:不关心具体代码,只测功能
白盒测试:测试逻辑代码
灰盒测试:介于黑盒和白盒之间
具体操作:
(1)在测试方法之前用@Test修饰
(2)自动导入JUnit4
(3)比较预期结果与实际结果:Assert.assertEquals( 预期结果,实际结果 )
(4)@Before和@After分别在每次测试方法之前之后执行
(5)@BeforeClass和@AfterClass 分别在所有测试方法之前之后执行
2.JDBC
核心组件:
1)Driver:此接口处理与数据库服务器的通信,通常使用DriverManger对象来管理
2)DriverManager:使用通信协议将来自java应用程序的连接请求与适当的数据库驱动程序匹配
3)Connection:该接口具有连接数据库的所有方法
4)Statement:使用从此接口创建的对象将SQL语句提交到数据库
5)ResultSet:在使用statement对象执行SQL查询后,这些对象保存从数据库检索的数据
具体操作:
(1)导入JDBC驱动包
(2)注册JDBC驱动程序: 例 Class.forName("com.mysql.jdbc.Driver")
(3)获取连接对象:
String url="jdbc:mysql://localhost:3306/数据库名?useSSL=true&characterEncoding=utf8";
Connection connection= DriverManager.getConnection(url,数据库用户名,数据库密码);
(4)创建命令:Statement stat = connection.createStatement();
——execute() 执行任意SQL语句
——executeUpdate() 增 删 改
//创建数据库mytest
// int count = stat.executeUpdate("create database if not exists mytest;");
// System.out.println(count);
// 创建表stu
// int count=stat.executeUpdate("create table stu(id int primary key ,name varchar(10))");
// 添加记录
stat.executeUpdate("insert into stu values (1,'张三')");
stat.executeUpdate("insert into stu values (2,'李四')");
stat.executeUpdate("insert into stu values (3,'王五')");
——executeQuery() 查询
ResultSet rs = stat.executeQuery("select * from stu;");
while (rs.next()){//有数据返回true,没有返回false
int id = rs.getInt("id");
String name = rs.getString("name");
System.out.println(id+" "+name);
}
System.out.println("----------反向遍历------------");
while (rs.previous()){
int id = rs.getInt("id");
String name = rs.getString("name");
System.out.println(id+" "+name);
}
(5)关闭:stat.close; connection.close;