一般是main方法执行测试程序的错误,改成使用测试单元进行测试
之前在main中写的代码:执行报上述错误。
public class keyDruidDemo {
public static void main(String[] args) throws Exception {
String inputName = "sunwukong";
String inputPassword = "123456";
String email = "2138@qq.com";
String birthday = "2001-02-21";
String infoId = "6";
int inputInfoId = Integer.valueOf(infoId);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date inputBirthday = sdf.parse(birthday);
Properties prop = new Properties();
//读取配置文件 配置文件路径选择以项目根目录路径开头的路径
prop.load(new FileInputStream("NativeMybatis/src/main/resources/com/kdy/druid.properties"));
//获取连接池对象
DataSource dataSource = DruidDataSourceFactory.createDataSource(prop);
//获取连接
Connection conn = dataSource.getConnection();
System.out.println(conn);
String sql = "insert into users (name,password,email,birthday,infoId) values(?,?,?,?,?);";
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setString(1,inputName);
pstmt.setString(2,inputPassword);
pstmt.setString(3,email);
pstmt.setDate(4,(java.sql.Date)inputBirthday);
pstmt.setInt(5,inputInfoId);
int count = pstmt.executeUpdate();
System.out.println(count);
conn.close();
pstmt.close();
}
}
需要改成:引入junit依赖,然后在test中创建@Test测试:
public class DruidDemoTest {
@Test
public void druidDemoTest() throws Exception {
String inputName = "sunwukong";
String inputPassword = "123456";
String email = "2138@qq.com";
String birthday = "2001-02-21";
String infoId = "6";
int inputInfoId = Integer.valueOf(infoId);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date inputBirthday = sdf.parse(birthday);
Properties prop = new Properties();
//读取配置文件 配置文件路径选择以项目根目录路径开头的路径
prop.load(new FileInputStream("src/main/resources/com/kdy/druid.properties"));
//获取连接池对象
DataSource dataSource = DruidDataSourceFactory.createDataSource(prop);
//获取连接
Connection conn = dataSource.getConnection();
System.out.println(conn);
String sql = "insert into users (name,password,email,birthday,infoId) values(?,?,?,?,?);";
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setString(1,inputName);
pstmt.setString(2,inputPassword);
pstmt.setString(3,email);
pstmt.setDate(4,new java.sql.Date(inputBirthday.getTime()));
pstmt.setInt(5,inputInfoId);
int count = pstmt.executeUpdate();
System.out.println(count);
conn.close();
pstmt.close();
}
}
文章讲述了如何将一个包含数据库操作的Java主方法转换为JUnit测试。原来的main方法直接在代码中执行SQL插入操作,现在改为了在测试类`DruidDemoTest`中创建`@Test`注解的测试方法,使用Druid数据源进行连接,并进行了相应的异常处理。测试方法中包含了设置参数、建立连接、执行SQL和关闭资源的过程。
840

被折叠的 条评论
为什么被折叠?



