后端框架的学习----mybatis框架(7、使用注解开发)
7、使用注解开发
1、注解在接口上实现
/*** 查询用户*/@Select("select * from user")public List<User> getUsers();
2、需要在核心配置文件中绑定接口
<mappers><package name="com.zheng.Dao"/></mappers>
本质:反射机制实现
底层:动态代理
使用注解实现增删改查
1、接口
public interface UserMapper {/*** 查询用户*/@Select("select * from user")public List<User> getUsers();/*** 根据id查询用户*/@Select("select * from user where id=#{id}")public User selectUserById(@Param("id") String id);/*** 增加*/@Insert("insert into user (id,name,pwd) values (#{id},#{name},#{pwd})")public int addUser(User user);/*** 修改*/@Update("update user set name=#{name},pwd=#{pwd} where id=#{id}")public int update(User user);/*** 删除一个用户*/@Delete("delete from user where id=#{id}")public int deleteUser(String id);}2、测试
public class UserDaoTest {
@Test //查询所有的用户
public void test() {SqlSession sqlSession = MyBtaisUtil.getSqlSession();UserMapper mapper = sqlSession.getMapper(UserMapper.class);List<User> userList = mapper.getUsers();for (User user : userList) {System.out.println(user);}sqlSession.close();}@Test //根据id查询用户
public void selectUserById(){SqlSession sqlSession = MyBtaisUtil.getSqlSession();UserMapper user = sqlSession.getMapper(UserMapper.class);User user1 = user.selectUserById("1");if(user1!=null){System.out.println(user1);}else{System.out.println("查询失败");}sqlSession.close();}@Test //增加用户
public void addUser(){SqlSession sqlSession = MyBtaisUtil.getSqlSession();UserMapper mapper = sqlSession.getMapper(UserMapper.class);int res= mapper.addUser(new User("3","老刘","999"));if(res>0){System.out.println("增加成功!!!");}else{System.out.println("增加失败");}sqlSession.close();
}@Test //修改用户
public void updateUser(){SqlSession sqlSession = MyBtaisUtil.getSqlSession();UserMapper mapper = sqlSession.getMapper(UserMapper.class);int res = mapper.update(new User("3", "范梦涵", "1234567"));if(res>0){System.out.println("修改成功");}else {System.out.println("修改失败!!!");}sqlSession.close();
}@Test //删除用户
public void deleteUser(){SqlSession sqlSession = MyBtaisUtil.getSqlSession();UserMapper mapper = sqlSession.getMapper(UserMapper.class);int res = mapper.deleteUser("3");if(res>0){System.out.println("删除成功!!!");}else{System.out.println("提交失败");}sqlSession.close();
}
}
注意
我们可以在工具类创建的时候实现自动提交事务
测试类
【注意:我们必须要将接口注册绑定到我们的核心配置文件中】关于@Param()注解
基本类型的参数或者String类型,需要加上
引用类型不需要加
如果只有一个基本类型的话,可以忽略,但是建议大家都加上
我们在SQL中引用的就是我们这里的@Param()中设定的属性名
后端框架的学习----mybatis框架(7、使用注解开发)相关推荐
- 深入学习Mybatis框架(二)- 进阶
1.动态SQL 1.1 什么是动态SQL? 动态SQL就是通过传入的参数不一样,可以组成不同结构的SQL语句. 这种可以根据参数的条件而改变SQL结构的SQL语句,我们称为动态SQL语句.使用动态SQ ...
- [转载] 快速学习-Mybatis框架概述
参考链接: Java在竞争性编程中的快速I/O 第1章 框架概述 1.1 什么是框架 1.1.1 什么是框架 框架(Framework)是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互 ...
- mybatis plus 事务管理器_学习MyBatis 框架
1. 框架是什么? a 框架就就是写好的功能架构 一些重复的代码的深度的封装 b 框架也是一个半成品 调用同时 也需要告诉框架一些信息 c一般以配置文件方式告知框架 多数会使用Xml作为框架的配置文件 ...
- java day53【 Mybatis框架概述 、 Mybatis 框架快速入门、自定义 Mybatis 框架 】
第1章 框架概述 1.1 什么是框架 1.1.1 什么是框架 框架(Framework)是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法;另一种 定义认为,框架是可被应用开发者定 ...
- 如何自学php框架,如何学习php框架
原标题:如何学习php框架 PHP作为网络开发的强大语言之一,现在应用非常广泛,主要运用于中小型企业.具有开放源代码,跨平台性强,开发快捷,效率高,面向对象,并且简单易学,容易于上手,并且是开源产品. ...
- MyBatis复习(十):注解开发
MyBatis有两种开发方式:XML开发和注解开发 注解与XML对应表格 注解 对应XML 说明 @Insert <insert> 新增SQL @Update <update> ...
- MyBatis(三)--注解开发
1 注解开发介绍 1.1 为什么要有注解开发 注解可以简化开发操作,省略映射配置文件的编写 1.2 常用的注解 @Insert("查询的SQL语句"):实现新增操作 @Update ...
- 黑马程序员视频教程学习mybatis框架常用注释SQL语句学习笔记?
mybatis学习笔记 常用注释增删改查SQL语句 常用注释拓展SQL语句 解决实体类属性和数据库表中的属性名称不相同的问题: mybatis注解之一对一查询: mybatis注解之一对多查询: my ...
- 【java学习之路】(java框架)005.mybatis框架整合及逆向工厂
03mybatis框架整合及逆向工厂 1.三大框架整合 在老期的项目中,一般都是使用ssm项目做开发的,虽然现在的主流开发是springboot来做开发,但是ssm的基本整合还是需要掌握的. 1. ...
最新文章
- 鸿蒙系统手机用户体验,鸿蒙系统真的来了!用户体验流畅度远超安卓,任正非扳回一城!...
- python中da_Python中字符的编码与解码
- mycat mysql ha 方案_7、基于 HA 机制的 Mycat 高可用--mycat
- MongoDB C#:DateTimeOffset到BsonType DateTime的序列化程序
- Behavior Language Processing with Graph based Feature Generation for Fraud DetectioninOnline Lending
- activity 点击后传递数据给fragment_ViewModel+LiveData实现Fragment间通信
- 两个字符串 char* a, char* b,输出b在a中的位置次序。
- 20165333 2017-2018-2《Java程序设计》课程总结
- 计算机仿真是北大核心期刊,计算机仿真 北大核心期刊统计源期刊 CSCD核心期刊...
- KafkaConsumer实现精确的latest(结尾)开始消费
- java生成chk文件_java web实现在线编辑word,并将word导出(一)
- Boolean中0与1的转化
- GIthub上关于新冠肺炎数据整理的项目汇总
- node启动之后内存占用过高解决方案
- 关于性能测试中使用物理机和虚拟机的区别
- java tpl文件_解决Layui tpl模板渲染文件上传不起作用
- QQ小程序——无法正常创建项目与uniapp联动问题
- Git入门教程之注册(一)
- 最新Java开发进阶!我的华为面试经历分享,请查收
- 陶哲轩career advice 翻译