Mybatis学习 - 3 - 实现增删改

给接口添加增删改方法

package dao;

import bean.Teacher;

public interface TeacherMapper {

    public Teacher getTeacherByID(Integer id);

    public void addTeacher(Teacher teacher);

    public void updateTeacher( Teacher teacher);

    public void deleteTeacherById(Integer id);
}

在映射文件中添加对应的sql

     <!--增加一列,parameterType可以不写 -->
    <insert id="addTeacher" parameterType="bean.Teacher">
    insert into teacher(`id`, `name`,`gender`)
    values(#{id},#{name},#{gender})
    </insert>

    <!--修改内容 -->
    <update id="updateTeacher">
        update teacher
        set `name`=#{name}
        where `id`= #{id}
    </update>

    <!-- 删除某一列-->
    <delete id="deleteTeacherById">
        delete from teacher
        where `id`=#{id}
    </delete>

给bean添加带参构造函数和无参构造函数

右键generate
在这里插入图片描述

测试插入操作

    @Test
    public void testInsert() throws IOException {

        String resource = "mybatis-config.xml";
        InputStream inputStream = Resources.getResourceAsStream(resource);
        //创建sqlSessionFactory对象
        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
        //生成session实例
        SqlSession session = sqlSessionFactory.openSession();
        try{TeacherMapper teacherMapper = session.getMapper(TeacherMapper.class);
            Teacher teacher = new Teacher(3,"Lucy",'F');
            teacherMapper.addTeacher(teacher);
            session.commit(); //提交操作
        }
        finally {
            session.close();
        }

    }

执行结果如下:
在这里插入图片描述
刷新数据库表单可以看到结果:
在这里插入图片描述

测试更新操作

    @Test
    public void testUpdate() throws IOException {
        String resource = "mybatis-config.xml";
        InputStream inputStream = Resources.getResourceAsStream(resource);
        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
        try (SqlSession session = sqlSessionFactory.openSession()) {
            TeacherMapper teacherMapper = session.getMapper(TeacherMapper.class);
            Teacher teacher = new Teacher(3, "joj", 'M');
            teacherMapper.updateTeacher(teacher);
            session.commit();
        }
    }

执行结果如下
在这里插入图片描述
数据库中更新结果
在这里插入图片描述

测试删除操作

    @Test
    public void testDelete() throws IOException {
        String resource = "mybatis-config.xml";
        InputStream inputStream = Resources.getResourceAsStream(resource);
        SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
        try(SqlSession session = sessionFactory.openSession()){
            TeacherMapper teacherMapper = session.getMapper(TeacherMapper.class);
            teacherMapper.deleteTeacherById(3);
            session.commit();
        }
    }

运行结果
在这里插入图片描述

修改返回值

修改接口方法的返回值,可以得到sql运行结果,支持三种返回值类型 布尔、long和interger。
值为interger和long的时候返回影响了多少行。影响行数大于0的时候为true,否则为false。

我们以删除为例,修改方法的返回值类型为布尔。
在这里插入图片描述
打印结果:

在这里插入图片描述
在这里插入图片描述

改手动提交为自动提交

只需要把session参数加一个true即可。
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值