软件编程
位置:首页>> 软件编程>> java编程>> Mybatis注解增删改查的实例代码

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

作者:KittyGuy  发布时间:2022-03-31 01:26:15 

标签: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语句中参数一样

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

多个参数

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

样例


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();
}
}

总结

来源:https://juejin.cn/post/6933495094414835726

0
投稿

猜你喜欢

手机版 软件编程 asp之家 www.aspxhome.com