Mybatis—增删改查

导读:本篇文章讲解 Mybatis—增删改查,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

1.CRUD

搭建好环境之后,写一个增删改查方法的步骤:

1.编写接口里面的方法

在这里插入图片描述

2.在Mapper中编写对应的sql语句

在这里插入图片描述

3.在测试类中获取 sqlsession

4.sqlsession来获取Mapper接口对象

5.通过获取的接口对象来执行对应的方法

6.提交事务(只有增删改需要)

7.关闭sqlsession资源

在这里插入图片描述

1.1、namespace

namespace中的包名要和Dao接口的包名一致(用.分隔)

在这里插入图片描述

1.2、select

选择查询语句

  • id:是对应的namespace中的方法名
  • resultType:sql语句执行的返回值(Class、int、char…)
  • parameterType:参数类型

1.3、insert、update、delete

增删改语句

  • id:是对应的namespace中的方法名
  • parameterType:参数类型
  • 在执行增删改的sql语句之后一定要提交事务

以insert为例:

1.编写接口方法

//插入数据
int adduser(User user);

2.在mapper中写sql语句

<!-- 传入的值可以直接通过对象的属性名直接获取   -->
    <insert id="adduser" parameterType="pojo.User">
        insert into mybatis.user(id, username, pwd) values (#{id},#{username},#{pwd})
    </insert>

注:因为参数为User类型,所以传值的时候可以直接用#{id}来取出User对象里面的id属性值

3.测试(记得要提交事务

@Test
public void test02(){
    SqlSession sqlSession = MybatisUtils.getSqlSession();
    UserDao mapper = sqlSession.getMapper(UserDao.class);
    mapper.adduser(new User(4,"小潘","123"));

    //提交事务
    sqlSession.commit();
    sqlSession.close();
}

1.4、万能Map

当实体类中或者数据库表中的属性字段太多,我们可以不创建实体类对象,使用Map来进行操作

Dao类:

 //用万能的map,就不用知道表中的所有属性了
int getuserbyid(Map<String, Object> map);

xml文件:

<!-- 传入的值和map的键匹配就行   -->
    <insert id="getuserbyid" parameterType="map">
        insert into mybatis.user(id, username, pwd) values (#{userid},#{username},#{userpwd})
    </insert>

实现:

@Test
public void test03(){
    SqlSession sqlSession = MybatisUtils.getSqlSession();
    UserDao mapper = sqlSession.getMapper(UserDao.class);
    Map<String, Object> map01 = new HashMap<>();
    map01.put("userid",7);
    map01.put("username","hh");
    map01.put("userpwd","0000");

    mapper.getuserbyid(map01);
    
    //提交事务
    sqlSession.commit();
    sqlSession.close();
}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/84175.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!