其他代码访问:Mybatis注解开发基础操作

1.添加OrderMapper接口

  1. public interface OrderMapper {
  2. // @Select("select *,o.id oid from orders o,user u where o.uid=u.id")
  3. // @Results({
  4. // @Result(column = "oid",property = "id"),
  5. // @Result(column = "ordertime",property = "ordertime"),
  6. // @Result(column = "uid",property = "user.id"),
  7. // @Result(column = "username",property = "user.username"),
  8. // @Result(column = "password",property = "user.password")
  9. // })
  10. // public List<Order> findAll();
  11. @Select("select * from orders")
  12. @Results({
  13. @Result(column = "oid",property = "id"),
  14. @Result(column = "ordertime",property = "ordertime"),
  15. @Result(column = "total",property = "total"),
  16. @Result(
  17. property = "user",//要封装的属性名称
  18. column = "uid", //根据哪个字段进行查询User表的字段
  19. javaType = User.class,//要封装的实体类型
  20. //select属性,代表查询查询哪个接口方法获得数据
  21. one = @One(select ="com.hao.mapper.UserMapper.findById")
  22. )
  23. })
  24. public List<Order> findAll();
  25. }

2.测试

  1. public class MapperTest2 {
  2. private OrderMapper orderMapper;
  3. @Before
  4. public void before() throws IOException {
  5. InputStream stream = Resources.getResourceAsStream("SqlMapConfig.xml");
  6. SqlSessionFactory build = new SqlSessionFactoryBuilder().build(stream);
  7. SqlSession sqlSession = build.openSession(true);
  8. orderMapper = sqlSession.getMapper(OrderMapper.class);
  9. }
  10. @Test
  11. public void testFindAll(){
  12. List<Order> list = orderMapper.findAll();
  13. for (Order order : list) {
  14. System.out.println(order);
  15. }
  16. }
  17. }

测试结果:
Order{id=0, ordertime=Wed Dec 12 08:00:00 CST 2018, total=3000.0, user=User{id=1, username=‘lucy’, password=‘123’, birthday=Wed Dec 12 08:00:00 CST 2018}}
Order{id=0, ordertime=Wed Dec 12 08:00:00 CST 2018, total=4000.0, user=User{id=1, username=‘lucy’, password=‘123’, birthday=Wed Dec 12 08:00:00 CST 2018}}
Order{id=0, ordertime=Wed Dec 12 08:00:00 CST 2018, total=5000.0, user=User{id=2, username=‘dou’, password=‘bi’, birthday=null}}

Mybatis注解开发(一对一)的更多相关文章

  1. 阶段3 1.Mybatis_12.Mybatis注解开发_6 mybatis注解开发一对一的查询配置

    新建Account实体类 生成getter和setter还有toString方法 先创建dao类 全局的配置,这里要改成package 创建多对一的关系 在查询的时候输出user这个对象的内容 建立查 ...

  2. mybatis学习:mybatis注解开发一对一的查询配置

    实体类: public class Account { private Integer id; private Integer uid; private Double money; private U ...

  3. Mybatis注解开发多表一对一,一对多

    Mybatis注解开发多表一对一,一对多 一对一 示例:帐户和用户的对应关系为,多个帐户对应一个用户,在实际开发中,查询一个帐户并同时查询该账户所属的用户信息,即立即加载且在mybatis中表现为一对 ...

  4. 【MyBatis】MyBatis 注解开发

    MyBatis 注解开发 文章源码 环境搭建 Mybatis 也可以使用注解开发方式,这样就可以减少编写 Mapper 映射文件. 常用注解说明: @Insert 实现新增 @Update 实现更新 ...

  5. Mybatis高级:Mybatis注解开发单表操作,Mybatis注解开发多表操作,构建sql语句,综合案例学生管理系统使用接口注解方式优化

    知识点梳理 课堂讲义 一.Mybatis注解开发单表操作 *** 1.1 MyBatis的常用注解 之前我们在Mapper映射文件中编写的sql语句已经各种配置,其实是比较麻烦的 而这几年来注解开发越 ...

  6. 【java框架】MyBatis(7)--MyBatis注解开发

    1.MyBatis注解开发 1.1.Lombok的基本使用 Lombok是SpringBoot2.1.X版本与IDEA官方支持的一个插件,它是为简化POJO类中繁杂重复代码:geter/setter/ ...

  7. Mybatis注解开发模糊查询

    Mybatis注解开发模糊查询 一般在使用mybatis时都是采用xml文件保存sql语句 这篇文章讲一下在使用mybatis的注解开发时,如何进行模糊查询 模糊查询语句写法(在@Select注解中) ...

  8. 小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_3-2.使用Mybatis注解开发视频列表增删改查

    笔记 2.使用Mybatis注解开发视频列表增删改查     讲解:使用Mybatis3.x注解方式 增删改查实操, 控制台打印sql语句              1.控制台打印sql语句      ...

  9. Spring Boot 使用Mybatis注解开发增删改查

    使用逆向工程是遇到的错误 错误描述 org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): c ...

随机推荐

  1. Linux上搭建meterSphere

    镜像下载.域名解析.时间同步请点击 阿里云开源镜像站 一.安装Docker (1)安装CentOS Docker curl -fsSL https://get.docker.com | bash -s ...

  2. 同一局域网ping ip 失败(可能是你的路由器坑了你)

    事件起源:手机需要通过fiddler代理抓包 一顿操作猛如虎,手机输入ip+端口,芭比q了,连接不上.. 解决思路: 一.保证双方处于同一局域网内 二.查看电脑配置,找到 防火墙,关闭防火墙,再试 三 ...

  3. Git 、运算符一 JAVA day10

    不知不觉已是第十天学习,学习时时间往往过的很快.废话不多说进入正题: 今天开始学习JAVA中的运算符 一.基本运算符 +,-,*,/.%:加.减.乘.除,余数 下面用IDEA来举例说明 基本运算符 p ...

  4. bzoj3144 [HNOI2013]切糕(最小割)

    bzoj3144 [HNOI2013]切糕(最小割) bzoj Luogu 题面描述见上 题解时间 一开始我真就把这玩意所说的切面当成了平面来做的 事实上只是说相邻的切点高度差都不超过 $ d $ 对 ...

  5. 一个lseek引起的思考

    先看一段代码: int find_value(int fd) { int ret; char buff[8] = ""; struct timeval st,ed; long lo ...

  6. 运行 Spring Boot 有哪几种方式?

    打包用命令或者放到容器中运行用 Maven/ Gradle 插件运行直接执行 main 方法运行

  7. Mock 或 Stub 有什么区别?

    存根 一个有助于运行测试的虚拟对象. 在某些可以硬编码的条件下提供固定行为. 永远不会测试存根的任何其他行为. 例如,对于空堆栈,您可以创建一个只为 empty()方法返回 true 的存根.因此, ...

  8. java-file类 hei

    File类 /* java.io.File类 文件和目录轮径的抽象形式 java把电脑种的文件和文件夹,封装为一个file类,我们可以使用file类对文件和文件夹进行曹祖 使用File类的方法 创建一 ...

  9. 杭电OJ 1248 不死族巫妖王 完全背包问题 字节跳动 研发岗编程原题

    转载至:https://blog.csdn.net/ssdut_209/article/details/51557776 Problem Description不死族的巫妖王发工资拉,死亡骑士拿到一张 ...

  10. Java 中应该使用什么数据类型来代表价格?

    如果不是特别关心内存和性能的话,使用 BigDecimal,否则使用预定义精度的 double 类型.