Java中如何使用MyBatis-Plus操作数据库(java,mybatis-plus,数据库,开发技术)

时间:2024-04-29 07:46:04 作者 : 石家庄SEO 分类 : 开发技术
  • TAG :

MyBatis-Plus

MyBatis-Plus (opens new window)(简称 MP)是一个 MyBatis (opens new window)的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。

MyBatis可以直接在xml中通过SQL语句操作数据库,很灵活。但其操作都要通过SQL语句进行,就必须写大量的xml文件,很麻烦。mybatis-plus就很好的解决了这个问题。

官网

MyBatis-Plus 官方文档

使用

这里我用的数据库是mysql8,新建test数据库,并创建user表

Java中如何使用MyBatis-Plus操作数据库

Java中如何使用MyBatis-Plus操作数据库

建表语句

SETNAMESutf8mb4;SETFOREIGN_KEY_CHECKS=0;--------------------------------Tablestructureforuser------------------------------DROPTABLEIFEXISTS`user`;CREATETABLE`user`(`id`varchar(50)CHARACTERSETutf8COLLATEutf8_general_ciNOTNULLCOMMENT'主键',`name`varchar(20)CHARACTERSETutf8COLLATEutf8_general_ciNULLDEFAULTNULLCOMMENT'姓名',`age`int(0)NULLDEFAULTNULLCOMMENT'年龄',`address`varchar(50)CHARACTERSETutf8COLLATEutf8_general_ciNULLDEFAULTNULLCOMMENT'地址',PRIMARYKEY(`id`)USINGBTREE)ENGINE=InnoDBCHARACTERSET=utf8COLLATE=utf8_general_ciROW_FORMAT=Dynamic;SETFOREIGN_KEY_CHECKS=1;

引入依赖

这里我用的数据库是mysql8

<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.6.3</version><relativePath/></parent><dependencies><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId><scope>runtime</scope><optional>true</optional></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-test</artifactId></dependency><dependency><groupId>junit</groupId><artifactId>junit</artifactId></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-test</artifactId></dependency><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.5.1</version></dependency><!--Druid连接池--><dependency><groupId>com.alibaba</groupId><artifactId>druid-spring-boot-starter</artifactId><version>1.1.9</version></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.25</version></dependency></dependencies>

分别创建application.yml及application-dev.yml文件

application.yml

#Spring配置spring:#环境设置profiles:active:dev#模板引擎thymeleaf:mode:HTMLencoding:utf-8#禁用缓存cache:false#服务模块devtools:restart:#热部署开关enabled:true

application-dev.yml

#开发环境配置server:#服务器的HTTP端口,默认为80port:8081spring:datasource:type:com.alibaba.druid.pool.DruidDataSourcedriver-class-name:com.mysql.cj.jdbc.Driverdruid:url:jdbc:mysql://localhost:3307/test?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8username:rootpassword:123456initial-size:5min-idle:10max-active:20max-wait:60000time-between-eviction-runs-millis:60000min-evictable-idle-time-millis:300000validation-query:select'x'test-while-idle:truetest-on-borrow:falsetest-on-return:falsepool-prepared-statements:truemax-open-prepared-statements:50max-pool-prepared-statement-per-connection-size:20

编写实体类User.java,这里用到lombok

@DatapublicclassUser{privateStringid;privateStringname;privateIntegerage;privateStringaddress;}

创建mapper文件夹,并编写Mapper 类UserMapper.java

publicinterfaceUserMapperextendsBaseMapper<User>{}

在 Spring Boot 启动类中添加@MapperScan注解,扫描 Mapper 文件夹:

@SpringBootApplication@MapperScan("com.mybatisplus.mapper")publicclassMainApplication{publicstaticvoidmain(String[]args){SpringApplication.run(MainApplication.class,args);}}

添加测试类,进行功能测试:

测试数据插入数据库

@AutowiredprivateUserMapperuserMapper;@TestpublicvoidtestInsert(){System.out.println(("-----insertmethodtest------"));Useruser=newUser();//自动生成主键,例如550E8400-E29B-11D4-A716-446655440000Stringid=UUID.randomUUID().toString();StringreplaceAll=id.replaceAll("-","");//550E8400E29B11D4A716446655440000user.setId(replaceAll);user.setName("张三");user.setAge(21);user.setAddress("北京市海淀区");intinsert=userMapper.insert(user);if(insert>0){System.out.println("插入成功:"+user);}else{System.out.println("插入失败!");}}

Java中如何使用MyBatis-Plus操作数据库

Java中如何使用MyBatis-Plus操作数据库

测试查询所有

@AutowiredprivateUserMapperuserMapper;@TestpublicvoidtestSelect(){System.out.println(("-----selectAllmethodtest------"));List<User>userList=userMapper.selectList(null);userList.forEach(System.out::println);}

Java中如何使用MyBatis-Plus操作数据库

测试删除数据

删除姓名等于“张三”的记录

@AutowiredprivateUserMapperuserMapper;@TestpublicvoidtestDelete(){System.out.println(("-----deletemethodtest------"));LambdaQueryWrapper<User>wrapper=newLambdaQueryWrapper<>();Useruser=newUser();user.setName("张三");wrapper.eq(User::getName,user.getName());intdelete=userMapper.delete(wrapper);if(delete>0){System.out.println("删除成功:"+user);}else{System.out.println("删除失败!");}}

Java中如何使用MyBatis-Plus操作数据库

测试修改数据

修改前先执行下插入

Java中如何使用MyBatis-Plus操作数据库

修改还可以用userMapper.updateById(T entity)方法来修改,传入一个实体类

@AutowiredprivateUserMapperuserMapper;@TestpublicvoidtestUpdate(){System.out.println(("-----updatemethodtest------"));LambdaQueryWrapper<User>wrapper=newLambdaQueryWrapper<>();Useruser=newUser();user.setName("张三");wrapper.eq(User::getName,user.getName());UseruserNew=newUser();userNew.setName("李四");intupdate=userMapper.update(userNew,wrapper);if(update>0){System.out.println("修改成功:"+user);}else{System.out.println("修改失败!");}}

Java中如何使用MyBatis-Plus操作数据库

Java中如何使用MyBatis-Plus操作数据库

 </div> <div class="zixun-tj-product adv-bottom"></div> </div> </div> <div class="prve-next-news">
本文:Java中如何使用MyBatis-Plus操作数据库的详细内容,希望对您有所帮助,信息来源于网络。
上一篇:Nodejs的fs模块怎么使用下一篇:

6 人围观 / 0 条评论 ↓快速评论↓

(必须)

(必须,保密)

阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18