MyBatisPlus--简单使用

朴灿烈づ我的快乐病毒、 2021-08-26 18:33 714阅读 0赞

创建Maven工程,引入依赖

  1. <dependencies>
  2. <!-- mybatis-plus插件 -->
  3. <dependency>
  4. <groupId>com.baomidou</groupId>
  5. <artifactId>mybatis-plus</artifactId>
  6. <version>3.1.1</version>
  7. </dependency>
  8. <!-- MySQL -->
  9. <dependency>
  10. <groupId>mysql</groupId>
  11. <artifactId>mysql-connector-java</artifactId>
  12. <version>5.1.47</version>
  13. </dependency>
  14. <!-- 连接池 -->
  15. <dependency>
  16. <groupId>com.alibaba</groupId>
  17. <artifactId>druid</artifactId>
  18. <version>1.0.11</version>
  19. </dependency>
  20. <!-- 简化bean代码的工具包 -->
  21. <dependency>
  22. <groupId>org.projectlombok</groupId>
  23. <artifactId>lombok</artifactId>
  24. <optional>true</optional>
  25. <version>1.18.4</version>
  26. </dependency>
  27. <dependency>
  28. <groupId>junit</groupId>
  29. <artifactId>junit</artifactId>
  30. <version>4.12</version>
  31. <scope>test</scope>
  32. </dependency>
  33. <dependency>
  34. <groupId>org.slf4j</groupId>
  35. <artifactId>slf4j-log4j12</artifactId>
  36. <version>1.6.4</version>
  37. </dependency>
  38. </dependencies>
  39. <build>
  40. <plugins>
  41. <plugin>
  42. <groupId>org.apache.maven.plugins</groupId>
  43. <artifactId>maven-compiler-plugin</artifactId>
  44. <configuration>
  45. <source>1.8</source>
  46. <target>1.8</target>
  47. </configuration>
  48. </plugin>
  49. </plugins>
  50. </build>

配置

log4j.properties

  1. log4j.rootLogger=DEBUG,A1
  2. log4j.appender.A1=org.apache.log4j.ConsoleAppender
  3. log4j.appender.A1.layout=org.apache.log4j.PatternLayout
  4. log4j.appender.A1.layout.ConversionPattern=[%t] [%c]-[%p] %m%n

mybatis-config.xml

  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
  3. <configuration>
  4. <environments default="development">
  5. <environment id="development">
  6. <transactionManager type="JDBC"/>
  7. <dataSource type="POOLED">
  8. <property name="driver" value="com.mysql.jdbc.Driver"/>
  9. <property name="url" value="jdbc:mysql://127.0.0.1:3306/mbplus?useUnicode=true&characterEncoding=utf8&autoReconnect=true&allowMultiQueries=true&useSSL=false"/>
  10. <property name="username" value="root"/>
  11. <property name="password" value="123456"/>
  12. </dataSource>
  13. </environment>
  14. </environments>
  15. <mappers>
  16. <mapper resource="UserMapper.xml"/>
  17. </mappers>
  18. </configuration>

User实体类

  1. @Data
  2. @NoArgsConstructor
  3. @AllArgsConstructor
  4. @TableName("tb_user") //指定数据库的表名
  5. public class User {
  6. private Long id;
  7. private String userName;
  8. private String password;
  9. private String name;
  10. private Integer age;
  11. private String email;
  12. }

UserMapper和UserMapper.xml

  1. //继承BasseMapper并指定泛型
  2. public interface UserMapper extends BaseMapper<User> {
  3. List<User> findAll();
  4. }
  5. <?xml version="1.0" encoding="UTF-8" ?>
  6. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  7. <mapper namespace="pers.zhang.mapper.UserMapper">
  8. <select id="findAll" resultType="pers.zhang.pojo.User">
  9. SELECT *
  10. FROM tb_user
  11. </select>
  12. </mapper>

测试

首先测试自己写的SQL:

  1. @Test
  2. public void testFindAll() throws IOException {
  3. String config = "mybatis-config.xml";
  4. InputStream i = Resources.getResourceAsStream(config);
  5. SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(i);
  6. SqlSession sqlSession = sqlSessionFactory.openSession();
  7. UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
  8. //测试
  9. List<User> all = userMapper.findAll();
  10. for (User u : all)
  11. System.out.println(u);
  12. }

控制台输出:

  1. [main] [pers.zhang.mapper.UserMapper.findAll]-[DEBUG] ==> Preparing: SELECT * FROM tb_user
  2. [main] [pers.zhang.mapper.UserMapper.findAll]-[DEBUG] ==> Parameters:
  3. [main] [pers.zhang.mapper.UserMapper.findAll]-[DEBUG] <== Total: 5
  4. User(id=1, userName=null, password=123456, name=张三, age=18, email=test1@qq.com)
  5. User(id=2, userName=null, password=123456, name=李四, age=28, email=test2@qq.com)
  6. User(id=3, userName=null, password=123456, name=王五, age=38, email=test3@qq.com)
  7. User(id=4, userName=null, password=123456, name=赵六, age=48, email=test4@qq.com)
  8. User(id=5, userName=null, password=123456, name=小强, age=58, email=test5@qq.com)

测试MyBatis-Plus提供的方法:

  1. @Test
  2. public void testMP() throws IOException {
  3. String config = "mybatis-config.xml";
  4. InputStream i = Resources.getResourceAsStream(config);
  5. //使用MP中的MybatisSqlSessionFactoryBuilder进行构建
  6. SqlSessionFactory sqlSessionFactory = new MybatisSqlSessionFactoryBuilder().build(i);
  7. SqlSession sqlSession = sqlSessionFactory.openSession();
  8. UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
  9. //测试mybatis-plus提供的selectList()方法
  10. List<User> all = userMapper.selectList(null);
  11. for (User u : all)
  12. System.out.println(u);
  13. }

控制台打印:

  1. [main] [pers.zhang.mapper.UserMapper.selectList]-[DEBUG] ==> Preparing: SELECT id,user_name,password,name,age,email FROM tb_user
  2. [main] [pers.zhang.mapper.UserMapper.selectList]-[DEBUG] ==> Parameters:
  3. [main] [pers.zhang.mapper.UserMapper.selectList]-[DEBUG] <== Total: 5
  4. User(id=1, userName=zhangsan, password=123456, name=张三, age=18, email=test1@qq.com)
  5. User(id=2, userName=lisi, password=123456, name=李四, age=28, email=test2@qq.com)
  6. User(id=3, userName=wangwu, password=123456, name=王五, age=38, email=test3@qq.com)
  7. User(id=4, userName=zhaoliu, password=123456, name=赵六, age=48, email=test4@qq.com)
  8. User(id=5, userName=xiaoqiang, password=123456, name=小强, age=58, email=test5@qq.com)

结果一致,但SQL不同,SQL是继承BaseMapper得来的,由MyBatis-Plus提供的。

发表评论

表情:
评论列表 (有 0 条评论,714人围观)

还没有评论,来说两句吧...

相关阅读