当前位置:   article > 正文

后端数据库开发JDBC编程Mybatis之用基于XML文件的方式映射SQL语句实操

后端数据库开发JDBC编程Mybatis之用基于XML文件的方式映射SQL语句实操

之前的SQL语句是基于注解

以后开发中一般是一个接口对应一个映射文件

书写映射文件

基本结构 框架

  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <!DOCTYPE mapper
  3. PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  4. "https://mybatis.org/dtd/mybatis-3-mapper.dtd">
  5. <mapper namespace="org.example.mybatis.mapper.UserMapper">
  6. </mapper>

完整形式

  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <!DOCTYPE mapper
  3. PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  4. "https://mybatis.org/dtd/mybatis-3-mapper.dtd">
  5. <!--复制引用-->
  6. <mapper namespace="org.example.mybatis.mapper.UserMapper">
  7. <!--查询操作-->
  8. <!--result 表示 单条记录封装类型的全类名-->
  9. <select id="list" resultType="org.example.mybatis.pojo.User">
  10. select * from emp
  11. where name like concat('%',#{name},'%')
  12. and gender = #{gender}
  13. and entrydate between #{begin} and #{end}
  14. order by update_time desc
  15. </select>
  16. </mapper>

Invalid bound statement (not found)

要保持resources目录的com.xxx.mapper和java目录下的com.xxx.mapper名称完全一致

血的教训是改了一天的bug发现mybatis拼写成了mabatis

  1. @Test
  2. public void testList() {
  3. List<User> userList = userMapper.list("张", (short) 1,
  4. LocalDate.of(2010, 1, 1),
  5. LocalDate.of(2020, 1, 1));
  6. System.out.println(userList);
  7. }
  1. package org.example.mybatis.mapper;
  2. import org.apache.ibatis.annotations.*;
  3. import org.example.mybatis.pojo.User;
  4. import java.time.LocalDate;
  5. import java.util.List;
  6. @Mapper//表示当前是Mybatis的一个接口 此时程序运行时框架会自动生成实现类对象(代理对象) 并交给spring的ioc容器
  7. public interface UserMapper {
  8. //根据xml配置文件查询
  9. public List<User> list(String name, Short gender ,LocalDate begin ,LocalDate end);
  10. }

通过映射 能通过写在mapper接口里的list方法

找到SQL语句

使用注解的方式 就不会出现这个问题

使用xml配置文件要分开写

映射上去

根据接口中方法名找到对应的接口方法

如果随意配置 就找不到了 这样调用mapper接口里的list方法就找不到了

插件

点击小鸟可以直接跳转

这样就能关联

这样我们就学习了基于注解的方式实现SQL 和 基于XML文件的方式实现SQL

使用注解映射简单的语句会使代码更加简洁

但是对于稍微复杂一点的语句 Java注解力不从心

因此 如果想实现稍微复杂一点的操作 最好用XML语句来映射语句

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/591971
推荐阅读
相关标签
  

闽ICP备14008679号