栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

03-Mybatis增删改查的简单功能实现

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

03-Mybatis增删改查的简单功能实现

增删改查的实现

在上文中已经建立了mybatis的环境,并且创建了UserMapper.xml、userMapper,并且完成了一个简单的查询操作,已经可以成功的运行(环境可以正常的跑起来了)

下面对整个数据库的基础操作:增删改查的代码进行编写

mybatis的方便之处便在于:搭建好运行环境之后,新的增删改查需求,只需要对UserMapper接口和UserMapper.xml中实现,并进行测试即可,配置文件等内容无需改动

1. 增(insert)

需求:在数据库表users中新加一个user对象

    UserMapper接口中新增抽象方法:inserUser()
// 新增一个user对象
void insertUser(Users user);
    UserMapper.xml中新增insert标签的sql操作语句

可以通过**#{属性名}**直接将对象的属性值取出来,注意:{}中的属性名需和数据库表的属性字段名对应


    insert into mybatis01.users (id, name, age, sex, password, address) values (#{id}, #{name}, #{age}, #{sex}, #{password}, #{address});

    测试类进行测试
@Test
public void insertUser(){
    SqlSession sqlSession = MybatisUtils.getSqlSession();
    UserMapper mapper = sqlSession.getMapper(UserMapper.class);
    mapper.insertUser(new Users(8,"张小二",12,"man", "123321", "中国北京"));
    // 更改数据库之后,需要进行事务的提交
    sqlSession.commit();
    // 关闭连接
    sqlSession.close();

}

注意:对数据库进行更改操作时,需要提交事务:sqlSession.commit()

2. 删(delete)

需求:在数据库表users中删除指定id的user对象

    UserMapper接口中新增抽象方法:deleteUserById():
// 根据Id删除数据
void deleteUserById(int id);
    UserMapper.xml中新增delete标签的sql操作语句

    delete from mybatis01.users where id = #{id};


    测试类进行测试
@Test
public void deleteUserById(){
    SqlSession sqlSession = MybatisUtils.getSqlSession();
    UserMapper mapper = sqlSession.getMapper(UserMapper.class);
    mapper.deleteUserById(4);
    sqlSession.commit();
    sqlSession.close();
}

注意:删除表也是对表的修改,需要提交事务

3.改(update)

需求:在数据库表users中对指定对象进行修改属性内容

    UserMapper接口中新增抽象方法:updateUser():
// 更新user对象
void updateUser(Users user);
    UserMapper.xml中新增update标签的sql操作语句

    update mybatis01.users set name=#{name}, age=#{age}, password=#{password}, address=#{address} where id=#{id};

    测试类进行测试
@Test
public void updateUser(){
    SqlSession sqlSession = MybatisUtils.getSqlSession();
    UserMapper mapper = sqlSession.getMapper(UserMapper.class);
    mapper.updateUser(new Users(2, "小美", 22, "woman", "xiaomei123", "中国河北"));
    sqlSession.commit();
    sqlSession.close();
}

注意:更新完数据表,也需要提交事务

4. 查(select)

需求:在数据库表users中根据Id查询对象

    UserMapper接口中新增抽象方法:selectUserById():
// 根据Id查询对象
Users selectUserById(int id);
    UserMapper.xml中新增select标签的sql操作语句

    select * from mybatis01.users where name like #{str};

测试类:

@Test
public void selectUsesLike1(){
    SqlSession sqlSession = MybatisUtils.getSqlSession();
    UserMapper mapper = sqlSession.getMapper(UserMapper.class);
    List users = mapper.selectUsesLike1("小%");
    for (Users user : users) {
        System.out.println(user);
    }
    sqlSession.close();
}

查询结果:查询出名字以小开头的user信息

    在UserMapper.xml中的sql语句中使用通配符:

编写UserMapper接口的抽象方法:

// 模糊查询 2 sql语句中传递通配符% %
List selectUsesLike2(String str);

编写UserMapper.xml中的select标签内容:


测试类:

@Test
public void selectUsesLike2(){
    SqlSession sqlSession = MybatisUtils.getSqlSession();
    UserMapper mapper = sqlSession.getMapper(UserMapper.class);
    List users = mapper.selectUsesLike2("小");
    for (Users user : users) {
        System.out.println(user);
    }
    sqlSession.close();
}

查询结果:查询出名字中带小的所有user信息

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/704209.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号