mybatis 详解(三)------入门实例(基于注解)
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.在 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 ...
- HarmonyOS开发详解(二)——鸿蒙开发体系详解及入门实例演示运行
本篇文章的计划,先体系的介绍一下鸿蒙开发相关的体系内容,希望通过本篇内容构建对鸿蒙开发体系的了解,最后再来一个最简单入门例子.既是自我的学习,也希望对你了解鸿蒙开发的全貌有帮助. 这样安排而没有直接写 ...
- java method 注解_JAVA 注解详解及简单实例
JAVA 注解详解及简单实例 何为注解 注解(Annotation)又称为元数据,在JDK1.5后引入,它的作用是: 生成文档 这是注解的原始用途,可以通过注解生成JavaDoc文档 跟踪代码的依赖 ...
- linux 进程间通信 dbus-glib【实例】详解三 数据类型和dteeth(类型签名type域)(层级结构:服务Service --> Node(对象、object) 等 )(附代码)
linux 进程间通信 dbus-glib[实例]详解一(附代码)(d-feet工具使用) linux 进程间通信 dbus-glib[实例]详解二(上) 消息和消息总线(附代码) linux 进程间 ...
- Redis主从复制详解(入门教程)
文章目录 概念 环境配置 一主二从 配置 测试 复制原理 哨兵模式 概述 测试 哨兵模式全部配置 以下是Redis相关笔记总结,方便自己以后复习,同时也希望对大家有所帮助. 内容 地址链接 Redis ...
- PackageManagerService启动详解(三)之开始初始化阶段流程分析
PKMS启动详解(三)之BOOT_PROGRESS_PMS_START阶段流程分析 Android PackageManagerService系列博客目录: PKMS启动详解系列博客概要 PKMS ...
- STM32 CAN通信协议详解—小白入门(二)
文章目录 (一)CAN通信协议简介 (二)CAN物理层 2.1.闭环总线网络2.2.开环总线网络2.3.通信节点2.4.差分信号2.5.CAN协议的差分信号 (三)协议层 3.1.CAN的波特率及位同 ...
- P2P技术详解(三):P2P技术之STUN、TURN、ICE详解
本文是<P2P理论详解>系列文章中的第2篇,总目录如下: <P2P技术详解(一):NAT详解--详细原理.P2P简介> <P2P技术详解(二):P2P中的NAT穿越(打洞 ...
- JVM虚拟机详解(三)类加载器的分类
JVM虚拟机详解(三)类加载器的分类 1. 类加载器概述 JVM严格来讲支持两种类型的类加载器 .分别为引导类加载器(Bootstrap ClassLoader)和自定义类加载器(User-Defin ...
最新文章
- gin获取路径中的参数
- 开机后台运行jupyter_手机重启=关机再开机?原来差别竟这么大,很多人都不知道!...
- 如何系统性掌握深度学习中的数据使用
- oracle定时任务(dbms_job)
- Numpy中求向量和矩阵的范数
- [leetcode] 160.相交链表
- 投影仪幕布增益_当贝投影带你看投影仪使用幕布和白墙的区别实测!
- ubuntu自动加载硬盘分区
- zul页面报org.xml.sax.SAXParseException
- 解决打印机问题的方法
- 东南大学计算机考研代码,东南大学代码_东南大学专业代码_2021东南大学招生代码,报考代码...
- 项目进度管理-活动历时估算工具技术:三点估算
- excel合并两列内容_技巧不求人169期 Excel打印最常用的8大技巧 Excel合并多表数据...
- 可疑的 Box 操作
- windows10更新怎么关闭
- 时光金科php_发布中国首个社区敬老宣言,共敬美好岁月-金科全国首届重阳敬老节温暖落幕...
- FreeRTOS-CortexM4-相关函数说明
- ubuntu14.04编译ijkplayer备忘
- 写一个判断素数的函数(isprime),在主函数输入一个正整数,输出是否是素数的信息。提示:int main(){int x=23; if (isprime(x)) print
- 导购提成怎么算_小公司怎么给销售算提成才合理?