关于@Test

关于@Test


package com.imooc.jdbc.demo1;

import org.junit.Test;
import com.mysql.jdbc.Driver;
import java.sql.*;

public class JDBC小测 {
   @Test
   public void test1(){
       //注册驱动
       try {
           Class.forName("com.mysql.cj.jdbc.Driver");
       //获得连接
           Connection conn = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/jdbctest?goodsSSL=false&serverTimezone=Hongkong&useUnicode=true&characterEncoding=utf-8", "root", "199408");
       //创建执行SQL语句的对象,并且执行SQL语句
           String sql = "select name,price from goods where price<2500";
           Statement  stmt=conn.createStatement();
           ResultSet resultSet = stmt.executeQuery(sql);
           while(resultSet.next()){
               String name = resultSet.getString("name");
               Float price = resultSet.getFloat("price");
               System.out.println(name + "   " + price);
           }
           resultSet.close();
           conn.close();
           stmt.close();
       } catch (ClassNotFoundException e) {
           e.printStackTrace();
       } catch (SQLException e) {
           e.printStackTrace();
       }
   }
   @Test
   public void test2(){
       Connection conn=null;
       Statement stmt=null;
       ResultSet resultSet=null;
       try {
           //注册驱动
           Class.forName("com.mysql.jdbc.Driver");
           //获得连接
           conn = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/jdbctest?useSSL=false&serverTimezone=Hongkong&useUnicode=true&characterEncoding=utf-8", "root", "199408");
           //创建执行SQL语句的对象,并且执行SQL语句
           String sql = "insert goods values(null,'耳机',200,'蓝牙耳机')";
           stmt=conn.createStatement();
           int row = stmt.executeUpdate(sql);
           if (row > 0) {
               String sql1 = "select * from goods";
               resultSet = stmt.executeQuery(sql1);
               while (resultSet.next()) {
                   String name = resultSet.getString("name");
                   Float price = resultSet.getFloat("price");
                   String desp = resultSet.getString("desp");
                   System.out.println(name+"    "+price+"    "+desp);
               }
           }else {
               System.out.println("添加失败");
           }
       } catch (Exception e) {
           e.printStackTrace();
       }finally {
           if (conn != null) {
               try {
                   conn.close();
               } catch (SQLException e) {
                   e.printStackTrace();
               }
               conn=null;
           }

           if (stmt != null) {
               try {
                   stmt.close();
               } catch (SQLException e) {
                   e.printStackTrace();
               }
               stmt=null;
           }

           if (resultSet != null) {
               try {
                   resultSet.close();
               } catch (SQLException e) {
                   e.printStackTrace();
               }
               resultSet=null;
           }
       }

   }
}

我在一个类中写了两个方法,第二个方法插入数据时,是成功了,但控制台并没有输出第二个方法里应该输出的值,为什么,只输出了第一个方法里的值

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕阿莹 2020-03-06 18:07:12

同学你好,

同学尝试一下只执行第二个方法试试,在test2上选中,然后右键执行一下(或者去掉第一个方法的test注解)

看看控制台是否有报错呢?

同学说插入成功了,是数据库中也确实有了这条插入的语句吗?

祝学习愉快。

  • 提问者 慕沐3362990 #1
    对的,数据库中插入这条语句,在一个类中不能同时执行两个方法吗,还有这个@Test不是很理解,是个啥,以前是用main方法
    2020-03-06 18:09:21
  • 好帮手慕阿莹 回复 提问者 慕沐3362990 #2
    可以同时执行两个方法,老师是想看一下会不会是第二个出现一些问题不会查看,所以先建议同学执行一个,这个@Test是测试的方法,可以使方法单独运行,但要求不能有返回值和参数,和main方法比较类似,可以用来测试一些简单的方法而不用去写main方法了。所以,同学这次是执行成功了吗?有打印出来吗?如果没有,有没有报错呢?
    2020-03-06 18:21:55
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
Java数据库开发与实战应用2018版
  • 参与学习           人
  • 提交作业       277    份
  • 解答问题       4297    个

Java数据库开发的必备技能,从流行的MySQL数据库开始,到Java原生的数据库管理接口JDBC的使用,再到常用的数据持久化框架MyBatis,让你向Java工程师的目标又迈进了一步!

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师