Mybatis注解增删改查的实例代码

 更新时间:2021年03月04日 11:14:46   作者:KittyGuy  
这篇文章主要给大家介绍了关于Mybatis注解增删改查的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

要点

有另一种方法来完成语句映射。 它们映射的语句可以不用 XML 来配置,而可以使用 Java 注解来配置。

使用注解来映射简单语句会使代码显得更加简洁,但对于稍微复杂一点的语句,Java 注解不仅力不从心,还会让你本就复杂的 SQL 语句更加混乱不堪。

如果你需要做一些很复杂的操作,最好用 XML 来映射语句。

需要在config.xml中注册Java接口

<mappers>
 <mapper class="com.mybatis.DAO.PeopleMapper"/>
</mappers>

要用class=


public interface PeopleMapper {
 @Select("select * from people")
 List<People> getPeopleList();
}


可以先开启事务自动提交

public static SqlSession getSqlSession(){
  return sqlSessionFactory.openSession(true);
 }
}

Mapper.java

public interface PeopleMapper {
 @Select("select * from people")
 List<People> getPeopleList();
 @Insert("insert into people(id, name, age, address) VALUES (#{id},#{name},#{age},#{address})")
 int addPeople(People people);
}

test

public class PeopleDAOtest {
 @Test
 public void print() {
  SqlSession sqlSession = MybatisUtils.getSqlSession();
  PeopleMapper peopleMapper = sqlSession.getMapper(PeopleMapper.class);
  List<People> people = peopleMapper.getPeopleList();
  for (People p :people){
   System.out.println(p);
  }
  sqlSession.close();
 }
 @Test
 public void add(){
  SqlSession sqlSession = MybatisUtils.getSqlSession();
  PeopleMapper peopleMapper = sqlSession.getMapper(PeopleMapper.class);
  peopleMapper.addPeople(new People(6,"圣迭戈",456,"啥地方"));
  print();
 }
}

因为已经自动提交了,所以不需要sqlSession.commit();

注解@Param

只能用于基本数据类型

传入的参数只能和sql语句中参数一样

多个参数

样例

public interface PeopleMapper {
 @Delete("delete people from people where id=#{uid}")
 int delPeople(@Param("uid") int i);
}

test

public class PeopleDAOtest {
 @Test
 public void del(){
  SqlSession sqlSession = MybatisUtils.getSqlSession();
  PeopleMapper peopleMapper = sqlSession.getMapper(PeopleMapper.class);
  peopleMapper.delPeople(6);
  print();
 }
}


Mapper.java

public interface PeopleMapper {
 @Update("update mybatis.people set name=#{name} ,age=#{age} ,address=#{address} where id=#{id}")
 int updateP(People people);
}

test

public class PeopleDAOtest {
 @Test
 public void update(){
  SqlSession sqlSession = MybatisUtils.getSqlSession();
  PeopleMapper peopleMapper = sqlSession.getMapper(PeopleMapper.class);
  peopleMapper.updateP(new People(5,"圣迭戈",456,"啥地方"));
  print();
 }
}

总结

到此这篇关于Mybatis注解增删改查的文章就介绍到这了,更多相关Mybatis注解增删改查内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • @RequestMapping 如何使用@PathVariable 从URI中获取参数

    @RequestMapping 如何使用@PathVariable 从URI中获取参数

    这篇文章主要介绍了@RequestMapping 如何使用@PathVariable 从URI中获取参数的操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-08-08
  • SpringBoot + validation 接口参数校验的思路详解

    SpringBoot + validation 接口参数校验的思路详解

    这篇文章主要介绍了SpringBoot + validation 接口参数校验,本文通过项目实践+场景分析给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-10-10
  • spring data jpa使用详解(推荐)

    spring data jpa使用详解(推荐)

    这篇文章主要介绍了spring data jpa使用详解(推荐),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-04-04
  • java多线程之铁路售票系统

    java多线程之铁路售票系统

    这篇文章主要为大家详细介绍了java多线程之铁路售票系统,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-07-07
  • Springsession nginx反向代理集成过程

    Springsession nginx反向代理集成过程

    这篇文章主要介绍了Springsession nginx反向代理集成过程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-04-04
  • cmd中javac和java使用及注意事项详解

    cmd中javac和java使用及注意事项详解

    这篇文章主要介绍了cmd中javac和java使用及注意事项详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-07-07
  • 详解Java中的Vector

    详解Java中的Vector

    Vector 可实现自动增长的对象数组。本文通过实例代码给大家详细介绍java中的vector,感兴趣的朋友一起看看吧
    2017-10-10
  • Java CGLib动态代理机制(全面解析)

    Java CGLib动态代理机制(全面解析)

    下面小编就为大家带来一篇Java CGLib动态代理机制(全面解析)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-08-08
  • mybatis-plus 批量插入示例代码

    mybatis-plus 批量插入示例代码

    正常我们使用mybatis-plus插入的时候,首先想到的是saveBatch方法,不过看了下打印出来的sql和底层代码,才发现它并不是真正的批量插入这篇文章主要介绍了mybatis-plus 批量插入示例,需要的朋友可以参考下
    2023-07-07
  • SpringMVC 重定向参数RedirectAttributes实例

    SpringMVC 重定向参数RedirectAttributes实例

    这篇文章主要介绍了SpringMVC 重定向参数RedirectAttributes实例,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-12-12

最新评论