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语句中参数一样
多个参数
样例
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
投稿
猜你喜欢
- 前言Eureka是一种基于REST(具像状态传输)的服务,主要用于AWS云中定位服务,以实现中间层服务器的负载平衡和故障转移。本文记录一个简
- 配置绑定所谓配置绑定”就是把配置文件中的值与 JavaBean 中对应的属性进行绑定。通常,我们会把一些配置信息(例如,
- Quick Start在SpringBoot中使用log4j2日志框架,只需三步:引入依赖配置log文件获取Logger实例并输出日志引入依
- springboot整合mybatis实现数据库更新批处理1.在mapper接口中编写方法/** * 修改book表中的销量和库存
- MD5加密简介哈希算法又称散列算法,是将任何数据转换成固定长度的算法的统称。 从本质上讲,MD5也是一种哈希算法,其输出是生成12
- 限流背景在早期的计算机领域,限流技术(time limiting)被用做控制网络接口收发通信数据的速率。可以用来优化性能,减少延迟和提高带宽
- 第一部分:Java数据结构要理解Java数据结构,必须能清楚何为数据结构?数据结构:Data_Structure,它是储存数据的一种结构体,
- 本文实例讲述了Java Web实现添加定时任务的方法。分享给大家供大家参考,具体如下:定时任务时间控制类/** * 定时任务时间控制 * *
- 现如今打开一个 App,比如头条、微博,都会有长列表,随着我们不断地滑动,视窗内的内容也会不断地更新。今天就用 Flutter 实现一下这种
- 最近看spring的JDBCTemplete的模板方式调用时,对模板和回调产生了浓厚兴趣,查询了一些资料,做一些总结。回调函数:所谓回调,就
- 1. JNI简介JNI是Java Native Interface的英文缩写,意为Java本地接口。问题来源:由于Java编写底层的应用较难
- LRU简介LRU是Least Recently Used 近期最少使用算法,它就可以将长时间没有被利用的数据进行删除。实现最近面了阿里的外包
- Spring * 监测每个Controller或方法的执行时长首先写一个类(TestInterceptor)让他继承HandlerInter
- 假设下面是你的视频网站链接列表,如果别人想爬取你的数据十分轻松,看规则就知道数据库是序列自增的http://www.xxxx.com/vid
- 最近回顾了一下java继承中的问题,下面贴代码:public class Base {protected String temp = &qu
- fifter、servlet、interceptorfifter用来处理请求头、请求参数、编码的一些设置,然后转交给servlet,处理业务
- 选择排序:(Selection sort)是一种简单直观的排序算法,也是一种不稳定的排序方法。选择排序的原理一组无序待排数组,做升序排序,我
- 一. 项目需求我们做项目的时候,数据量比较大,单表千万级别的,需要分库分表,于是在网上搜索这方面的开源框架,最常见的就是mycat,shar
- 前言:this 和 super 都是 Java 中常见的关键字,虽然二者在很多情况下都可以被省略,但它们在 Java 中所起的作用是不可磨灭
- 由Lombok的@AllArgsConstructor注解引发的错误需求:在Service实现中写了一个方法调用第三方接口同步数据。 功能代