• Mybatis-Plus 快速入门


    MP是对Mybatis的开发简化,目前我们可以简单将其理解为MP封装了各种SQL语句。

    这样一来我们在开发时便可以利用MP提供的BaseMapper接口完成对数据库的各种操作,而不是亲自编写Mapper接口,同时mapper.xml也变得不必要。

    Spring+MP开发示例:

    1、添加依赖:

    1. <project xmlns="http://maven.apache.org/POM/4.0.0"
    2. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    3. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    4. <modelVersion>4.0.0modelVersion>
    5. <groupId>org.examplegroupId>
    6. <artifactId>MybatisPlusartifactId>
    7. <packaging>pompackaging>
    8. <version>1.0-SNAPSHOTversion>
    9. <modules>
    10. <module>增强原生Mybatismodule>
    11. modules>
    12. <properties>
    13. <maven.compiler.source>8maven.compiler.source>
    14. <maven.compiler.target>8maven.compiler.target>
    15. properties>
    16. <dependencies>
    17. <dependency>
    18. <groupId>org.springframeworkgroupId>
    19. <artifactId>spring-contextartifactId>
    20. <version>5.0.5.RELEASEversion>
    21. dependency>
    22. <dependency>
    23. <groupId>org.springframeworkgroupId>
    24. <artifactId>spring-testartifactId>
    25. <version>5.0.5.RELEASEversion>
    26. dependency>
    27. <dependency>
    28. <groupId>org.springframeworkgroupId>
    29. <artifactId>spring-webartifactId>
    30. <version>5.0.5.RELEASEversion>
    31. dependency>
    32. <dependency>
    33. <groupId>org.springframeworkgroupId>
    34. <artifactId>spring-webmvcartifactId>
    35. <version>5.0.5.RELEASEversion>
    36. dependency>
    37. <dependency>
    38. <groupId>org.springframeworkgroupId>
    39. <artifactId>spring-jdbcartifactId>
    40. <version>5.0.5.RELEASEversion>
    41. dependency>
    42. <dependency>
    43. <groupId>org.springframeworkgroupId>
    44. <artifactId>spring-txartifactId>
    45. <version>5.0.5.RELEASEversion>
    46. dependency>
    47. <dependency>
    48. <groupId>com.baomidougroupId>
    49. <artifactId>mybatis-plusartifactId>
    50. <version>3.5.1version>
    51. dependency>
    52. <dependency>
    53. <groupId>mysqlgroupId>
    54. <artifactId>mysql-connector-javaartifactId>
    55. <version>8.0.26version>
    56. dependency>
    57. <dependency>
    58. <groupId>com.alibabagroupId>
    59. <artifactId>druidartifactId>
    60. <version>1.2.8version>
    61. dependency>
    62. <dependency>
    63. <groupId>org.projectlombokgroupId>
    64. <artifactId>lombokartifactId>
    65. <version>1.18.22version>
    66. dependency>
    67. <dependency>
    68. <groupId>junitgroupId>
    69. <artifactId>junitartifactId>
    70. <version>4.13.1version>
    71. dependency>
    72. <dependency>
    73. <groupId>log4jgroupId>
    74. <artifactId>log4jartifactId>
    75. <version>1.2.17version>
    76. dependency>
    77. dependencies>
    78. <build>
    79. <pluginManagement>
    80. <plugins>
    81. <plugin>
    82. <artifactId>maven-compiler-pluginartifactId>
    83. <version>3.8.0version>
    84. plugin>
    85. plugins>
    86. pluginManagement>
    87. build>
    88. project>

     

    2、建立数据库及表:

     

    3、配置applicationContext.xml:

    1. <beans xmlns="http://www.springframework.org/schema/beans"
    2. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    3. xmlns:context="http://www.springframework.org/schema/context"
    4. xsi:schemaLocation="http://www.springframework.org/schema/beans
    5. http://www.springframework.org/schema/beans/spring-beans.xsd
    6. http://www.springframework.org/schema/context
    7. http://www.springframework.org/schema/context/spring-context.xsd">
    8. <context:property-placeholder location="classpath:jdbc.properties"/>
    9. <bean name="dataSource" class="com.alibaba.druid.pool.DruidDataSource">
    10. <property name="driverClassName" value="${driverClass}"/>
    11. <property name="url" value="${url}"/>
    12. <property name="username" value="${user}"/>
    13. <property name="password" value="${password}"/>
    14. bean>
    15. <bean id="sqlSessionFactory" class="com.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean">
    16. <property name="dataSource" ref="dataSource">property>
    17. <property name="typeAliasesPackage" value="pojo"/>
    18. bean>
    19. <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
    20. <property name="basePackage" value="mapper"/>
    21. bean>
    22. beans>

    配置SessionFactory时使用MP提供的MybatisSqlSessionFactoryBean:

    "com.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean"

    4、编写User对象与Mapper接口

    User:

    1. package pojo;
    2. import com.baomidou.mybatisplus.annotation.TableName;
    3. import lombok.AllArgsConstructor;
    4. import lombok.Data;
    5. import lombok.NoArgsConstructor;
    6. @Data
    7. @NoArgsConstructor
    8. @AllArgsConstructor
    9. @TableName("tb_user")
    10. public class User {
    11. //lombok注解自动为对象创建各种方法
    12. private Long id;
    13. private String userName;
    14. private String password;
    15. private String name;
    16. private Integer age;
    17. private String email;
    18. }

    其中 @Date@NoargsConstructor @AllArgsConstructor 为lombok提供的注解,自动为User对象编写set、get、构造体等方法:

    Mapper接口:

    1. package mapper;
    2. import com.baomidou.mybatisplus.core.mapper.BaseMapper;
    3. import pojo.User;
    4. public interface UserMapper extends BaseMapper {//继承BaseMapper后便可使用其封装的诸多方法
    5. }

    BaseMapper中封装了诸多方法,继承后直接引用即可:

     

    5、其他配置文件:

    jdbc.properties;

    log4j.properties。

    6、测试:

    1. @RunWith(SpringJUnit4ClassRunner.class)
    2. @ContextConfiguration(locations = {"classpath*:applicationContext.xml"})
    3. public class test {
    4. @Autowired
    5. private UserMapper mapper;
    6. @Test
    7. public void test() {
    8. List list = mapper.selectList(null);
    9. for(User user: list ) {
    10. System.out.println(user);
    11. }
    12. }
    13. }

    运行成功:

     

  • 相关阅读:
    windows hello出现问题怎么办?
    电磁仿真设计RMxprt-6p72s电励磁凸极同步电机分析案例
    k8s集群配置
    请问有哪些让人惊艳的数据可视化工具?
    软考高级-系统架构师-案例分析-数据库真题考点汇总
    安排项目宣讲日程得到最多的宣讲场次
    Django框架之模型层(二)
    为何互联网大厂都在采用蓝绿发布、滚动发布、灰度发布?
    动画一:过渡(超详细!)
    Ubuntu 软件包管理工具 —— dkpg、apt(dpkg常用指令、apt 软件源的配置)
  • 原文地址:https://blog.csdn.net/qq_57389269/article/details/126001124