MyBatis篇( 三)增、删、改、查、Map、模糊查询

增、删、改、查

1.根据用户ID查询用户
1.1接口中编写查询方法

//根据用户ID查询一个用户
    User getUserByid(int id);

1.2在Mapper.xml中配置sql语句

 <!--根据用户ID查询用户信息-->
    <select id="getUserByid" resultType="com.ni.pojo.User" parameterType="int">
        select*from mybatis.user where id=#{id}
    </select>

ID :就是你自己定义的接口名
resultType:返回值类型,这里要返回User,要写它的全路径
parameterType:参数类型,ID的参数为int类型

1.3测试

 @Test
    public void getUserByid(){
        SqlSession sqlsession = MyBatisUtils.getSession();
        UserDao mapper = sqlsession.getMapper(UserDao.class);
        User user = mapper.getUserByid(3);
        System.out.println(user);

        sqlsession.close();
    }

在这里插入图片描述
2.增加一个用户
2.1接口中编写增加用户方法

 //增加一个用户
    int  addUser(User user);

2.2在Mapper.xml中配置sql语句

<!--增加一个用户-->
    <insert id="addUser" parameterType="com.ni.pojo.User">
        insert into mybatis.user(id,name,pwd) value(#{id},#{name},#{pwd} );
    </insert>

#{}:获取当前数据
2.3测试:

@Test
    public void addUser(){
        SqlSession sqlSession = MyBatisUtils.getSession();
        UserDao mapper = sqlSession.getMapper(UserDao.class);
        int res = mapper.addUser(new User(7, "红发", "123456"));

        if(res>0){
            System.out.println("插入成功");
        }
        
        sqlSession.commit();
      sqlSession.close();
    }

sqlSession.commit() 更新事务,一定要添加不然数据库不会更新,即使你的程序执行成功了但是,你的数据不会插入到数据库
在这里插入图片描述
在这里插入图片描述
3.修改用户数据
3.1接口中添加修改数据库方法

//修改用户数据
    int  updateUser(User user);

3.2Mapper.xml中配置sql语句

 <!--修改用户数据-->
    <update id="updateUser" parameterType="com.ni.pojo.User">
        update mybatis.user set name=#{name},pwd=#{pwd} where id=#{id}
    </update>

3.3测试

 @Test
    public void updateUser(){
        SqlSession sqlSession = MyBatisUtils.getSession();
        UserDao mapper = sqlSession.getMapper(UserDao.class);
        mapper.updateUser(new User(5, "艾尼路", "125463"));

      
        sqlSession.commit();
        sqlSession.close();

    }

在这里插入图片描述
4.删除用户数据
4.1接口中添加删除方法

 //删除一个用户
    int  deleteUser(int id);

4.2Mapper.xml中配置sql语句

 <!--删除用户-->
    <delete id="deleteUser" parameterType="int">
        delete from mybatis.user where id=#{id}
    </delete>

4.3测试

 @Test
    public void deleteUser(){
        SqlSession sqlSession = MyBatisUtils.getSession();
        UserDao mapper = sqlSession.getMapper(UserDao.class);
        mapper.deleteUser(6);
        sqlSession.commit();
        sqlSession.close();
    }

在这里插入图片描述

在这里插入图片描述
5.万能的Map
当数据库里参数特别多时,你在Mapper.xml中配置sql语句要进行一一对应,而利用map可以减少操作
5.1接口中定义增加用户方法

 int  addUser2(Map<String,Object> map);

5.2Mapper.xml中sql语句配置

<!--Map-->
    <insert id="addUser2" parameterType="map">
        insert into mybatis.user(id,name,pwd) value(#{Userid},#{Username},#{Userpwd} );
    </insert>

5.3测试

 @Test
    public void addUser2(){
        SqlSession sqlSession = MyBatisUtils.getSession();
        UserDao mapper = sqlSession.getMapper(UserDao.class);
        Map<String,Object> map = new HashMap<String, Object>();
        map.put("Userid","9");
        map.put("Username","大妈");
        map .put("Userpwd","156897456");

       mapper.addUser2(map);
       System.out.println(map);
        sqlSession.commit();
        sqlSession.close();




    }

在这里插入图片描述
在这里插入图片描述
6.模糊查询 (like)

 //模糊查询
    List<User> getUserlike(String value);
 <!--模糊查询-->
    <select id="getUserlike" resultType="com.ni.pojo.User">
        select*from mybatis.User where name #{%value%}
    </select>
 @Test
    public void getUserlike(){
        SqlSession sqlSession = MyBatisUtils.getSession();
        UserDao mapper = sqlSession.getMapper(UserDao.class);
        List<User> userList = mapper.getUserlike("%路%");
        for (User user : userList) {
            System.out.println(user);

        }
        sqlSession.close();

    }
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 很抱歉,作为AI语言模型,我无法回答这个问题。但是,我可以告诉你MyBatis-Plus是一个优秀的Java持久层框架,它可以简化数据库操作,提高开发效率。它提供了丰富的API和注解,支持快速的操作,同时还支持分页、排序、条件询等高级功能。如果你想学习MyBatis-Plus的使用,可以参考官方文档或者相关教程。 ### 回答2: MyBatis-Plus是一个基于MyBatis强工具,在MyBatis的基础上简化了开发,提高了开发效率。MyBatis-Plus提供了一些常用的操作方法。 加操作: 在使用MyBatis-Plus进行加操作时,我们可以直接通过Mapper接口调用自带的方法进行加操作。我们可以使用Mapper接口提供的save()方法或insert()方法来实现数据添加的操作。示例如下: ``` User user = new User(); user.setName("John"); user.setAge(18); int result = userMapper.save(user); ``` 除操作: 在除数据时,我们也可以直接使用Mapper接口提供的方法来实现。我们可以使用Mapper接口提供的deleteById()方法或delete()方法来除数据,示例如下: ``` int result = userMapper.deleteById(1L); ``` 修操作: MyBatis-Plus同样也提供了简单的修操作。我们可以使用Mapper接口提供的updateById()方法或update()方法来修数据。示例如下: ``` User user = new User(); user.setId(1L); user.setName("John"); user.setAge(20); int result = userMapper.updateById(user); ``` 询操作: 在询数据时,MyBatis-Plus同样也提供了多种询方式。我们可以使用Mapper接口提供的selectById()方法或selectOne()方法来询单个数据,使用selectList()方法或selectPage()方法来询多个数据。示例如下: ``` User user = userMapper.selectById(1L); List<User> userList = userMapper.selectList(null); Page<User> page = new Page<>(1, 10); IPage<User> userIPage = userMapper.selectPage(page, null); ``` 总的来说,MyBatis-Plus提供了很多方便快捷的方法,使用起来十分简单,能够大大提升开发效率。 ### 回答3: Mybatis-plus是一个基于Mybatis的ORM框架,主要对Mybatis进行强,提供了更为便捷的API和更为灵活的操作方式,能够大大提高开发效率和代码质量。下面,将以一个项目为例,介绍Mybatis-plus的使用方法。 一、环境配置 1.在项目中引入Mybatis-plus的依赖: ``` <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.0.5</version> </dependency> ``` 2.在application.properties中配置数据库连接信息: ``` spring.datasource.driver-class-name=com.mysql.jdbc.Driver spring.datasource.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC spring.datasource.username=root spring.datasource.password=root ``` 3.在启动类上添加@EnableMybatisPlus注解: ```java @SpringBootApplication @EnableMybatisPlus public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } } ``` 二、实体类和Mapper的编写 1.创建实体类,通过@TableId注解指定主键: ```java @Data public class User { @TableId(type = IdType.AUTO) private Long id; private String name; private Integer age; private String email; } ``` 2.创建Mapper接口,继承BaseMapper: ```java @Mapper public interface UserMapper extends BaseMapper<User> { } ``` 操作 1.询操作 (1)询所有记录: ```java List<User> userList = userMapper.selectList(null); ``` (2)根据id询记录: ```java User user = userMapper.selectById(id); ``` (3)根据条件询记录: ```java List<User> userList = userMapper.selectList(new QueryWrapper<User>() .eq("name", "Tom") .gt("age", 18) .orderByDesc("create_time")); ``` (4)分页询记录: ```java Page<User> page = new Page<>(1, 10); IPage<User> userIPage = userMapper.selectPage(page, new QueryWrapper<User>() .ge("age", 18) .orderByDesc("create_time")); ``` 2.插入操作: ```java User user = new User(); user.setName("Tom"); user.setAge(20); user.setEmail("tom@test.com"); userMapper.insert(user); ``` 3.更新操作: ```java User user = userMapper.selectById(id); user.setName("Jerry"); userMapper.updateById(user); ``` 4.除操作: ```java userMapper.deleteById(id); ``` 以上就是使用Mybatis-plus进行操作的基本方法。当然,Mybatis-plus提供了更为丰富的API,可以根据具体需求进行调用,是一个非常方便快捷的ORM框架。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小倪长头发啦

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值