您好,登錄后才能下訂單哦!
這篇文章主要介紹如何搭建boot+MybatisPlus,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
創建表
CREATE TABLE `login`( `id` INT(4) primary key auto_increment, `login_id` VARCHAR(50) UNIQUE, `city` VARCHAR(50) DEFAULT '富平', `password` VARCHAR(50) )
在可視化工具中添加數據(我不太會寫sql)
<dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.1.2</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency>
spring: datasource: url: jdbc:mysql://localhost:3306/test0314?characterEncoding=utf-8&serverTimezone=UTC username: root password: root driver-class-name: com.mysql.cj.jdbc.Driver
該接口中提供了常用的crud方法,我們只需要從容器中獲取mapper操作數據即可
package com.hand.demo.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.hand.demo.entity.User; /** * 用戶數據訪問層接口 * */ public interface UserMapper extends BaseMapper<User> { }
在啟動類中配置我們的mapper在哪個包
兩種方法:@Mapper注解(麻煩);@MapperScan(在主啟動類上進行配置)
@SpringBootApplication @MapperScan("com.hand.demo.mapper") public class Demo0318Application { public static void main(String[] args) { SpringApplication.run(Demo0318Application.class, args); } }
<dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <scope>test</scope> </dependency>
在test包下
package com.hand.demo; import com.hand.demo.entity.User; import com.hand.demo.mapper.UserMapper; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import java.util.List; @SpringBootTest class Demo0318ApplicationTests { @Autowired private UserMapper userMapper; /** * 獲取UserMapper實現類對象(mybatisPlus容器會使用動態代理生成該接口的實現類對象,并注入到spring容器中 * 所以我們只需要在這定義一個成員變量,通過注解自動注入即可) * */ @Test public void testQueryAll() { List<User> userList = userMapper.selectList(null); System.out.println(userList); } }
設置表前綴配置
@TableId(type = IdType.AUTO) private Long id;
mybatis-plus: global-config: db-config: table-prefix: id-type: auto
mybatis-plus: global-config: db-config: table-prefix: id-type: auto configuration: map-underscore-to-camel-case: false
mybatis-plus: global-config: db-config: table-prefix: id-type: auto configuration: map-underscore-to-camel-case: false log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
Wrapper AbstractWrapper QueryWrapper UpdateWrapper
QueryWrapper的select可以設置需要查詢的列
不需要手動注入該泛型內的mapper
如果需要別的mapper手動注入就行
package com.hand.demo.service; import com.baomidou.mybatisplus.extension.service.IService; import com.hand.demo.entity.User; public interface UserService extends IService<User> { }
package com.hand.demo.service.Impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.hand.demo.entity.User; import com.hand.demo.mapper.UserMapper; import com.hand.demo.service.UserService; @Service public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService { }
@Autowired private UserService userService; @Test public void testService() { List<User> list = userService.list(); System.out.println(list); }
也有自己的批量操作等(batch)
自定義方法(多表關聯)
每個接口都在繼承相同的BaseMapper,IService(代碼冗余,繁瑣)
MybatisPlus提供的代碼生成器,一鍵生成mvc三層所有代碼
如何使用,引入下邊的包
<dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-generator</artifactId> <version>3.5.2</version> </dependency> <dependency> <groupId>org.freemarker</groupId> <artifactId>freemarker</artifactId> </dependency>
以上是“如何搭建boot+MybatisPlus”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。