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

网友投稿 543 2023-02-07

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

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

要点

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

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

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

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

要用class=

public interface PeopleMapper {

@Select("select * from people")

List getPeopleList();

}

可以先开启事务自动提交

public static SqlSession getSqlSession(){

return sqlSessionFactory.openSession(true);

}

}

Mapper.java

public interface PeopleMapper {

@Select("select * from people")

List 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);

Lhttp://ist 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();

}

}

总结

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:跨平台app(跨平台app开发)
下一篇:pc模式app(小米pc模式app)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~