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

软件发布|下载排行|最新软件

当前位置:首页IT学院IT技术

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

KittyGuy   2021-03-04 我要评论
想了解Mybatis注解增删改查的实例代码的相关内容吗,KittyGuy在本文为您仔细讲解Mybatis注解增删改查的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:mybatis注解增删改查,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();
 }
}

总结

Copyright 2022 版权所有 软件发布 访问手机版

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 联系我们