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


猜你喜欢
- 熟知:什么是传感器: 所谓传感器能够探测如光、热、温度、重力、方向 等等的功能!Androi
- 斗地主小游戏之洗牌发牌任务描述编写一个斗地主发牌洗牌的程序,要求按照斗地主的规则完成洗牌发牌的过程,牌面由花色色和数字(包括J,Q,K,A字
- 一:问题引入前面讲到用户支付完成之后微信支付服务器会发送回调通知给商户,商户要能够正常处理这个回调通知并返回正确的状态码给微信支付后台服务器
- 本文介绍在使用C#开发WinForm程序时,如何使用自定义的XML配置文件。虽然也可以使用app.config,但命名方面很别扭。我们在使用
- 实验目的在C#和Rest/Restful以及其它的Web服务交互过程中,大量使用到JSON传递数据,如何快捷的转化C#对象到JSON和转化J
- 本文实例讲述了java用接口、多态、继承、类计算三角形和矩形周长及面积的方法。分享给大家供大家参考。具体如下:定义接口规范:/** * @
- 本文实例为大家分享了Spring MVC接口防数据篡改和重复提交的具体代码,供大家参考,具体内容如下一、自定义一个注解,此注解可以使用在方法
- 为什么不用SQLite? 原因多种:除了面向对象和关系数据库之间的阻抗不匹配时,SQLite可能是矫枉过正(带来了更多的开销)对于一些简单的
- 目录1. SpringCloud特点2. 分布式系统的三个指标CAP3. Eureka4. SpringCloud Demo4.1 regi
- 本文实例为大家分享了java实现斗地主发牌系统的具体代码,供大家参考,具体内容如下玩家类package com.softeem.exampl
- 在Android中,Activity主要负责前台页面的展示,Service主要负责需要长期运行的任务,所以在我们实际开发中,就会常常遇到Ac
- 本文实例为大家分享了Android实现声音采集回声与回声消除的具体代码,供大家参考,具体内容如下一、回声产生的原因回声(或称回音)是指障碍物
- 标准函数with与run和apply with函数with函数接收两个参数:第一个参数可以是任意类型的对象,第二个参数是一个Lambda表达
- 在程序运行中经常需要对数据进行对比显示,其中使用柱状图显示非常直观,可以更显著的比较出数据量的走势。下面介绍在C#中柱状图的制作方法:1、方
- 咱们废话不多说进入主题、系统主页展示:用户登录后进行系统首页:主要功能模块如下、分角色管理、超级管理员拥有最高权限、可以进行菜单灵活控制、用
- 本文实例为大家分享了Android实现京东上滑效果的具体代码,供大家参考,具体内容如下前言:现在很多app首页的结构都有头部广告,上滑固定t
- 从相册或拍照更换图片功能的实现:(取图无裁剪功能)获取图片方式: (类似更换头像的效果)1、手机拍照 选择图片;2、相册选取图片;本文只是简
- 获取最新插入数据的id原始方法读取最后一条的插入数据,但这样会造成如果两条数据同时插入,会并发出现错误SELECT * FROM admin
- 很多C#的教材都会强调对象相等的概念。我们都知道,在C#的世界里存在两种等同性。一种是逻辑等同性:如果两个对象在逻辑上代表同样的值,则称他们
- Android 7.0调用相机崩溃解决办法 错误提示:android.os.FileUriExposedException: fi