使用junit测试JDBC时候数据库会插入两条数据

使用junit测试JDBC时候数据库会插入两条数据

再使用Junit进行测试的时候,数据库插入语句会执行两次,插入进数据库两条语句,但是日志显示就执行了一遍

junit版本用的是4.4,更换了最新版本5.6.0-M1后就正常了
在这里插入图片描述

目录结构如下

在这里插入图片描述

pom.xml导入的依赖

    <!--导入依赖-->
    <dependencies>
        <!--mysql驱动-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.47</version>
        </dependency>
        <!--junit-->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.4</version>
        </dependency>
    </dependencies>

实体类User.java

public class User {
    private int id;
    private String name;
    private String password;
}

UserDao.java

public class UserDao {
    //配置信息
    String driver = "com.mysql.jdbc.Driver";
    String url = "jdbc:mysql://localhost:3306/mybatis?useSSL=true&useUnicode=true&characterEncoding=UTF-8";
    String username = "root";
    String password = "root";

    public int insertUser(User user) throws ClassNotFoundException, SQLException {
        Class.forName(driver);
        Connection connection = DriverManager.getConnection(url, username, password);
        Statement statement = connection.createStatement();
        String sql = "insert into mybatis.user(id, name, password) values (" + user.getId() + "," + user.getName() + "," + user.getPassword() + ")";

        int i = statement.executeUpdate(sql);
        
        statement.close();
        connection.close();
        return i;
    }
}

测试文件UserDaoTest.java

public class UserDaoTest {
    @Test
    public void insertUserTest() throws SQLException, ClassNotFoundException {
        UserDao userDao = new UserDao();
        int i = userDao.insertUser(new User(20, "1234", "123456"));
        System.out.println(i);
    }
}

sql文件

create table user
(
    id       int(20)     null,
    name     varchar(30) null,
    password varchar(30) null
);
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值