SpringBoot整合Mybatis

一、项目套路,啥都不说,先上依赖:

 <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>1.3.2</version>
<`/dependency`>

二、过后当然是配置文件里,告诉SpringBoot,mybatis来了!!!!
这里我用的配置文件后缀是.yml,不是这个的请改成 mybatis.type-aliases-package: cn.markedquilt.demo.login.entity

mybatis:
  type-aliases-package: cn.markedquilt.demo.login.entity

三、在唯一的启动类里添加对mapper包扫描@MapperScan(“你的mapper文件所在目录”)

@MapperScan("cn.markedquilt.demo.login.entity")

四、这里就可以开始最关键的,最自由的mapper开发啦

根据名字来看,就是这几个功能
@Select 查询。
@Result 这是用来保证数据库和java实体类中名字映射的,如果两边名字一样,就不需要使用这个注解。
@Insert 插入。
@Update 更新。
@delete 删除。

附上我自己写的一个简单的增删查改:

import org.apache.ibatis.annotations.*;
import org.apache.ibatis.annotations.Result;
import java.util.List;
public interface UserMapper {
    @Select("SELECT * FROM user")
    @Results(
            {@Result(property = "username",column = "username",javaType = java.lang.String.class),@Result(property = "sex",column = "sex")
            })
    List<User> getAllUser();


    @Select("SELECT * FROM user WHERE id=#{id}")
    User getById();


    @Insert("INSERT INTO user(username,password,sex) values(#{username},#{password},#{sex})")
    void insertOne(User user);

    @Update("UPDATE user SET username=#{username},password=#{password},sex=#{sex} WHERE id=#{id}")
    void updateUser(User user);

    @Delete("DELETE FROM user WHERE id=#{id}")
    void deleteById(Integer id);
}

五、使用,这里转载一个别人写的,不想测了,看电影去啦!!!
上面三步就基本完成了相关dao层开发,使用的时候当作普通的类注入进入就可以了

@RunWith(SpringRunner.class)
@SpringBootTest
public class UserMapperTest {

    @Autowired
    private UserMapper UserMapper;

    @Test
    public void testInsert() throws Exception {
        UserMapper.insert(new UserEntity("aa", "a123456", UserSexEnum.MAN));
        UserMapper.insert(new UserEntity("bb", "b123456", UserSexEnum.WOMAN));
        UserMapper.insert(new UserEntity("cc", "b123456", UserSexEnum.WOMAN));

        Assert.assertEquals(3, UserMapper.getAll().size());
    }

    @Test
    public void testQuery() throws Exception {
        List<UserEntity> users = UserMapper.getAll();
        System.out.println(users.toString());
    }

    @Test
    public void testUpdate() throws Exception {
        UserEntity user = UserMapper.getOne(3l);
        System.out.println(user.toString());
        user.setNickName("neo");
        UserMapper.update(user);
        Assert.assertTrue(("neo".equals(UserMapper.getOne(3l).getNickName())));
    }
}

源码中controler层有完整的增删改查,这里就不贴了,附上大佬链接:一个很厉害的大佬博客,值得收藏!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值