1,使用idea创建一个maven项目,导入以下依赖,分别为数据库依赖,mybatis依赖,单元测试,注解工具包(后两个依赖可以不导入)。

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.47</version>
        </dependency>
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.5.7</version>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.11</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.16.10</version>
        </dependency>

 

2,在数据库中创建user表,以及创建一个对应的类(该类需要属性私有,有无参构造,get/set方法,可使用@data注解),如下:

Mybatis入门(二) 使用mydatis进行增删改操作_sql语句      Mybatis入门(二) 使用mydatis进行增删改操作_增删改_02

 

 

 3,编写mapper标签中配置的接口。分别对应增删改 

 

public interface userDao {
    public int insertUser(user user);
    public void updateUser(user user);
    public void deletsUser(int id);
}

 

 

 

 4,编写XML配置文件:编写sql语句,以及配置第三步编写的类,方法

mapper里namespace对应是第三步的接口类,包含了三个标签insert,update,delete,分别对应sql中增改删,每个标签中的id对应了这个接口的方法,

paramterType为传入参数,可以传入一个具体类,sql语句中使用#{}来代替展位符,#{id}对应了user类中id属性!删除的例子中,paramterType参数为int,#{id},id对应的调用改方法时传入的参数!

<mapper namespace="com.hys.mybatis.dao.userDao">
    
    <insert id="insertUser" parameterType="com.hys.mybatis.pojo.user">
        insert into school.user (id,name,pwd) values (#{id},#{name},#{pwd})
    </insert>

    <update id="updateUser" parameterType="com.hys.mybatis.pojo.user">
        update school.user set pwd=#{pwd} where id=#{id}
    </update>

    <delete id="deleteUser" parameterType="int">
        delete from school.user where id=#{id}
    </delete>

</mapper>

 

5 代码测试,其中sqlsession的获取,可以看我第一篇文章Mybatis入门(一),sqlsession这个对象获取是固定的,把获取的代码写在一个工具类,省得每次写

sqlsession获取上面所写的mapper,然后调用具体方法进行测试。除了查询,增删改都需要进行事务!!!!,需要提交!!!

    @Test
    public void insertUser(){
        SqlSession sqlSession = mybatisUtil.getSqlSession();
        userDao mapper = sqlSession.getMapper(userDao.class);
        mapper.insertUser(new user(7, "赵六", "123456"));
        sqlSession.commit();
        sqlSession.close();
    }

    @Test
    public void updateUser(){
        SqlSession sqlSession = mybatisUtil.getSqlSession();
        userDao mapper = sqlSession.getMapper(userDao.class);
        mapper.updateUser(new user(2,"88888","8888888"));
        sqlSession.commit();
        sqlSession.close();
    }
    @Test
    public void deleteUser(){
        SqlSession sqlSession = mybatisUtil.getSqlSession();
        userDao mapper = sqlSession.getMapper(userDao.class);
        mapper.deleteUser(2);
        sqlSession.commit();
        sqlSession.close();

    }