Mybatis-02(操作表的增删改查)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/lyj4495673/article/details/82834341
回顾

1.了解定义,知道mybatis的作用
2.搭建简单mybatis架构
3.写出简单的测试代码进行测试

对数据库表进行操作

通过Mybatis-01的简单介绍我们可以进行简单的查询操作,接下来我们对数据库表的操作进行升华。

  1. 插入数据

在src文件下新建包(com.atguigu_mybatisTest),在包下新建xml文件(userMapper)用来定义sql的映射文件

<!--parameterType参数类型,对应包下的实体类-->
<insert id = "addUser" parameterType="com.atguigu_mybatis.Test1.User">
        <!-- value 里必须写对象里main的某一个属性-->
        insert into users(name,age)values(#{name},#{age}
</insert>

在配置文件中对新建的mapper文件进行配置,使其能顺利加载sql映射文件mapper.xml文件

<mappers>
        <!--去找mapper的文件位置-->
        <mapper resource="com/atguigu/mybatis/test2/userMapper.xml"/>
</mappers>

在dao层进行调用

public class Test2 {
    @Test
    public void testAdd(){
        String resource = "conf.xml";
        InputStream is =  Test.class.getClassLoader().getResourceAsStream(resource);
        SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(is);
        SqlSession session = factory.openSession();
        String statement ="com.atguigu_mybatis.Test2.userMapper"+".addUser";
        //将地址以参数的形式传入,第一个id,我们不需要(-1)
        int insert = session.insert(statement,new User(-1,"kk",23));
        session.commit();
        System.out.println(insert);
    }
}

结果展示
在这里插入图片描述

  1. 其他操作
<!--可按上述步骤进行简单测试-->
    <delete id="deleteUser" parameterType="int">
        delete from users where id=#{id}
    </delete>
    <update id="updateUser" parameterType="com.atguigu.day03_mybatis.Test1.User">
        upsate users set name=#{name},age#{age}where id=#{id}
    </update>
<mappers>
        <!--去找mapper的文件位置-->
        <!--注意在Mapper文件里注册的是class,接口-->
        <mapper class ="com.atguigu.mybatis.test3.UserMapper"/>
</mappers>
两种方式
  • 通过xml文件来写SQL语句
  • 基于注解的实现,将sql语句写到注解里,再创建一个接口,并在conf.xml里注册一下
public interface UserMapper{
//将sql语句通过注解执行
 @Insert("insert into users(name,age)values(#{name},#{age})")
   public int add(User user);
   public int deleteById(Int id);
   public int update(User user);
   public User getById(int id);
   public List<User>getAll();
}
问题总结

在写测试类的时候,发现测试类不能运行,并报错
在这里插入图片描述
这时我们要引入Junit和hamcrest-core的jar包

猜你喜欢

转载自blog.csdn.net/lyj4495673/article/details/82834341