MyBatis 查询数据库

打印 上一主题 下一主题

主题 573|帖子 573|积分 1719

文章目录



1. 什么是MyBatis

   MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。
 
MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。
 
MyBatis 可以通过简单的 XML注解 来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。
  用一句简单的话来概述: MyBatis 是更简单完成程序和数据库交互的工具MyBatis 是更简单的操作和读取数据库工具
2. 配置 MyBatis 的开发环境


2.1 准备工作, 创建数据库和表

  1. create database if not exists MyBlogSystem;
  2. use MyBlogSystem;
  3. drop table if exists blog;
  4. -- 创建一个博客表
  5. create table blog (
  6. <?xml version="1.0" encoding="UTF-8"?>
  7. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  8.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  9. <mapper namespace="com.example.demo.mapper.UserMapper">
  10.    
  11. </mapper>blogId int primary key auto_increment,
  12. <?xml version="1.0" encoding="UTF-8"?>
  13. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  14.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  15. <mapper namespace="com.example.demo.mapper.UserMapper">
  16.    
  17. </mapper>title varchar(1024),
  18. <?xml version="1.0" encoding="UTF-8"?>
  19. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  20.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  21. <mapper namespace="com.example.demo.mapper.UserMapper">
  22.    
  23. </mapper>content mediumtext,
  24. <?xml version="1.0" encoding="UTF-8"?>
  25. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  26.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  27. <mapper namespace="com.example.demo.mapper.UserMapper">
  28.    
  29. </mapper>postTime datetime,
  30. <?xml version="1.0" encoding="UTF-8"?>
  31. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  32.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  33. <mapper namespace="com.example.demo.mapper.UserMapper">
  34.    
  35. </mapper>userId int
  36. );
  37. drop table if exists user;
  38. -- 创建一个用户信息表
  39. create table user (
  40. <?xml version="1.0" encoding="UTF-8"?>
  41. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  42.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  43. <mapper namespace="com.example.demo.mapper.UserMapper">
  44.    
  45. </mapper>userId int primary key auto_increment,
  46. <?xml version="1.0" encoding="UTF-8"?>
  47. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  48.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  49. <mapper namespace="com.example.demo.mapper.UserMapper">
  50.    
  51. </mapper>username varchar(128) unique,
  52. <?xml version="1.0" encoding="UTF-8"?>
  53. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  54.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  55. <mapper namespace="com.example.demo.mapper.UserMapper">
  56.    
  57. </mapper>password varchar(128)
  58. );
复制代码
2.2 添加 MyBatis 依赖

  1.                 <dependency>
  2.                         <groupId>org.mybatis.spring.boot</groupId>
  3.                         <artifactId>mybatis-spring-boot-starter</artifactId>
  4.                         <version>2.2.2</version>
  5.                 </dependency>
  6.                 <dependency>
  7.                         <groupId>mysql</groupId>
  8.                         <artifactId>mysql-connector-java</artifactId>
  9.                         <scope>runtime</scope>
  10.                 </dependency>
复制代码

2.3 配置连接字符串和 MyBatis

2.3.1 配置数据库连接信息

  1. spring.datasource.url=jdbc:mysql://localhost:3306/MyBlogSystem?characterEncoding=utf8&useSSL=true
  2. spring.datasource.username=root
  3. spring.datasource.password=root
  4. spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
复制代码
2.3.2 配置 MyBatis 中的 XML 路径

配置 mybatis 的文件路径, 在 resources/mapper 创建所有表的xml文件
  1. mybatis.mapper-locations=classpath:mapper/**Mapper.xml
复制代码
这里必须要一样

2.4 添加代码

2.4.1 添加实体类

添加用户的实体类
  1. @Getter
  2. @Setter
  3. @ToString
  4. public class User {
  5. <?xml version="1.0" encoding="UTF-8"?>
  6. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  7.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  8. <mapper namespace="com.example.demo.mapper.UserMapper">
  9.    
  10. </mapper>public int userId;
  11. <?xml version="1.0" encoding="UTF-8"?>
  12. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  13.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  14. <mapper namespace="com.example.demo.mapper.UserMapper">
  15.    
  16. </mapper>public String username;
  17. <?xml version="1.0" encoding="UTF-8"?>
  18. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  19.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  20. <mapper namespace="com.example.demo.mapper.UserMapper">
  21.    
  22. </mapper>public String password;
  23. }
复制代码
2.4.2 添加 mapper 接口

  1. @Mapper
  2. public interface UserMapper {
  3. <?xml version="1.0" encoding="UTF-8"?>
  4. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  5.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  6. <mapper namespace="com.example.demo.mapper.UserMapper">
  7.    
  8. </mapper>List<User> getAll();
  9. }
复制代码
2.4.3 添加 UserMapper.xml

固定的xml格式
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  3.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  4. <mapper namespace="com.example.demo.mapper.UserMapper">
  5.    
  6. </mapper>
复制代码
这里的 UserMapper.xml
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  3.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  4. <mapper namespace="com.example.demo.mapper.UserMapper">
  5.    
  6. </mapper><?xml version="1.0" encoding="UTF-8"?>
  7. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  8.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  9. <mapper namespace="com.example.demo.mapper.UserMapper">
  10.    
  11. </mapper><?xml version="1.0" encoding="UTF-8"?>
  12. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  13.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  14. <mapper namespace="com.example.demo.mapper.UserMapper">
  15.    
  16. </mapper>select * from user;<?xml version="1.0" encoding="UTF-8"?>
  17. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  18.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  19. <mapper namespace="com.example.demo.mapper.UserMapper">
  20.    
  21. </mapper>
复制代码
2.4.4 添加 Service

  1. @Servicepublic class UserService {<?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  3.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  4. <mapper namespace="com.example.demo.mapper.UserMapper">
  5.    
  6. </mapper>// 记得要注入<?xml version="1.0" encoding="UTF-8"?>
  7. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  8.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  9. <mapper namespace="com.example.demo.mapper.UserMapper">
  10.    
  11. </mapper>@Resource<?xml version="1.0" encoding="UTF-8"?>
  12. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  13.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  14. <mapper namespace="com.example.demo.mapper.UserMapper">
  15.    
  16. </mapper>private UserMapper userMapper;<?xml version="1.0" encoding="UTF-8"?>
  17. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  18.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  19. <mapper namespace="com.example.demo.mapper.UserMapper">
  20.    
  21. </mapper>public List getAll() {<?xml version="1.0" encoding="UTF-8"?>
  22. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  23.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  24. <mapper namespace="com.example.demo.mapper.UserMapper">
  25.    
  26. </mapper><?xml version="1.0" encoding="UTF-8"?>
  27. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  28.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  29. <mapper namespace="com.example.demo.mapper.UserMapper">
  30.    
  31. </mapper>return userMapper.getAll();<?xml version="1.0" encoding="UTF-8"?>
  32. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  33.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  34. <mapper namespace="com.example.demo.mapper.UserMapper">
  35.    
  36. </mapper>}}
复制代码
2.4.5 添加 Controller

  1. // 这里的 @RestController 相当于 @Controller + @ResponseBody@RestController@RequestMapping("/user")public class UserController3 {<?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  3.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  4. <mapper namespace="com.example.demo.mapper.UserMapper">
  5.    
  6. </mapper>@Autowired<?xml version="1.0" encoding="UTF-8"?>
  7. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  8.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  9. <mapper namespace="com.example.demo.mapper.UserMapper">
  10.    
  11. </mapper>private UserService userService;<?xml version="1.0" encoding="UTF-8"?>
  12. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  13.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  14. <mapper namespace="com.example.demo.mapper.UserMapper">
  15.    
  16. </mapper><?xml version="1.0" encoding="UTF-8"?>
  17. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  18.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  19. <mapper namespace="com.example.demo.mapper.UserMapper">
  20.    
  21. </mapper>@RequestMapping("/getall")<?xml version="1.0" encoding="UTF-8"?>
  22. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  23.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  24. <mapper namespace="com.example.demo.mapper.UserMapper">
  25.    
  26. </mapper>public List getAll() {<?xml version="1.0" encoding="UTF-8"?>
  27. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  28.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  29. <mapper namespace="com.example.demo.mapper.UserMapper">
  30.    
  31. </mapper><?xml version="1.0" encoding="UTF-8"?>
  32. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  33.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  34. <mapper namespace="com.example.demo.mapper.UserMapper">
  35.    
  36. </mapper>return userService.getAll();<?xml version="1.0" encoding="UTF-8"?>
  37. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  38.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  39. <mapper namespace="com.example.demo.mapper.UserMapper">
  40.    
  41. </mapper>}}
复制代码
2.4.6 测试代码


2.5 注意事项

   

  • 注意配置文件中的mapper配置和mapper文件夹的对应
  • UserMapper.xml 这里需要一些路径对应, 以及id格式对应 , 这里的resultType是返回的类型.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.demo.mapper.UserMapper">
   
</mapper>

  • 按照业务规定流程写代码

  3. MyBatis 的增删改查操作.

3.1 增加操作

   步骤:
  

  • 添加 实体类(这里有了就不需要添加了)
  • 添加 controller
  • 添加 service
  • 添加 mapper 接口
  • 添加 xml
  ① 添加 controller 实现代码
  1. @RestController@RequestMapping("/user")public class UserController3 {<?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  3.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  4. <mapper namespace="com.example.demo.mapper.UserMapper">
  5.    
  6. </mapper>@Autowired<?xml version="1.0" encoding="UTF-8"?>
  7. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  8.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  9. <mapper namespace="com.example.demo.mapper.UserMapper">
  10.    
  11. </mapper>private UserService userService;<?xml version="1.0" encoding="UTF-8"?>
  12. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  13.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  14. <mapper namespace="com.example.demo.mapper.UserMapper">
  15.    
  16. </mapper>@RequestMapping("/insert")<?xml version="1.0" encoding="UTF-8"?>
  17. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  18.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  19. <mapper namespace="com.example.demo.mapper.UserMapper">
  20.    
  21. </mapper>public Integer insert(User user) {<?xml version="1.0" encoding="UTF-8"?>
  22. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  23.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  24. <mapper namespace="com.example.demo.mapper.UserMapper">
  25.    
  26. </mapper><?xml version="1.0" encoding="UTF-8"?>
  27. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  28.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  29. <mapper namespace="com.example.demo.mapper.UserMapper">
  30.    
  31. </mapper>return userService.insert(user);<?xml version="1.0" encoding="UTF-8"?>
  32. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  33.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  34. <mapper namespace="com.example.demo.mapper.UserMapper">
  35.    
  36. </mapper>}}
复制代码
② 添加 service 实现代码
  1. @Servicepublic class UserService {<?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  3.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  4. <mapper namespace="com.example.demo.mapper.UserMapper">
  5.    
  6. </mapper>// 记得要注入<?xml version="1.0" encoding="UTF-8"?>
  7. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  8.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  9. <mapper namespace="com.example.demo.mapper.UserMapper">
  10.    
  11. </mapper>@Resource<?xml version="1.0" encoding="UTF-8"?>
  12. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  13.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  14. <mapper namespace="com.example.demo.mapper.UserMapper">
  15.    
  16. </mapper>private UserMapper userMapper;<?xml version="1.0" encoding="UTF-8"?>
  17. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  18.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  19. <mapper namespace="com.example.demo.mapper.UserMapper">
  20.    
  21. </mapper>public Integer insert(User user) {<?xml version="1.0" encoding="UTF-8"?>
  22. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  23.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  24. <mapper namespace="com.example.demo.mapper.UserMapper">
  25.    
  26. </mapper><?xml version="1.0" encoding="UTF-8"?>
  27. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  28.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  29. <mapper namespace="com.example.demo.mapper.UserMapper">
  30.    
  31. </mapper>return userMapper.insert();<?xml version="1.0" encoding="UTF-8"?>
  32. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  33.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  34. <mapper namespace="com.example.demo.mapper.UserMapper">
  35.    
  36. </mapper>}}
复制代码
③ 添加 mapper 接口
  1. @Mapperpublic interface UserMapper {<?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  3.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  4. <mapper namespace="com.example.demo.mapper.UserMapper">
  5.    
  6. </mapper>Integer insert();}
复制代码
④ 添加 xml
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  3.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  4. <mapper namespace="com.example.demo.mapper.UserMapper">
  5.    
  6. </mapper><?xml version="1.0" encoding="UTF-8"?>
  7. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  8.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  9. <mapper namespace="com.example.demo.mapper.UserMapper">
  10.    
  11. </mapper><?xml version="1.0" encoding="UTF-8"?>
  12. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  13.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  14. <mapper namespace="com.example.demo.mapper.UserMapper">
  15.    
  16. </mapper>insert into user values (null, #{username},#{password});<?xml version="1.0" encoding="UTF-8"?>
  17. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  18.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  19. <mapper namespace="com.example.demo.mapper.UserMapper">
  20.    
  21. </mapper>
复制代码
⑤ 测试代码


3.2 查找操作

   步骤:
  

  • 添加 实体类(这里有了就不需要添加了)
  • 添加 controller
  • 添加 service
  • 添加 mapper 接口
  • 添加 xml
  ① 添加 controller
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  3.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  4. <mapper namespace="com.example.demo.mapper.UserMapper">
  5.    
  6. </mapper>@RequestMapping("/getall")<?xml version="1.0" encoding="UTF-8"?>
  7. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  8.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  9. <mapper namespace="com.example.demo.mapper.UserMapper">
  10.    
  11. </mapper>public List getAll() {<?xml version="1.0" encoding="UTF-8"?>
  12. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  13.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  14. <mapper namespace="com.example.demo.mapper.UserMapper">
  15.    
  16. </mapper><?xml version="1.0" encoding="UTF-8"?>
  17. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  18.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  19. <mapper namespace="com.example.demo.mapper.UserMapper">
  20.    
  21. </mapper>return userService.getAll();<?xml version="1.0" encoding="UTF-8"?>
  22. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  23.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  24. <mapper namespace="com.example.demo.mapper.UserMapper">
  25.    
  26. </mapper>}
复制代码
② 添加 service
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  3.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  4. <mapper namespace="com.example.demo.mapper.UserMapper">
  5.    
  6. </mapper>@RequestMapping("/getall")<?xml version="1.0" encoding="UTF-8"?>
  7. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  8.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  9. <mapper namespace="com.example.demo.mapper.UserMapper">
  10.    
  11. </mapper>public List getAll() {<?xml version="1.0" encoding="UTF-8"?>
  12. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  13.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  14. <mapper namespace="com.example.demo.mapper.UserMapper">
  15.    
  16. </mapper><?xml version="1.0" encoding="UTF-8"?>
  17. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  18.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  19. <mapper namespace="com.example.demo.mapper.UserMapper">
  20.    
  21. </mapper>return userService.getAll();<?xml version="1.0" encoding="UTF-8"?>
  22. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  23.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  24. <mapper namespace="com.example.demo.mapper.UserMapper">
  25.    
  26. </mapper>}
复制代码
③ 添加 mapper 接口
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  3.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  4. <mapper namespace="com.example.demo.mapper.UserMapper">
  5.    
  6. </mapper>public List getAll() {<?xml version="1.0" encoding="UTF-8"?>
  7. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  8.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  9. <mapper namespace="com.example.demo.mapper.UserMapper">
  10.    
  11. </mapper><?xml version="1.0" encoding="UTF-8"?>
  12. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  13.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  14. <mapper namespace="com.example.demo.mapper.UserMapper">
  15.    
  16. </mapper>return userMapper.getAll();<?xml version="1.0" encoding="UTF-8"?>
  17. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  18.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  19. <mapper namespace="com.example.demo.mapper.UserMapper">
  20.    
  21. </mapper>}
复制代码
④ 添加 xml
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  3.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  4. <mapper namespace="com.example.demo.mapper.UserMapper">
  5.    
  6. </mapper><?xml version="1.0" encoding="UTF-8"?>
  7. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  8.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  9. <mapper namespace="com.example.demo.mapper.UserMapper">
  10.    
  11. </mapper><?xml version="1.0" encoding="UTF-8"?>
  12. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  13.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  14. <mapper namespace="com.example.demo.mapper.UserMapper">
  15.    
  16. </mapper>select * from user;<?xml version="1.0" encoding="UTF-8"?>
  17. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  18.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  19. <mapper namespace="com.example.demo.mapper.UserMapper">
  20.    
  21. </mapper>
复制代码
⑤ 测试代码

3.3 修改操作

   步骤:
  

  • 添加 实体类(这里有了就不需要添加了)
  • 添加 controller
  • 添加 service
  • 添加 mapper 接口
  • 添加 xml
  ① 添加controller
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  3.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  4. <mapper namespace="com.example.demo.mapper.UserMapper">
  5.    
  6. </mapper>@RequestMapping("/update")<?xml version="1.0" encoding="UTF-8"?>
  7. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  8.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  9. <mapper namespace="com.example.demo.mapper.UserMapper">
  10.    
  11. </mapper>public Integer update(Integer userId, String password) {<?xml version="1.0" encoding="UTF-8"?>
  12. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  13.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  14. <mapper namespace="com.example.demo.mapper.UserMapper">
  15.    
  16. </mapper><?xml version="1.0" encoding="UTF-8"?>
  17. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  18.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  19. <mapper namespace="com.example.demo.mapper.UserMapper">
  20.    
  21. </mapper>return userService.update(userId,password);<?xml version="1.0" encoding="UTF-8"?>
  22. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  23.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  24. <mapper namespace="com.example.demo.mapper.UserMapper">
  25.    
  26. </mapper>}
复制代码
② 添加 service
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  3.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  4. <mapper namespace="com.example.demo.mapper.UserMapper">
  5.    
  6. </mapper>public Integer update(Integer userId, String password) {<?xml version="1.0" encoding="UTF-8"?>
  7. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  8.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  9. <mapper namespace="com.example.demo.mapper.UserMapper">
  10.    
  11. </mapper><?xml version="1.0" encoding="UTF-8"?>
  12. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  13.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  14. <mapper namespace="com.example.demo.mapper.UserMapper">
  15.    
  16. </mapper>return userMapper.update(userId,password);<?xml version="1.0" encoding="UTF-8"?>
  17. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  18.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  19. <mapper namespace="com.example.demo.mapper.UserMapper">
  20.    
  21. </mapper>}
复制代码
③ 添加 mapper 接口
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  3.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  4. <mapper namespace="com.example.demo.mapper.UserMapper">
  5.    
  6. </mapper>Integer update(Integer userId, String password);
复制代码
④ 添加 xml
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  3.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  4. <mapper namespace="com.example.demo.mapper.UserMapper">
  5.    
  6. </mapper><?xml version="1.0" encoding="UTF-8"?>
  7. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  8.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  9. <mapper namespace="com.example.demo.mapper.UserMapper">
  10.    
  11. </mapper><?xml version="1.0" encoding="UTF-8"?>
  12. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  13.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  14. <mapper namespace="com.example.demo.mapper.UserMapper">
  15.    
  16. </mapper>update user set password=#{password} where userId=#{userId}<?xml version="1.0" encoding="UTF-8"?>
  17. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  18.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  19. <mapper namespace="com.example.demo.mapper.UserMapper">
  20.    
  21. </mapper>
复制代码
⑤ 测试代码


3.4 删除操作

   步骤:
  

  • 添加 实体类(这里有了就不需要添加了)
  • 添加 controller
  • 添加 service
  • 添加 mapper 接口
  • 添加 xml
  ① 添加 controller
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  3.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  4. <mapper namespace="com.example.demo.mapper.UserMapper">
  5.    
  6. </mapper>@RequestMapping("/delete")<?xml version="1.0" encoding="UTF-8"?>
  7. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  8.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  9. <mapper namespace="com.example.demo.mapper.UserMapper">
  10.    
  11. </mapper>public Integer delete(Integer userId) {<?xml version="1.0" encoding="UTF-8"?>
  12. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  13.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  14. <mapper namespace="com.example.demo.mapper.UserMapper">
  15.    
  16. </mapper><?xml version="1.0" encoding="UTF-8"?>
  17. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  18.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  19. <mapper namespace="com.example.demo.mapper.UserMapper">
  20.    
  21. </mapper>return userService.delete(userId);<?xml version="1.0" encoding="UTF-8"?>
  22. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  23.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  24. <mapper namespace="com.example.demo.mapper.UserMapper">
  25.    
  26. </mapper>}
复制代码
② 3.4.2 添加 service
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  3.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  4. <mapper namespace="com.example.demo.mapper.UserMapper">
  5.    
  6. </mapper>public Integer delete(Integer userId) {<?xml version="1.0" encoding="UTF-8"?>
  7. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  8.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  9. <mapper namespace="com.example.demo.mapper.UserMapper">
  10.    
  11. </mapper><?xml version="1.0" encoding="UTF-8"?>
  12. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  13.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  14. <mapper namespace="com.example.demo.mapper.UserMapper">
  15.    
  16. </mapper>return userMapper.delete(userId);<?xml version="1.0" encoding="UTF-8"?>
  17. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  18.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  19. <mapper namespace="com.example.demo.mapper.UserMapper">
  20.    
  21. </mapper>}
复制代码
③ 添加 mapper 接口
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  3.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  4. <mapper namespace="com.example.demo.mapper.UserMapper">
  5.    
  6. </mapper>Integer delete(Integer userId);
复制代码
④ 添加 xml
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  3.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  4. <mapper namespace="com.example.demo.mapper.UserMapper">
  5.    
  6. </mapper><?xml version="1.0" encoding="UTF-8"?>
  7. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  8.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  9. <mapper namespace="com.example.demo.mapper.UserMapper">
  10.    
  11. </mapper>   delete from user where userId=#{userId}<?xml version="1.0" encoding="UTF-8"?>
  12. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  13.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  14. <mapper namespace="com.example.demo.mapper.UserMapper">
  15.    
  16. </mapper>
复制代码
⑤ 测试代码


4. MyBatis 的进阶操作

4.1 返回自增id

这里用增加操作来进行演示
4.1.1 添加 controller 实现代码

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  3.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  4. <mapper namespace="com.example.demo.mapper.UserMapper">
  5.    
  6. </mapper>@RequestMapping("/insert2")<?xml version="1.0" encoding="UTF-8"?>
  7. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  8.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  9. <mapper namespace="com.example.demo.mapper.UserMapper">
  10.    
  11. </mapper>public Integer insert2(User user) {<?xml version="1.0" encoding="UTF-8"?>
  12. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  13.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  14. <mapper namespace="com.example.demo.mapper.UserMapper">
  15.    
  16. </mapper><?xml version="1.0" encoding="UTF-8"?>
  17. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  18.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  19. <mapper namespace="com.example.demo.mapper.UserMapper">
  20.    
  21. </mapper>if (user == null || user.getUsername() == null<?xml version="1.0" encoding="UTF-8"?>
  22. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  23.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  24. <mapper namespace="com.example.demo.mapper.UserMapper">
  25.    
  26. </mapper><?xml version="1.0" encoding="UTF-8"?>
  27. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  28.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  29. <mapper namespace="com.example.demo.mapper.UserMapper">
  30.    
  31. </mapper><?xml version="1.0" encoding="UTF-8"?>
  32. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  33.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  34. <mapper namespace="com.example.demo.mapper.UserMapper">
  35.    
  36. </mapper><?xml version="1.0" encoding="UTF-8"?>
  37. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  38.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  39. <mapper namespace="com.example.demo.mapper.UserMapper">
  40.    
  41. </mapper>|| user.getPassword() == null<?xml version="1.0" encoding="UTF-8"?>
  42. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  43.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  44. <mapper namespace="com.example.demo.mapper.UserMapper">
  45.    
  46. </mapper><?xml version="1.0" encoding="UTF-8"?>
  47. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  48.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  49. <mapper namespace="com.example.demo.mapper.UserMapper">
  50.    
  51. </mapper><?xml version="1.0" encoding="UTF-8"?>
  52. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  53.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  54. <mapper namespace="com.example.demo.mapper.UserMapper">
  55.    
  56. </mapper><?xml version="1.0" encoding="UTF-8"?>
  57. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  58.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  59. <mapper namespace="com.example.demo.mapper.UserMapper">
  60.    
  61. </mapper>|| user.getUsername().equals("")<?xml version="1.0" encoding="UTF-8"?>
  62. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  63.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  64. <mapper namespace="com.example.demo.mapper.UserMapper">
  65.    
  66. </mapper><?xml version="1.0" encoding="UTF-8"?>
  67. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  68.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  69. <mapper namespace="com.example.demo.mapper.UserMapper">
  70.    
  71. </mapper><?xml version="1.0" encoding="UTF-8"?>
  72. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  73.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  74. <mapper namespace="com.example.demo.mapper.UserMapper">
  75.    
  76. </mapper><?xml version="1.0" encoding="UTF-8"?>
  77. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  78.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  79. <mapper namespace="com.example.demo.mapper.UserMapper">
  80.    
  81. </mapper>|| user.getPassword().equals("")<?xml version="1.0" encoding="UTF-8"?>
  82. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  83.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  84. <mapper namespace="com.example.demo.mapper.UserMapper">
  85.    
  86. </mapper><?xml version="1.0" encoding="UTF-8"?>
  87. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  88.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  89. <mapper namespace="com.example.demo.mapper.UserMapper">
  90.    
  91. </mapper>) { // 非法参数<?xml version="1.0" encoding="UTF-8"?>
  92. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  93.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  94. <mapper namespace="com.example.demo.mapper.UserMapper">
  95.    
  96. </mapper><?xml version="1.0" encoding="UTF-8"?>
  97. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  98.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  99. <mapper namespace="com.example.demo.mapper.UserMapper">
  100.    
  101. </mapper><?xml version="1.0" encoding="UTF-8"?>
  102. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  103.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  104. <mapper namespace="com.example.demo.mapper.UserMapper">
  105.    
  106. </mapper>return 0;<?xml version="1.0" encoding="UTF-8"?>
  107. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  108.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  109. <mapper namespace="com.example.demo.mapper.UserMapper">
  110.    
  111. </mapper><?xml version="1.0" encoding="UTF-8"?>
  112. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  113.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  114. <mapper namespace="com.example.demo.mapper.UserMapper">
  115.    
  116. </mapper>}<?xml version="1.0" encoding="UTF-8"?>
  117. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  118.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  119. <mapper namespace="com.example.demo.mapper.UserMapper">
  120.    
  121. </mapper><?xml version="1.0" encoding="UTF-8"?>
  122. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  123.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  124. <mapper namespace="com.example.demo.mapper.UserMapper">
  125.    
  126. </mapper>userService.insert2(user);<?xml version="1.0" encoding="UTF-8"?>
  127. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  128.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  129. <mapper namespace="com.example.demo.mapper.UserMapper">
  130.    
  131. </mapper><?xml version="1.0" encoding="UTF-8"?>
  132. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  133.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  134. <mapper namespace="com.example.demo.mapper.UserMapper">
  135.    
  136. </mapper>return user.getUserId();<?xml version="1.0" encoding="UTF-8"?>
  137. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  138.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  139. <mapper namespace="com.example.demo.mapper.UserMapper">
  140.    
  141. </mapper>}
复制代码
4.1.2 添加 service 实现代码

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  3.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  4. <mapper namespace="com.example.demo.mapper.UserMapper">
  5.    
  6. </mapper>public void insert2(User user) {<?xml version="1.0" encoding="UTF-8"?>
  7. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  8.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  9. <mapper namespace="com.example.demo.mapper.UserMapper">
  10.    
  11. </mapper><?xml version="1.0" encoding="UTF-8"?>
  12. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  13.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  14. <mapper namespace="com.example.demo.mapper.UserMapper">
  15.    
  16. </mapper>userMapper.insert2(user);<?xml version="1.0" encoding="UTF-8"?>
  17. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  18.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  19. <mapper namespace="com.example.demo.mapper.UserMapper">
  20.    
  21. </mapper>}
复制代码
4.1.3 添加 mapper 接口

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  3.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  4. <mapper namespace="com.example.demo.mapper.UserMapper">
  5.    
  6. </mapper>void insert2(User user);
复制代码
4.1.4 添加 xml

注意: 如果要返回自增id, 就不能像普通增加那样写xml


正确写法:
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  3.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  4. <mapper namespace="com.example.demo.mapper.UserMapper">
  5.    
  6. </mapper><?xml version="1.0" encoding="UTF-8"?>
  7. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  8.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  9. <mapper namespace="com.example.demo.mapper.UserMapper">
  10.    
  11. </mapper>  insert into user values (null,#{username}, #{password});<?xml version="1.0" encoding="UTF-8"?>
  12. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  13.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  14. <mapper namespace="com.example.demo.mapper.UserMapper">
  15.    
  16. </mapper>
复制代码
  

  • useGeneratedKeys: 这个会取出数据库内部生成的主键, 默认值是false
  • keyColumn: 设置生成键值在表中的列名, 在某些数据库中, 当主键列不是表中第一列的时候, 是必须设置的.如果生成列不止一个, 可以用逗号分隔多个属性名称
  • keyProperty: 指定能够唯一标识对象的属性, 默认值: 未设置(unset), .如果生成列不止一个, 可以用逗号分隔多个属性名称
  4.1.5 测试代码



4.2 一对一的表映射

4.2.1 xml中具体的实现

一对一的表映射要使用  标签, 具体实现
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  3.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  4. <mapper namespace="com.example.demo.mapper.UserMapper">
  5.    
  6. </mapper><?xml version="1.0" encoding="UTF-8"?>
  7. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  8.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  9. <mapper namespace="com.example.demo.mapper.UserMapper">
  10.    
  11. </mapper><?xml version="1.0" encoding="UTF-8"?>
  12. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  13.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  14. <mapper namespace="com.example.demo.mapper.UserMapper">
  15.    
  16. </mapper><?xml version="1.0" encoding="UTF-8"?>
  17. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  18.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  19. <mapper namespace="com.example.demo.mapper.UserMapper">
  20.    
  21. </mapper><?xml version="1.0" encoding="UTF-8"?>
  22. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  23.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  24. <mapper namespace="com.example.demo.mapper.UserMapper">
  25.    
  26. </mapper><?xml version="1.0" encoding="UTF-8"?>
  27. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  28.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  29. <mapper namespace="com.example.demo.mapper.UserMapper">
  30.    
  31. </mapper><?xml version="1.0" encoding="UTF-8"?>
  32. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  33.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  34. <mapper namespace="com.example.demo.mapper.UserMapper">
  35.    
  36. </mapper><?xml version="1.0" encoding="UTF-8"?>
  37. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  38.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  39. <mapper namespace="com.example.demo.mapper.UserMapper">
  40.    
  41. </mapper><?xml version="1.0" encoding="UTF-8"?>
  42. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  43.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  44. <mapper namespace="com.example.demo.mapper.UserMapper">
  45.    
  46. </mapper><?xml version="1.0" encoding="UTF-8"?>
  47. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  48.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  49. <mapper namespace="com.example.demo.mapper.UserMapper">
  50.    
  51. </mapper><?xml version="1.0" encoding="UTF-8"?>
  52. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  53.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  54. <mapper namespace="com.example.demo.mapper.UserMapper">
  55.    
  56. </mapper><?xml version="1.0" encoding="UTF-8"?>
  57. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  58.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  59. <mapper namespace="com.example.demo.mapper.UserMapper">
  60.    
  61. </mapper><?xml version="1.0" encoding="UTF-8"?>
  62. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  63.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  64. <mapper namespace="com.example.demo.mapper.UserMapper">
  65.    
  66. </mapper><?xml version="1.0" encoding="UTF-8"?>
  67. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  68.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  69. <mapper namespace="com.example.demo.mapper.UserMapper">
  70.    
  71. </mapper><?xml version="1.0" encoding="UTF-8"?>
  72. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  73.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  74. <mapper namespace="com.example.demo.mapper.UserMapper">
  75.    
  76. </mapper><?xml version="1.0" encoding="UTF-8"?>
  77. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  78.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  79. <mapper namespace="com.example.demo.mapper.UserMapper">
  80.    
  81. </mapper><?xml version="1.0" encoding="UTF-8"?>
  82. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  83.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  84. <mapper namespace="com.example.demo.mapper.UserMapper">
  85.    
  86. </mapper><?xml version="1.0" encoding="UTF-8"?>
  87. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  88.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  89. <mapper namespace="com.example.demo.mapper.UserMapper">
  90.    
  91. </mapper><?xml version="1.0" encoding="UTF-8"?>
  92. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  93.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  94. <mapper namespace="com.example.demo.mapper.UserMapper">
  95.    
  96. </mapper><?xml version="1.0" encoding="UTF-8"?>
  97. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  98.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  99. <mapper namespace="com.example.demo.mapper.UserMapper">
  100.    
  101. </mapper><?xml version="1.0" encoding="UTF-8"?>
  102. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  103.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  104. <mapper namespace="com.example.demo.mapper.UserMapper">
  105.    
  106. </mapper><?xml version="1.0" encoding="UTF-8"?>
  107. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  108.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  109. <mapper namespace="com.example.demo.mapper.UserMapper">
  110.    
  111. </mapper><?xml version="1.0" encoding="UTF-8"?>
  112. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  113.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  114. <mapper namespace="com.example.demo.mapper.UserMapper">
  115.    
  116. </mapper><?xml version="1.0" encoding="UTF-8"?>
  117. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  118.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  119. <mapper namespace="com.example.demo.mapper.UserMapper">
  120.    
  121. </mapper><?xml version="1.0" encoding="UTF-8"?>
  122. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  123.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  124. <mapper namespace="com.example.demo.mapper.UserMapper">
  125.    
  126. </mapper><?xml version="1.0" encoding="UTF-8"?>
  127. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  128.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  129. <mapper namespace="com.example.demo.mapper.UserMapper">
  130.    
  131. </mapper><?xml version="1.0" encoding="UTF-8"?>
  132. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  133.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  134. <mapper namespace="com.example.demo.mapper.UserMapper">
  135.    
  136. </mapper><?xml version="1.0" encoding="UTF-8"?>
  137. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  138.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  139. <mapper namespace="com.example.demo.mapper.UserMapper">
  140.    
  141. </mapper><?xml version="1.0" encoding="UTF-8"?>
  142. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  143.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  144. <mapper namespace="com.example.demo.mapper.UserMapper">
  145.    
  146. </mapper><?xml version="1.0" encoding="UTF-8"?>
  147. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  148.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  149. <mapper namespace="com.example.demo.mapper.UserMapper">
  150.    
  151. </mapper><?xml version="1.0" encoding="UTF-8"?>
  152. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  153.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  154. <mapper namespace="com.example.demo.mapper.UserMapper">
  155.    
  156. </mapper>select b.*,u.userId u_userId,u.username u_username,u.password u_password from blog b left join user u on u.userId=b.userId<?xml version="1.0" encoding="UTF-8"?>
  157. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  158.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  159. <mapper namespace="com.example.demo.mapper.UserMapper">
  160.    
  161. </mapper>
复制代码
  注意事项:
  

  • property 属性: 指定 Blog 表中对应的属性名, 与实体类一致, 这里是user
  • resultMap 属性: 指定关联的结果集映射, 将基于该映射配置来组织用户数据
  • columnPrefix 属性: 绑定一对一对象时, 多表前缀, 作用防止多张表出现相同字段查询的问题
  4.2.2 Blog 实体类

  1. @Datapublic class Blog {<?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  3.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  4. <mapper namespace="com.example.demo.mapper.UserMapper">
  5.    
  6. </mapper>public int blogId;<?xml version="1.0" encoding="UTF-8"?>
  7. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  8.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  9. <mapper namespace="com.example.demo.mapper.UserMapper">
  10.    
  11. </mapper>public String title;<?xml version="1.0" encoding="UTF-8"?>
  12. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  13.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  14. <mapper namespace="com.example.demo.mapper.UserMapper">
  15.    
  16. </mapper>public String content;<?xml version="1.0" encoding="UTF-8"?>
  17. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  18.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  19. <mapper namespace="com.example.demo.mapper.UserMapper">
  20.    
  21. </mapper>public Timestamp postTime;<?xml version="1.0" encoding="UTF-8"?>
  22. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  23.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  24. <mapper namespace="com.example.demo.mapper.UserMapper">
  25.    
  26. </mapper>public int userId;<?xml version="1.0" encoding="UTF-8"?>
  27. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  28.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  29. <mapper namespace="com.example.demo.mapper.UserMapper">
  30.    
  31. </mapper>public User user;}
复制代码
4.2.3 添加 controll

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  3.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  4. <mapper namespace="com.example.demo.mapper.UserMapper">
  5.    
  6. </mapper>@RequestMapping("/getall")<?xml version="1.0" encoding="UTF-8"?>
  7. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  8.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  9. <mapper namespace="com.example.demo.mapper.UserMapper">
  10.    
  11. </mapper>public List getAll() {<?xml version="1.0" encoding="UTF-8"?>
  12. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  13.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  14. <mapper namespace="com.example.demo.mapper.UserMapper">
  15.    
  16. </mapper><?xml version="1.0" encoding="UTF-8"?>
  17. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  18.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  19. <mapper namespace="com.example.demo.mapper.UserMapper">
  20.    
  21. </mapper>return userService.getAll();<?xml version="1.0" encoding="UTF-8"?>
  22. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  23.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  24. <mapper namespace="com.example.demo.mapper.UserMapper">
  25.    
  26. </mapper>}
复制代码
4.2.4 添加 service

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  3.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  4. <mapper namespace="com.example.demo.mapper.UserMapper">
  5.    
  6. </mapper>public List getAll() {<?xml version="1.0" encoding="UTF-8"?>
  7. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  8.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  9. <mapper namespace="com.example.demo.mapper.UserMapper">
  10.    
  11. </mapper><?xml version="1.0" encoding="UTF-8"?>
  12. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  13.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  14. <mapper namespace="com.example.demo.mapper.UserMapper">
  15.    
  16. </mapper>return userMapper.getAll();<?xml version="1.0" encoding="UTF-8"?>
  17. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  18.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  19. <mapper namespace="com.example.demo.mapper.UserMapper">
  20.    
  21. </mapper>}
复制代码
4.2.5 添加 mapper

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  3.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  4. <mapper namespace="com.example.demo.mapper.UserMapper">
  5.    
  6. </mapper>List getAll();
复制代码
4.2.6 测试运行


4.3 一对多的表映射

4.3.1 xml中具体的实现

一对多使用  标签, 用法和 相同
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  3.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  4. <mapper namespace="com.example.demo.mapper.UserMapper">
  5.    
  6. </mapper><?xml version="1.0" encoding="UTF-8"?>
  7. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  8.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  9. <mapper namespace="com.example.demo.mapper.UserMapper">
  10.    
  11. </mapper><?xml version="1.0" encoding="UTF-8"?>
  12. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  13.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  14. <mapper namespace="com.example.demo.mapper.UserMapper">
  15.    
  16. </mapper><?xml version="1.0" encoding="UTF-8"?>
  17. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  18.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  19. <mapper namespace="com.example.demo.mapper.UserMapper">
  20.    
  21. </mapper><?xml version="1.0" encoding="UTF-8"?>
  22. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  23.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  24. <mapper namespace="com.example.demo.mapper.UserMapper">
  25.    
  26. </mapper><?xml version="1.0" encoding="UTF-8"?>
  27. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  28.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  29. <mapper namespace="com.example.demo.mapper.UserMapper">
  30.    
  31. </mapper><?xml version="1.0" encoding="UTF-8"?>
  32. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  33.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  34. <mapper namespace="com.example.demo.mapper.UserMapper">
  35.    
  36. </mapper><?xml version="1.0" encoding="UTF-8"?>
  37. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  38.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  39. <mapper namespace="com.example.demo.mapper.UserMapper">
  40.    
  41. </mapper><?xml version="1.0" encoding="UTF-8"?>
  42. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  43.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  44. <mapper namespace="com.example.demo.mapper.UserMapper">
  45.    
  46. </mapper><?xml version="1.0" encoding="UTF-8"?>
  47. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  48.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  49. <mapper namespace="com.example.demo.mapper.UserMapper">
  50.    
  51. </mapper><?xml version="1.0" encoding="UTF-8"?>
  52. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  53.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  54. <mapper namespace="com.example.demo.mapper.UserMapper">
  55.    
  56. </mapper><?xml version="1.0" encoding="UTF-8"?>
  57. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  58.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  59. <mapper namespace="com.example.demo.mapper.UserMapper">
  60.    
  61. </mapper><?xml version="1.0" encoding="UTF-8"?>
  62. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  63.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  64. <mapper namespace="com.example.demo.mapper.UserMapper">
  65.    
  66. </mapper><?xml version="1.0" encoding="UTF-8"?>
  67. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  68.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  69. <mapper namespace="com.example.demo.mapper.UserMapper">
  70.    
  71. </mapper><?xml version="1.0" encoding="UTF-8"?>
  72. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  73.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  74. <mapper namespace="com.example.demo.mapper.UserMapper">
  75.    
  76. </mapper><?xml version="1.0" encoding="UTF-8"?>
  77. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  78.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  79. <mapper namespace="com.example.demo.mapper.UserMapper">
  80.    
  81. </mapper><?xml version="1.0" encoding="UTF-8"?>
  82. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  83.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  84. <mapper namespace="com.example.demo.mapper.UserMapper">
  85.    
  86. </mapper><?xml version="1.0" encoding="UTF-8"?>
  87. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  88.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  89. <mapper namespace="com.example.demo.mapper.UserMapper">
  90.    
  91. </mapper><?xml version="1.0" encoding="UTF-8"?>
  92. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  93.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  94. <mapper namespace="com.example.demo.mapper.UserMapper">
  95.    
  96. </mapper>select b.*,u.username u_username,u.userId u_userId,u.password u_password from blog b left join user u on b.userId=u.userId where u.userId=#{userId}<?xml version="1.0" encoding="UTF-8"?>
  97. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  98.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  99. <mapper namespace="com.example.demo.mapper.UserMapper">
  100.    
  101. </mapper>
复制代码
4.3.2 添加 controller

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  3.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  4. <mapper namespace="com.example.demo.mapper.UserMapper">
  5.    
  6. </mapper>@RequestMapping("/getUserById")<?xml version="1.0" encoding="UTF-8"?>
  7. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  8.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  9. <mapper namespace="com.example.demo.mapper.UserMapper">
  10.    
  11. </mapper>public List getUserById(Integer userId) {<?xml version="1.0" encoding="UTF-8"?>
  12. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  13.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  14. <mapper namespace="com.example.demo.mapper.UserMapper">
  15.    
  16. </mapper><?xml version="1.0" encoding="UTF-8"?>
  17. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  18.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  19. <mapper namespace="com.example.demo.mapper.UserMapper">
  20.    
  21. </mapper>return userService.getUserById(userId);<?xml version="1.0" encoding="UTF-8"?>
  22. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  23.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  24. <mapper namespace="com.example.demo.mapper.UserMapper">
  25.    
  26. </mapper>}
复制代码
4.3.3 添加 service

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  3.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  4. <mapper namespace="com.example.demo.mapper.UserMapper">
  5.    
  6. </mapper>public List getUserById(Integer userId) {<?xml version="1.0" encoding="UTF-8"?>
  7. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  8.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  9. <mapper namespace="com.example.demo.mapper.UserMapper">
  10.    
  11. </mapper><?xml version="1.0" encoding="UTF-8"?>
  12. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  13.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  14. <mapper namespace="com.example.demo.mapper.UserMapper">
  15.    
  16. </mapper>return userMapper.getUserById(userId);<?xml version="1.0" encoding="UTF-8"?>
  17. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  18.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  19. <mapper namespace="com.example.demo.mapper.UserMapper">
  20.    
  21. </mapper>}
复制代码
4.3.4 添加 mapper接口

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  3.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  4. <mapper namespace="com.example.demo.mapper.UserMapper">
  5.    
  6. </mapper>List getUserById(Integer userId);
复制代码
4.3.5 测试运行


5. MyBatis 的一些注意事项

5.1 参数占位符 #{} 和 ${}

   

  • #{} : 预编译处理
  • ${} : 字符直接替换
  编译预处理: MyBatis 在处理 #{} 时, 会将SQL 中的 #{} 替换为 ? 号, 使用 PreparedStatement 的 set 方法来赋值.

字符直接替换: MyBatis 在处理 ${} 时, 就是把 ${} 替换成变量的值.(缺点SQL注入)

注意: 当使用 #{} 的时候, 传递值为 String 则会加单引号. 使用${}的时候, 就不会加单引号
5.1.1 ${} 的优点

在对一些商品进行排序的时候, 使用${}就可以, 而使用#{}就不行
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  3.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  4. <mapper namespace="com.example.demo.mapper.UserMapper">
  5.    
  6. </mapper><?xml version="1.0" encoding="UTF-8"?>
  7. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  8.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  9. <mapper namespace="com.example.demo.mapper.UserMapper">
  10.    
  11. </mapper><?xml version="1.0" encoding="UTF-8"?>
  12. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  13.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  14. <mapper namespace="com.example.demo.mapper.UserMapper">
  15.    
  16. </mapper>select * from user order by userId ${sort};<?xml version="1.0" encoding="UTF-8"?>
  17. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  18.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  19. <mapper namespace="com.example.demo.mapper.UserMapper">
  20.    
  21. </mapper>
复制代码

5.2 SQL 注入问题

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  3.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  4. <mapper namespace="com.example.demo.mapper.UserMapper">
  5.    
  6. </mapper><?xml version="1.0" encoding="UTF-8"?>
  7. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  8.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  9. <mapper namespace="com.example.demo.mapper.UserMapper">
  10.    
  11. </mapper>  select * from user where username= '${username}' and password='${password}'<?xml version="1.0" encoding="UTF-8"?>
  12. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  13.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  14. <mapper namespace="com.example.demo.mapper.UserMapper">
  15.    
  16. </mapper>
复制代码
当注入 'or 1='1 时, 所有的信息就暴露了

需要用户传递的就尽量使用 #{}, 程序员自己传递的就可以使用 ${}
5.3 like 查询

like 使用 #{} 会报错
例如一段sql代码
select * from user where username like '%#{username}%';
当username=admin 相当于
select * from user where username like '%'admin'%'
这里也不能直接使用 ${}.
可以使用mysql内置函数 concat() 来处理
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  3.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  4. <mapper namespace="com.example.demo.mapper.UserMapper">
  5.    
  6. </mapper><?xml version="1.0" encoding="UTF-8"?>
  7. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  8.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  9. <mapper namespace="com.example.demo.mapper.UserMapper">
  10.    
  11. </mapper><?xml version="1.0" encoding="UTF-8"?>
  12. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  13.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  14. <mapper namespace="com.example.demo.mapper.UserMapper">
  15.    
  16. </mapper>select * from user where username like concat('%',#{username},'%')<?xml version="1.0" encoding="UTF-8"?>
  17. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  18.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  19. <mapper namespace="com.example.demo.mapper.UserMapper">
  20.    
  21. </mapper>
复制代码
5.4 实体类中的字段和mysql中的字段不匹配


例如:
这里就查询不到 name了

除了把名字改过来, 还可以使用 resultMap
  1.         <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  3.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  4. <mapper namespace="com.example.demo.mapper.UserMapper">
  5.    
  6. </mapper><?xml version="1.0" encoding="UTF-8"?>
  7. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  8.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  9. <mapper namespace="com.example.demo.mapper.UserMapper">
  10.    
  11. </mapper><?xml version="1.0" encoding="UTF-8"?>
  12. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  13.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  14. <mapper namespace="com.example.demo.mapper.UserMapper">
  15.    
  16. </mapper><?xml version="1.0" encoding="UTF-8"?>
  17. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  18.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  19. <mapper namespace="com.example.demo.mapper.UserMapper">
  20.    
  21. </mapper><?xml version="1.0" encoding="UTF-8"?>
  22. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  23.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  24. <mapper namespace="com.example.demo.mapper.UserMapper">
  25.    
  26. </mapper><?xml version="1.0" encoding="UTF-8"?>
  27. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  28.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  29. <mapper namespace="com.example.demo.mapper.UserMapper">
  30.    
  31. </mapper><?xml version="1.0" encoding="UTF-8"?>
  32. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  33.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  34. <mapper namespace="com.example.demo.mapper.UserMapper">
  35.    
  36. </mapper><?xml version="1.0" encoding="UTF-8"?>
  37. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  38.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  39. <mapper namespace="com.example.demo.mapper.UserMapper">
  40.    
  41. </mapper><?xml version="1.0" encoding="UTF-8"?>
  42. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  43.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  44. <mapper namespace="com.example.demo.mapper.UserMapper">
  45.    
  46. </mapper><?xml version="1.0" encoding="UTF-8"?>
  47. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  48.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  49. <mapper namespace="com.example.demo.mapper.UserMapper">
  50.    
  51. </mapper><?xml version="1.0" encoding="UTF-8"?>
  52. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  53.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  54. <mapper namespace="com.example.demo.mapper.UserMapper">
  55.    
  56. </mapper><?xml version="1.0" encoding="UTF-8"?>
  57. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  58.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  59. <mapper namespace="com.example.demo.mapper.UserMapper">
  60.    
  61. </mapper><?xml version="1.0" encoding="UTF-8"?>
  62. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  63.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  64. <mapper namespace="com.example.demo.mapper.UserMapper">
  65.    
  66. </mapper><?xml version="1.0" encoding="UTF-8"?>
  67. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  68.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  69. <mapper namespace="com.example.demo.mapper.UserMapper">
  70.    
  71. </mapper>select * from user<?xml version="1.0" encoding="UTF-8"?>
  72. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  73.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  74. <mapper namespace="com.example.demo.mapper.UserMapper">
  75.    
  76. </mapper>
复制代码

注意这里的resultMap的写法

5.5 想要在控制台查看 mybatis 的日志

在配置文件中添加代码
  1. logging.level.com.example.demo=debug
  2. mybaits.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl
复制代码
通过这样配置就能查看日志了

5.6 编写 MyBatis 更方便的插件

搜索 MyBatisX

下载之后 重启Idea
有这种鸟就是安装好了

6. 动态 SQL

6.1 if 标签

在填写表单的时候 经常会有一些字段必须要填写, 一些字段不必要填写, 那么这种情况就需要用的动态SQL的if标签
xml的演示
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  3.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  4. <mapper namespace="com.example.demo.mapper.UserMapper">
  5.    
  6. </mapper><?xml version="1.0" encoding="UTF-8"?>
  7. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  8.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  9. <mapper namespace="com.example.demo.mapper.UserMapper">
  10.    
  11. </mapper><?xml version="1.0" encoding="UTF-8"?>
  12. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  13.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  14. <mapper namespace="com.example.demo.mapper.UserMapper">
  15.    
  16. </mapper>insert into blog(<?xml version="1.0" encoding="UTF-8"?>
  17. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  18.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  19. <mapper namespace="com.example.demo.mapper.UserMapper">
  20.    
  21. </mapper><?xml version="1.0" encoding="UTF-8"?>
  22. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  23.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  24. <mapper namespace="com.example.demo.mapper.UserMapper">
  25.    
  26. </mapper>title,<?xml version="1.0" encoding="UTF-8"?>
  27. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  28.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  29. <mapper namespace="com.example.demo.mapper.UserMapper">
  30.    
  31. </mapper><?xml version="1.0" encoding="UTF-8"?>
  32. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  33.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  34. <mapper namespace="com.example.demo.mapper.UserMapper">
  35.    
  36. </mapper><?xml version="1.0" encoding="UTF-8"?>
  37. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  38.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  39. <mapper namespace="com.example.demo.mapper.UserMapper">
  40.    
  41. </mapper><?xml version="1.0" encoding="UTF-8"?>
  42. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  43.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  44. <mapper namespace="com.example.demo.mapper.UserMapper">
  45.    
  46. </mapper>content,<?xml version="1.0" encoding="UTF-8"?>
  47. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  48.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  49. <mapper namespace="com.example.demo.mapper.UserMapper">
  50.    
  51. </mapper><?xml version="1.0" encoding="UTF-8"?>
  52. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  53.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  54. <mapper namespace="com.example.demo.mapper.UserMapper">
  55.    
  56. </mapper><?xml version="1.0" encoding="UTF-8"?>
  57. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  58.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  59. <mapper namespace="com.example.demo.mapper.UserMapper">
  60.    
  61. </mapper><?xml version="1.0" encoding="UTF-8"?>
  62. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  63.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  64. <mapper namespace="com.example.demo.mapper.UserMapper">
  65.    
  66. </mapper>postTime,userId) values (#{title},<?xml version="1.0" encoding="UTF-8"?>
  67. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  68.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  69. <mapper namespace="com.example.demo.mapper.UserMapper">
  70.    
  71. </mapper><?xml version="1.0" encoding="UTF-8"?>
  72. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  73.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  74. <mapper namespace="com.example.demo.mapper.UserMapper">
  75.    
  76. </mapper><?xml version="1.0" encoding="UTF-8"?>
  77. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  78.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  79. <mapper namespace="com.example.demo.mapper.UserMapper">
  80.    
  81. </mapper><?xml version="1.0" encoding="UTF-8"?>
  82. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  83.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  84. <mapper namespace="com.example.demo.mapper.UserMapper">
  85.    
  86. </mapper>#{content},<?xml version="1.0" encoding="UTF-8"?>
  87. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  88.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  89. <mapper namespace="com.example.demo.mapper.UserMapper">
  90.    
  91. </mapper><?xml version="1.0" encoding="UTF-8"?>
  92. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  93.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  94. <mapper namespace="com.example.demo.mapper.UserMapper">
  95.    
  96. </mapper><?xml version="1.0" encoding="UTF-8"?>
  97. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  98.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  99. <mapper namespace="com.example.demo.mapper.UserMapper">
  100.    
  101. </mapper><?xml version="1.0" encoding="UTF-8"?>
  102. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  103.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  104. <mapper namespace="com.example.demo.mapper.UserMapper">
  105.    
  106. </mapper>#{postTime},#{userId})<?xml version="1.0" encoding="UTF-8"?>
  107. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  108.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  109. <mapper namespace="com.example.demo.mapper.UserMapper">
  110.    
  111. </mapper>
复制代码
注意这里的 if标签后面的test中的content是传入的属性,不是数据库中的字段.
6.2 trim 标签

当所有字段都是非必填项, 此时使用 if 标签就满足不了了
如 title是必填项, 后面都是非必填项, 此时sql拼装出来 就会变成
insert into blog(title,) values (title,) 这里的逗号就会导致sql报错.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.demo.mapper.UserMapper">
   
</mapper>标签中有如下属性:
  

  • prefix: 表示整个语句块, 以prefix的值作为前缀
  • suffix: 表示整个语句块, 以suffix的值作为后缀
  • prefixOverrides: prefixOverrides的值表示整个语句块要去掉的前缀
  • suffixOverrides: suffixOverrides的值表示整个语句块要去掉的后缀
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  3.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  4. <mapper namespace="com.example.demo.mapper.UserMapper">
  5.    
  6. </mapper><?xml version="1.0" encoding="UTF-8"?>
  7. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  8.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  9. <mapper namespace="com.example.demo.mapper.UserMapper">
  10.    
  11. </mapper>insert into blog<?xml version="1.0" encoding="UTF-8"?>
  12. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  13.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  14. <mapper namespace="com.example.demo.mapper.UserMapper">
  15.    
  16. </mapper><?xml version="1.0" encoding="UTF-8"?>
  17. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  18.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  19. <mapper namespace="com.example.demo.mapper.UserMapper">
  20.    
  21. </mapper><?xml version="1.0" encoding="UTF-8"?>
  22. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  23.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  24. <mapper namespace="com.example.demo.mapper.UserMapper">
  25.    
  26. </mapper><?xml version="1.0" encoding="UTF-8"?>
  27. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  28.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  29. <mapper namespace="com.example.demo.mapper.UserMapper">
  30.    
  31. </mapper><?xml version="1.0" encoding="UTF-8"?>
  32. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  33.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  34. <mapper namespace="com.example.demo.mapper.UserMapper">
  35.    
  36. </mapper><?xml version="1.0" encoding="UTF-8"?>
  37. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  38.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  39. <mapper namespace="com.example.demo.mapper.UserMapper">
  40.    
  41. </mapper><?xml version="1.0" encoding="UTF-8"?>
  42. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  43.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  44. <mapper namespace="com.example.demo.mapper.UserMapper">
  45.    
  46. </mapper><?xml version="1.0" encoding="UTF-8"?>
  47. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  48.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  49. <mapper namespace="com.example.demo.mapper.UserMapper">
  50.    
  51. </mapper><?xml version="1.0" encoding="UTF-8"?>
  52. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  53.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  54. <mapper namespace="com.example.demo.mapper.UserMapper">
  55.    
  56. </mapper>title,<?xml version="1.0" encoding="UTF-8"?>
  57. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  58.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  59. <mapper namespace="com.example.demo.mapper.UserMapper">
  60.    
  61. </mapper><?xml version="1.0" encoding="UTF-8"?>
  62. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  63.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  64. <mapper namespace="com.example.demo.mapper.UserMapper">
  65.    
  66. </mapper><?xml version="1.0" encoding="UTF-8"?>
  67. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  68.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  69. <mapper namespace="com.example.demo.mapper.UserMapper">
  70.    
  71. </mapper><?xml version="1.0" encoding="UTF-8"?>
  72. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  73.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  74. <mapper namespace="com.example.demo.mapper.UserMapper">
  75.    
  76. </mapper><?xml version="1.0" encoding="UTF-8"?>
  77. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  78.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  79. <mapper namespace="com.example.demo.mapper.UserMapper">
  80.    
  81. </mapper><?xml version="1.0" encoding="UTF-8"?>
  82. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  83.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  84. <mapper namespace="com.example.demo.mapper.UserMapper">
  85.    
  86. </mapper><?xml version="1.0" encoding="UTF-8"?>
  87. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  88.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  89. <mapper namespace="com.example.demo.mapper.UserMapper">
  90.    
  91. </mapper><?xml version="1.0" encoding="UTF-8"?>
  92. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  93.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  94. <mapper namespace="com.example.demo.mapper.UserMapper">
  95.    
  96. </mapper><?xml version="1.0" encoding="UTF-8"?>
  97. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  98.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  99. <mapper namespace="com.example.demo.mapper.UserMapper">
  100.    
  101. </mapper><?xml version="1.0" encoding="UTF-8"?>
  102. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  103.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  104. <mapper namespace="com.example.demo.mapper.UserMapper">
  105.    
  106. </mapper>content,<?xml version="1.0" encoding="UTF-8"?>
  107. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  108.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  109. <mapper namespace="com.example.demo.mapper.UserMapper">
  110.    
  111. </mapper><?xml version="1.0" encoding="UTF-8"?>
  112. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  113.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  114. <mapper namespace="com.example.demo.mapper.UserMapper">
  115.    
  116. </mapper><?xml version="1.0" encoding="UTF-8"?>
  117. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  118.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  119. <mapper namespace="com.example.demo.mapper.UserMapper">
  120.    
  121. </mapper><?xml version="1.0" encoding="UTF-8"?>
  122. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  123.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  124. <mapper namespace="com.example.demo.mapper.UserMapper">
  125.    
  126. </mapper><?xml version="1.0" encoding="UTF-8"?>
  127. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  128.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  129. <mapper namespace="com.example.demo.mapper.UserMapper">
  130.    
  131. </mapper><?xml version="1.0" encoding="UTF-8"?>
  132. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  133.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  134. <mapper namespace="com.example.demo.mapper.UserMapper">
  135.    
  136. </mapper><?xml version="1.0" encoding="UTF-8"?>
  137. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  138.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  139. <mapper namespace="com.example.demo.mapper.UserMapper">
  140.    
  141. </mapper><?xml version="1.0" encoding="UTF-8"?>
  142. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  143.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  144. <mapper namespace="com.example.demo.mapper.UserMapper">
  145.    
  146. </mapper><?xml version="1.0" encoding="UTF-8"?>
  147. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  148.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  149. <mapper namespace="com.example.demo.mapper.UserMapper">
  150.    
  151. </mapper><?xml version="1.0" encoding="UTF-8"?>
  152. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  153.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  154. <mapper namespace="com.example.demo.mapper.UserMapper">
  155.    
  156. </mapper>postTime,<?xml version="1.0" encoding="UTF-8"?>
  157. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  158.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  159. <mapper namespace="com.example.demo.mapper.UserMapper">
  160.    
  161. </mapper><?xml version="1.0" encoding="UTF-8"?>
  162. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  163.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  164. <mapper namespace="com.example.demo.mapper.UserMapper">
  165.    
  166. </mapper><?xml version="1.0" encoding="UTF-8"?>
  167. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  168.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  169. <mapper namespace="com.example.demo.mapper.UserMapper">
  170.    
  171. </mapper><?xml version="1.0" encoding="UTF-8"?>
  172. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  173.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  174. <mapper namespace="com.example.demo.mapper.UserMapper">
  175.    
  176. </mapper><?xml version="1.0" encoding="UTF-8"?>
  177. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  178.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  179. <mapper namespace="com.example.demo.mapper.UserMapper">
  180.    
  181. </mapper><?xml version="1.0" encoding="UTF-8"?>
  182. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  183.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  184. <mapper namespace="com.example.demo.mapper.UserMapper">
  185.    
  186. </mapper><?xml version="1.0" encoding="UTF-8"?>
  187. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  188.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  189. <mapper namespace="com.example.demo.mapper.UserMapper">
  190.    
  191. </mapper><?xml version="1.0" encoding="UTF-8"?>
  192. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  193.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  194. <mapper namespace="com.example.demo.mapper.UserMapper">
  195.    
  196. </mapper><?xml version="1.0" encoding="UTF-8"?>
  197. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  198.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  199. <mapper namespace="com.example.demo.mapper.UserMapper">
  200.    
  201. </mapper><?xml version="1.0" encoding="UTF-8"?>
  202. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  203.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  204. <mapper namespace="com.example.demo.mapper.UserMapper">
  205.    
  206. </mapper>userId,<?xml version="1.0" encoding="UTF-8"?>
  207. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  208.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  209. <mapper namespace="com.example.demo.mapper.UserMapper">
  210.    
  211. </mapper><?xml version="1.0" encoding="UTF-8"?>
  212. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  213.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  214. <mapper namespace="com.example.demo.mapper.UserMapper">
  215.    
  216. </mapper><?xml version="1.0" encoding="UTF-8"?>
  217. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  218.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  219. <mapper namespace="com.example.demo.mapper.UserMapper">
  220.    
  221. </mapper><?xml version="1.0" encoding="UTF-8"?>
  222. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  223.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  224. <mapper namespace="com.example.demo.mapper.UserMapper">
  225.    
  226. </mapper><?xml version="1.0" encoding="UTF-8"?>
  227. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  228.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  229. <mapper namespace="com.example.demo.mapper.UserMapper">
  230.    
  231. </mapper><?xml version="1.0" encoding="UTF-8"?>
  232. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  233.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  234. <mapper namespace="com.example.demo.mapper.UserMapper">
  235.    
  236. </mapper><?xml version="1.0" encoding="UTF-8"?>
  237. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  238.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  239. <mapper namespace="com.example.demo.mapper.UserMapper">
  240.    
  241. </mapper>values<?xml version="1.0" encoding="UTF-8"?>
  242. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  243.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  244. <mapper namespace="com.example.demo.mapper.UserMapper">
  245.    
  246. </mapper><?xml version="1.0" encoding="UTF-8"?>
  247. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  248.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  249. <mapper namespace="com.example.demo.mapper.UserMapper">
  250.    
  251. </mapper><?xml version="1.0" encoding="UTF-8"?>
  252. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  253.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  254. <mapper namespace="com.example.demo.mapper.UserMapper">
  255.    
  256. </mapper><?xml version="1.0" encoding="UTF-8"?>
  257. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  258.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  259. <mapper namespace="com.example.demo.mapper.UserMapper">
  260.    
  261. </mapper><?xml version="1.0" encoding="UTF-8"?>
  262. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  263.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  264. <mapper namespace="com.example.demo.mapper.UserMapper">
  265.    
  266. </mapper><?xml version="1.0" encoding="UTF-8"?>
  267. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  268.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  269. <mapper namespace="com.example.demo.mapper.UserMapper">
  270.    
  271. </mapper><?xml version="1.0" encoding="UTF-8"?>
  272. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  273.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  274. <mapper namespace="com.example.demo.mapper.UserMapper">
  275.    
  276. </mapper><?xml version="1.0" encoding="UTF-8"?>
  277. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  278.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  279. <mapper namespace="com.example.demo.mapper.UserMapper">
  280.    
  281. </mapper><?xml version="1.0" encoding="UTF-8"?>
  282. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  283.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  284. <mapper namespace="com.example.demo.mapper.UserMapper">
  285.    
  286. </mapper>#{title},<?xml version="1.0" encoding="UTF-8"?>
  287. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  288.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  289. <mapper namespace="com.example.demo.mapper.UserMapper">
  290.    
  291. </mapper><?xml version="1.0" encoding="UTF-8"?>
  292. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  293.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  294. <mapper namespace="com.example.demo.mapper.UserMapper">
  295.    
  296. </mapper><?xml version="1.0" encoding="UTF-8"?>
  297. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  298.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  299. <mapper namespace="com.example.demo.mapper.UserMapper">
  300.    
  301. </mapper><?xml version="1.0" encoding="UTF-8"?>
  302. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  303.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  304. <mapper namespace="com.example.demo.mapper.UserMapper">
  305.    
  306. </mapper><?xml version="1.0" encoding="UTF-8"?>
  307. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  308.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  309. <mapper namespace="com.example.demo.mapper.UserMapper">
  310.    
  311. </mapper><?xml version="1.0" encoding="UTF-8"?>
  312. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  313.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  314. <mapper namespace="com.example.demo.mapper.UserMapper">
  315.    
  316. </mapper><?xml version="1.0" encoding="UTF-8"?>
  317. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  318.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  319. <mapper namespace="com.example.demo.mapper.UserMapper">
  320.    
  321. </mapper><?xml version="1.0" encoding="UTF-8"?>
  322. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  323.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  324. <mapper namespace="com.example.demo.mapper.UserMapper">
  325.    
  326. </mapper><?xml version="1.0" encoding="UTF-8"?>
  327. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  328.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  329. <mapper namespace="com.example.demo.mapper.UserMapper">
  330.    
  331. </mapper><?xml version="1.0" encoding="UTF-8"?>
  332. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  333.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  334. <mapper namespace="com.example.demo.mapper.UserMapper">
  335.    
  336. </mapper>#{content},<?xml version="1.0" encoding="UTF-8"?>
  337. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  338.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  339. <mapper namespace="com.example.demo.mapper.UserMapper">
  340.    
  341. </mapper><?xml version="1.0" encoding="UTF-8"?>
  342. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  343.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  344. <mapper namespace="com.example.demo.mapper.UserMapper">
  345.    
  346. </mapper><?xml version="1.0" encoding="UTF-8"?>
  347. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  348.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  349. <mapper namespace="com.example.demo.mapper.UserMapper">
  350.    
  351. </mapper><?xml version="1.0" encoding="UTF-8"?>
  352. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  353.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  354. <mapper namespace="com.example.demo.mapper.UserMapper">
  355.    
  356. </mapper><?xml version="1.0" encoding="UTF-8"?>
  357. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  358.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  359. <mapper namespace="com.example.demo.mapper.UserMapper">
  360.    
  361. </mapper><?xml version="1.0" encoding="UTF-8"?>
  362. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  363.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  364. <mapper namespace="com.example.demo.mapper.UserMapper">
  365.    
  366. </mapper><?xml version="1.0" encoding="UTF-8"?>
  367. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  368.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  369. <mapper namespace="com.example.demo.mapper.UserMapper">
  370.    
  371. </mapper><?xml version="1.0" encoding="UTF-8"?>
  372. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  373.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  374. <mapper namespace="com.example.demo.mapper.UserMapper">
  375.    
  376. </mapper><?xml version="1.0" encoding="UTF-8"?>
  377. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  378.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  379. <mapper namespace="com.example.demo.mapper.UserMapper">
  380.    
  381. </mapper><?xml version="1.0" encoding="UTF-8"?>
  382. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  383.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  384. <mapper namespace="com.example.demo.mapper.UserMapper">
  385.    
  386. </mapper>#{postTime},<?xml version="1.0" encoding="UTF-8"?>
  387. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  388.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  389. <mapper namespace="com.example.demo.mapper.UserMapper">
  390.    
  391. </mapper><?xml version="1.0" encoding="UTF-8"?>
  392. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  393.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  394. <mapper namespace="com.example.demo.mapper.UserMapper">
  395.    
  396. </mapper><?xml version="1.0" encoding="UTF-8"?>
  397. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  398.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  399. <mapper namespace="com.example.demo.mapper.UserMapper">
  400.    
  401. </mapper><?xml version="1.0" encoding="UTF-8"?>
  402. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  403.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  404. <mapper namespace="com.example.demo.mapper.UserMapper">
  405.    
  406. </mapper><?xml version="1.0" encoding="UTF-8"?>
  407. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  408.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  409. <mapper namespace="com.example.demo.mapper.UserMapper">
  410.    
  411. </mapper><?xml version="1.0" encoding="UTF-8"?>
  412. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  413.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  414. <mapper namespace="com.example.demo.mapper.UserMapper">
  415.    
  416. </mapper><?xml version="1.0" encoding="UTF-8"?>
  417. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  418.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  419. <mapper namespace="com.example.demo.mapper.UserMapper">
  420.    
  421. </mapper><?xml version="1.0" encoding="UTF-8"?>
  422. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  423.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  424. <mapper namespace="com.example.demo.mapper.UserMapper">
  425.    
  426. </mapper><?xml version="1.0" encoding="UTF-8"?>
  427. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  428.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  429. <mapper namespace="com.example.demo.mapper.UserMapper">
  430.    
  431. </mapper><?xml version="1.0" encoding="UTF-8"?>
  432. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  433.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  434. <mapper namespace="com.example.demo.mapper.UserMapper">
  435.    
  436. </mapper>#{userId},<?xml version="1.0" encoding="UTF-8"?>
  437. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  438.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  439. <mapper namespace="com.example.demo.mapper.UserMapper">
  440.    
  441. </mapper><?xml version="1.0" encoding="UTF-8"?>
  442. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  443.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  444. <mapper namespace="com.example.demo.mapper.UserMapper">
  445.    
  446. </mapper><?xml version="1.0" encoding="UTF-8"?>
  447. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  448.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  449. <mapper namespace="com.example.demo.mapper.UserMapper">
  450.    
  451. </mapper><?xml version="1.0" encoding="UTF-8"?>
  452. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  453.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  454. <mapper namespace="com.example.demo.mapper.UserMapper">
  455.    
  456. </mapper><?xml version="1.0" encoding="UTF-8"?>
  457. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  458.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  459. <mapper namespace="com.example.demo.mapper.UserMapper">
  460.    
  461. </mapper><?xml version="1.0" encoding="UTF-8"?>
  462. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  463.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  464. <mapper namespace="com.example.demo.mapper.UserMapper">
  465.    
  466. </mapper>
复制代码
6.3 where 标签

如代码 select * from blog where userId=#{userId}
如果这里的 userId 是非必填项, 为空, 那么sql也会报错
下面的 标签也可以使用 替换。
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  3.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  4. <mapper namespace="com.example.demo.mapper.UserMapper">
  5.    
  6. </mapper><?xml version="1.0" encoding="UTF-8"?>
  7. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  8.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  9. <mapper namespace="com.example.demo.mapper.UserMapper">
  10.    
  11. </mapper><?xml version="1.0" encoding="UTF-8"?>
  12. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  13.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  14. <mapper namespace="com.example.demo.mapper.UserMapper">
  15.    
  16. </mapper>select * from blog<?xml version="1.0" encoding="UTF-8"?>
  17. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  18.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  19. <mapper namespace="com.example.demo.mapper.UserMapper">
  20.    
  21. </mapper><?xml version="1.0" encoding="UTF-8"?>
  22. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  23.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  24. <mapper namespace="com.example.demo.mapper.UserMapper">
  25.    
  26. </mapper><?xml version="1.0" encoding="UTF-8"?>
  27. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  28.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  29. <mapper namespace="com.example.demo.mapper.UserMapper">
  30.    
  31. </mapper><?xml version="1.0" encoding="UTF-8"?>
  32. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  33.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  34. <mapper namespace="com.example.demo.mapper.UserMapper">
  35.    
  36. </mapper><?xml version="1.0" encoding="UTF-8"?>
  37. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  38.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  39. <mapper namespace="com.example.demo.mapper.UserMapper">
  40.    
  41. </mapper><?xml version="1.0" encoding="UTF-8"?>
  42. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  43.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  44. <mapper namespace="com.example.demo.mapper.UserMapper">
  45.    
  46. </mapper><?xml version="1.0" encoding="UTF-8"?>
  47. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  48.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  49. <mapper namespace="com.example.demo.mapper.UserMapper">
  50.    
  51. </mapper><?xml version="1.0" encoding="UTF-8"?>
  52. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  53.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  54. <mapper namespace="com.example.demo.mapper.UserMapper">
  55.    
  56. </mapper><?xml version="1.0" encoding="UTF-8"?>
  57. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  58.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  59. <mapper namespace="com.example.demo.mapper.UserMapper">
  60.    
  61. </mapper>blogId = #{blogId}<?xml version="1.0" encoding="UTF-8"?>
  62. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  63.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  64. <mapper namespace="com.example.demo.mapper.UserMapper">
  65.    
  66. </mapper><?xml version="1.0" encoding="UTF-8"?>
  67. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  68.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  69. <mapper namespace="com.example.demo.mapper.UserMapper">
  70.    
  71. </mapper><?xml version="1.0" encoding="UTF-8"?>
  72. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  73.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  74. <mapper namespace="com.example.demo.mapper.UserMapper">
  75.    
  76. </mapper><?xml version="1.0" encoding="UTF-8"?>
  77. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  78.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  79. <mapper namespace="com.example.demo.mapper.UserMapper">
  80.    
  81. </mapper><?xml version="1.0" encoding="UTF-8"?>
  82. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  83.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  84. <mapper namespace="com.example.demo.mapper.UserMapper">
  85.    
  86. </mapper><?xml version="1.0" encoding="UTF-8"?>
  87. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  88.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  89. <mapper namespace="com.example.demo.mapper.UserMapper">
  90.    
  91. </mapper><?xml version="1.0" encoding="UTF-8"?>
  92. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  93.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  94. <mapper namespace="com.example.demo.mapper.UserMapper">
  95.    
  96. </mapper><?xml version="1.0" encoding="UTF-8"?>
  97. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  98.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  99. <mapper namespace="com.example.demo.mapper.UserMapper">
  100.    
  101. </mapper><?xml version="1.0" encoding="UTF-8"?>
  102. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  103.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  104. <mapper namespace="com.example.demo.mapper.UserMapper">
  105.    
  106. </mapper><?xml version="1.0" encoding="UTF-8"?>
  107. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  108.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  109. <mapper namespace="com.example.demo.mapper.UserMapper">
  110.    
  111. </mapper>and userId = #{userId}<?xml version="1.0" encoding="UTF-8"?>
  112. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  113.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  114. <mapper namespace="com.example.demo.mapper.UserMapper">
  115.    
  116. </mapper><?xml version="1.0" encoding="UTF-8"?>
  117. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  118.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  119. <mapper namespace="com.example.demo.mapper.UserMapper">
  120.    
  121. </mapper><?xml version="1.0" encoding="UTF-8"?>
  122. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  123.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  124. <mapper namespace="com.example.demo.mapper.UserMapper">
  125.    
  126. </mapper><?xml version="1.0" encoding="UTF-8"?>
  127. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  128.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  129. <mapper namespace="com.example.demo.mapper.UserMapper">
  130.    
  131. </mapper><?xml version="1.0" encoding="UTF-8"?>
  132. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  133.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  134. <mapper namespace="com.example.demo.mapper.UserMapper">
  135.    
  136. </mapper><?xml version="1.0" encoding="UTF-8"?>
  137. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  138.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  139. <mapper namespace="com.example.demo.mapper.UserMapper">
  140.    
  141. </mapper>
复制代码
  

  • 标签, 如果有查询条件就会生成where, 如果没有查询条件就不会生成where
  • where会判断第一个条件前面有没有and, 如果有就会去掉.
  6.4 set 标签

更新的时候也会出现问题, 使用  标签来解决
set标签和where标签差不多
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  3.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  4. <mapper namespace="com.example.demo.mapper.UserMapper">
  5.    
  6. </mapper><?xml version="1.0" encoding="UTF-8"?>
  7. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  8.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  9. <mapper namespace="com.example.demo.mapper.UserMapper">
  10.    
  11. </mapper><?xml version="1.0" encoding="UTF-8"?>
  12. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  13.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  14. <mapper namespace="com.example.demo.mapper.UserMapper">
  15.    
  16. </mapper>update user<?xml version="1.0" encoding="UTF-8"?>
  17. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  18.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  19. <mapper namespace="com.example.demo.mapper.UserMapper">
  20.    
  21. </mapper><?xml version="1.0" encoding="UTF-8"?>
  22. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  23.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  24. <mapper namespace="com.example.demo.mapper.UserMapper">
  25.    
  26. </mapper><?xml version="1.0" encoding="UTF-8"?>
  27. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  28.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  29. <mapper namespace="com.example.demo.mapper.UserMapper">
  30.    
  31. </mapper><?xml version="1.0" encoding="UTF-8"?>
  32. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  33.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  34. <mapper namespace="com.example.demo.mapper.UserMapper">
  35.    
  36. </mapper><?xml version="1.0" encoding="UTF-8"?>
  37. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  38.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  39. <mapper namespace="com.example.demo.mapper.UserMapper">
  40.    
  41. </mapper><?xml version="1.0" encoding="UTF-8"?>
  42. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  43.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  44. <mapper namespace="com.example.demo.mapper.UserMapper">
  45.    
  46. </mapper><?xml version="1.0" encoding="UTF-8"?>
  47. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  48.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  49. <mapper namespace="com.example.demo.mapper.UserMapper">
  50.    
  51. </mapper><?xml version="1.0" encoding="UTF-8"?>
  52. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  53.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  54. <mapper namespace="com.example.demo.mapper.UserMapper">
  55.    
  56. </mapper><?xml version="1.0" encoding="UTF-8"?>
  57. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  58.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  59. <mapper namespace="com.example.demo.mapper.UserMapper">
  60.    
  61. </mapper>username=#{username},<?xml version="1.0" encoding="UTF-8"?>
  62. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  63.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  64. <mapper namespace="com.example.demo.mapper.UserMapper">
  65.    
  66. </mapper><?xml version="1.0" encoding="UTF-8"?>
  67. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  68.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  69. <mapper namespace="com.example.demo.mapper.UserMapper">
  70.    
  71. </mapper><?xml version="1.0" encoding="UTF-8"?>
  72. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  73.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  74. <mapper namespace="com.example.demo.mapper.UserMapper">
  75.    
  76. </mapper><?xml version="1.0" encoding="UTF-8"?>
  77. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  78.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  79. <mapper namespace="com.example.demo.mapper.UserMapper">
  80.    
  81. </mapper><?xml version="1.0" encoding="UTF-8"?>
  82. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  83.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  84. <mapper namespace="com.example.demo.mapper.UserMapper">
  85.    
  86. </mapper><?xml version="1.0" encoding="UTF-8"?>
  87. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  88.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  89. <mapper namespace="com.example.demo.mapper.UserMapper">
  90.    
  91. </mapper><?xml version="1.0" encoding="UTF-8"?>
  92. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  93.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  94. <mapper namespace="com.example.demo.mapper.UserMapper">
  95.    
  96. </mapper><?xml version="1.0" encoding="UTF-8"?>
  97. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  98.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  99. <mapper namespace="com.example.demo.mapper.UserMapper">
  100.    
  101. </mapper><?xml version="1.0" encoding="UTF-8"?>
  102. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  103.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  104. <mapper namespace="com.example.demo.mapper.UserMapper">
  105.    
  106. </mapper><?xml version="1.0" encoding="UTF-8"?>
  107. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  108.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  109. <mapper namespace="com.example.demo.mapper.UserMapper">
  110.    
  111. </mapper>password=#{password},<?xml version="1.0" encoding="UTF-8"?>
  112. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  113.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  114. <mapper namespace="com.example.demo.mapper.UserMapper">
  115.    
  116. </mapper><?xml version="1.0" encoding="UTF-8"?>
  117. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  118.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  119. <mapper namespace="com.example.demo.mapper.UserMapper">
  120.    
  121. </mapper><?xml version="1.0" encoding="UTF-8"?>
  122. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  123.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  124. <mapper namespace="com.example.demo.mapper.UserMapper">
  125.    
  126. </mapper><?xml version="1.0" encoding="UTF-8"?>
  127. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  128.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  129. <mapper namespace="com.example.demo.mapper.UserMapper">
  130.    
  131. </mapper><?xml version="1.0" encoding="UTF-8"?>
  132. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  133.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  134. <mapper namespace="com.example.demo.mapper.UserMapper">
  135.    
  136. </mapper><?xml version="1.0" encoding="UTF-8"?>
  137. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  138.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  139. <mapper namespace="com.example.demo.mapper.UserMapper">
  140.    
  141. </mapper><?xml version="1.0" encoding="UTF-8"?>
  142. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  143.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  144. <mapper namespace="com.example.demo.mapper.UserMapper">
  145.    
  146. </mapper>where userId=#{userId}<?xml version="1.0" encoding="UTF-8"?>
  147. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  148.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  149. <mapper namespace="com.example.demo.mapper.UserMapper">
  150.    
  151. </mapper>
复制代码
6.5 foreach 标签

   标签有如下属性:
  

  • collection:绑定⽅法参数中的集合,如 List,Set,Map或数组对象
  • item:遍历时的每⼀个对象
  • open:语句块开头的字符串
  • close:语句块结束的字符串
  • separator:每次遍历之间间隔的字符串
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  3.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  4. <mapper namespace="com.example.demo.mapper.UserMapper">
  5.    
  6. </mapper><?xml version="1.0" encoding="UTF-8"?>
  7. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  8.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  9. <mapper namespace="com.example.demo.mapper.UserMapper">
  10.    
  11. </mapper><?xml version="1.0" encoding="UTF-8"?>
  12. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  13.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  14. <mapper namespace="com.example.demo.mapper.UserMapper">
  15.    
  16. </mapper>delete from user where userId in<?xml version="1.0" encoding="UTF-8"?>
  17. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  18.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  19. <mapper namespace="com.example.demo.mapper.UserMapper">
  20.    
  21. </mapper><?xml version="1.0" encoding="UTF-8"?>
  22. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  23.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  24. <mapper namespace="com.example.demo.mapper.UserMapper">
  25.    
  26. </mapper><?xml version="1.0" encoding="UTF-8"?>
  27. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  28.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  29. <mapper namespace="com.example.demo.mapper.UserMapper">
  30.    
  31. </mapper><?xml version="1.0" encoding="UTF-8"?>
  32. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  33.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  34. <mapper namespace="com.example.demo.mapper.UserMapper">
  35.    
  36. </mapper><?xml version="1.0" encoding="UTF-8"?>
  37. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  38.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  39. <mapper namespace="com.example.demo.mapper.UserMapper">
  40.    
  41. </mapper>#{item}<?xml version="1.0" encoding="UTF-8"?>
  42. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  43.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  44. <mapper namespace="com.example.demo.mapper.UserMapper">
  45.    
  46. </mapper><?xml version="1.0" encoding="UTF-8"?>
  47. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  48.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  49. <mapper namespace="com.example.demo.mapper.UserMapper">
  50.    
  51. </mapper><?xml version="1.0" encoding="UTF-8"?>
  52. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  53.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  54. <mapper namespace="com.example.demo.mapper.UserMapper">
  55.    
  56. </mapper>
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

张国伟

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表