1、创建MySQL数据库:mybatisDemo和表:user

  详情参考:mybatis 详解(二)------入门实例(基于XML) 一致

2、建立一个Java工程,并导入相应的jar包,具体目录如下

  详情参考:mybatis 详解(二)------入门实例(基于XML) 一致

3、在 MyBatisTest 工程中添加数据库配置文件 mybatis-configuration.xml

  详情参考:mybatis 详解(二)------入门实例(基于XML) 一致

4、定义表所对应的实体类

  详情参考:mybatis 详解(二)------入门实例(基于XML) 一致

5、定义操作 user 表的注解接口 UserMapper.java

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
package com.ys.annocation;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;
import com.ys.po.User;
public interface UserMapper {
    //根据 id 查询 user 表数据
    @Select("select * from user where id = #{id}")
    public User selectUserById(int id) throws Exception;
    //向 user 表插入一条数据
    @Insert("insert into user(username,sex,birthday,address) value(#{username},#{sex},#{birthday},#{address})")
    public void insertUser(User user) throws Exception;
     
    //根据 id 修改 user 表数据
    @Update("update user set username=#{username},sex=#{sex} where id=#{id}")
    public void updateUserById(User user) throws Exception;
     
    //根据 id 删除 user 表数据
    @Delete("delete from user where id=#{id}")
    public void deleteUserById(int id) throws Exception;
     
}

  

6、向 mybatis-configuration.xml 配置文件中注册 UserMapper.java 文件

  

1
2
3
<mappers>
       <mapper class="com.ys.annocation.UserMapper"/>
</mappers>

  

7、创建测试类

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
package com.ys.test;
import java.io.InputStream;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.Before;
import org.junit.Test;
import com.ys.annocation.UserMapper;
import com.ys.po.User;
public class UserAnnocationTest {
    //定义 SqlSession
    SqlSession session =null;
     
    @Before
    public void init(){
        //定义mybatis全局配置文件
        String resource = "mybatis-configuration.xml";
        //加载 mybatis 全局配置文件
        InputStream inputStream = CRUDTest.class.getClassLoader()
                                    .getResourceAsStream(resource);
        //构建sqlSession的工厂
        SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
        //根据 sqlSessionFactory 产生 session
        session = sessionFactory.openSession();
    }
     
    //注解的增删改查方法测试
    @Test
    public void testAnncationCRUD() throws Exception{
        //根据session获取 UserMapper接口
        UserMapper userMapper = session.getMapper(UserMapper.class);
        //调用selectUserById()方法
        User user = userMapper.selectUserById(1);
        System.out.println(user);
         
        //调用  insertUser() 方法
        User user1 = new User();
        user1.setUsername("aliks");
        user1.setSex("不详");
        userMapper.insertUser(user1);
         
        //调用 updateUserById() 方法
        User user2 = new User();
        user2.setId(6);
        user2.setUsername("lbj");
        userMapper.updateUserById(user2);
         
        //调用 () 方法
        userMapper.deleteUserById(6);
         
        session.commit();
        session.close();
    }
}

注意:注解配置我们不需要 userMapper.xml 文件了 

转载于:https://www.cnblogs.com/xiashenbin/p/7363434.html

mybatis 详解(三)------入门实例(基于注解)相关推荐

  1. 三、入门实例----基于注解

    项目结构为: 回到顶部 1.在 web.xml 文件中配置前端处理器 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 ...

  2. HarmonyOS开发详解(二)——鸿蒙开发体系详解及入门实例演示运行

    本篇文章的计划,先体系的介绍一下鸿蒙开发相关的体系内容,希望通过本篇内容构建对鸿蒙开发体系的了解,最后再来一个最简单入门例子.既是自我的学习,也希望对你了解鸿蒙开发的全貌有帮助. 这样安排而没有直接写 ...

  3. java method 注解_JAVA 注解详解及简单实例

    JAVA 注解详解及简单实例 何为注解 注解(Annotation)又称为元数据,在JDK1.5后引入,它的作用是: 生成文档  这是注解的原始用途,可以通过注解生成JavaDoc文档 跟踪代码的依赖 ...

  4. linux 进程间通信 dbus-glib【实例】详解三 数据类型和dteeth(类型签名type域)(层级结构:服务Service --> Node(对象、object) 等 )(附代码)

    linux 进程间通信 dbus-glib[实例]详解一(附代码)(d-feet工具使用) linux 进程间通信 dbus-glib[实例]详解二(上) 消息和消息总线(附代码) linux 进程间 ...

  5. Redis主从复制详解(入门教程)

    文章目录 概念 环境配置 一主二从 配置 测试 复制原理 哨兵模式 概述 测试 哨兵模式全部配置 以下是Redis相关笔记总结,方便自己以后复习,同时也希望对大家有所帮助. 内容 地址链接 Redis ...

  6. PackageManagerService启动详解(三)之开始初始化阶段流程分析

      PKMS启动详解(三)之BOOT_PROGRESS_PMS_START阶段流程分析 Android PackageManagerService系列博客目录: PKMS启动详解系列博客概要 PKMS ...

  7. STM32 CAN通信协议详解—小白入门(二)

    文章目录 (一)CAN通信协议简介 (二)CAN物理层 2.1.闭环总线网络2.2.开环总线网络2.3.通信节点2.4.差分信号2.5.CAN协议的差分信号 (三)协议层 3.1.CAN的波特率及位同 ...

  8. P2P技术详解(三):P2P技术之STUN、TURN、ICE详解

    本文是<P2P理论详解>系列文章中的第2篇,总目录如下: <P2P技术详解(一):NAT详解--详细原理.P2P简介> <P2P技术详解(二):P2P中的NAT穿越(打洞 ...

  9. JVM虚拟机详解(三)类加载器的分类

    JVM虚拟机详解(三)类加载器的分类 1. 类加载器概述 JVM严格来讲支持两种类型的类加载器 .分别为引导类加载器(Bootstrap ClassLoader)和自定义类加载器(User-Defin ...

最新文章

  1. gin获取路径中的参数
  2. 开机后台运行jupyter_手机重启=关机再开机?原来差别竟这么大,很多人都不知道!...
  3. 如何系统性掌握深度学习中的数据使用
  4. oracle定时任务(dbms_job)
  5. Numpy中求向量和矩阵的范数
  6. [leetcode] 160.相交链表
  7. 投影仪幕布增益_当贝投影带你看投影仪使用幕布和白墙的区别实测!
  8. ubuntu自动加载硬盘分区
  9. zul页面报org.xml.sax.SAXParseException
  10. 解决打印机问题的方法
  11. 东南大学计算机考研代码,东南大学代码_东南大学专业代码_2021东南大学招生代码,报考代码...
  12. 项目进度管理-活动历时估算工具技术:三点估算
  13. excel合并两列内容_技巧不求人169期 Excel打印最常用的8大技巧 Excel合并多表数据...
  14. 可疑的 Box 操作
  15. windows10更新怎么关闭
  16. 时光金科php_发布中国首个社区敬老宣言,共敬美好岁月-金科全国首届重阳敬老节温暖落幕...
  17. FreeRTOS-CortexM4-相关函数说明
  18. ubuntu14.04编译ijkplayer备忘
  19. 写一个判断素数的函数(isprime),在主函数输入一个正整数,输出是否是素数的信息。提示:int main(){int x=23; if (isprime(x)) print
  20. 导购提成怎么算_小公司怎么给销售算提成才合理?

热门文章

  1. Mysql中Event的一些测试
  2. Power Pivot表属性无法切换回表预览模式的问题
  3. nagios监控windows主机 linux主机
  4. python爬虫bs4_Python爬虫系列-Xpath自如和bs4链家
  5. MATLAB学习笔记(七)
  6. go 写文件_Pythonista 的 Go 之旅
  7. RocketMQ(五)——工作原理
  8. q超级会员都有什么鸿蒙,超级会员+豪华绿钻,超值四开!
  9. 信道模型多径传播阴影衰落——无线接入与定位(2)
  10. redis 命令别名_【死磕 Redis】 哨兵(一):部署哨兵架构