<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
做開發,免不了對資料進行增刪改查,那麼mybatis-plus我覺得很適合我這個java新手,簡單好用。
官網在這
MyBatis-Plus(簡稱 MP),是一個MyBatis的增強工具,在MyBatis的基礎上只做增強 不做改變,為簡化開發、提高效率而生。
任何能使用mybatis進行crud,並且支援標準sql的資料庫,mp都可以勝任。
既然是來運算元據的,那得準備好資料的環境。
# 建立資料庫 CREATE DATABASE mybatis_plus; # 建立表 DROP TABLE IF EXISTS user; CREATE TABLE user ( id BIGINT(20) NOT NULL COMMENT '主鍵ID', name VARCHAR(30) NULL DEFAULT NULL COMMENT '姓名', age INT(11) NULL DEFAULT NULL COMMENT '年齡', email VARCHAR(50) NULL DEFAULT NULL COMMENT '郵箱', PRIMARY KEY (id) ); # 插入資料 INSERT INTO user (id, name, age, email) VALUES (1, 'wesson1', 18, 'pingguotest1@pingguo.com'), (2, 'wesson2', 19, 'pingguotest1@pingguo.com'), (3, 'wesson3', 20, 'pingguotest1@pingguo.com'), (4, 'wesson4', 22, 'pingguotest1@pingguo.com'), (5, 'wesson5', 20, 'pingguotest1@pingguo.com');
為了方便,可以新建一個Spring Initializr工程。
設定pom.xml檔案,可以修改下springboot的版本,我們使用穩定版的2.2.1.RELEASE。
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.2.1.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent>
接著新增maven依賴。
<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> <exclusions> <exclusion> <groupId>org.junit.vintage</groupId> <artifactId>junit-vintage-engine</artifactId> </exclusion> </exclusions> </dependency> <!--mybatis-plus--> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.0.5</version> </dependency> <!--mysql--> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency> <!--lombok 簡化實體類--> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.12</version> </dependency> </dependencies>
還有,在idea裡安裝lombok外掛。到settings裡plugin下,搜尋lombok回車,安裝即可。
找到application.properties檔案,路徑如圖所示,
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver spring.datasource.url=jdbc:mysql://XXXXXX:3306/mybatis_plus?characterEncoding=UTF-8&serverTimezone=GMT%2B8 spring.datasource.username=XXXX spring.datasource.password=XXXXX #mybatis紀錄檔,在控制檯可以看到操作過程紀錄檔 mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl
注意:這裡使用的是mysql8,springboot2.1以上的版本,整合了8.0版本的jdbc驅動,在url里加上字尾?characterEncoding=UTF-8&serverTimezone=GMT%2B8。
另外,driver-class-name也建議加上cj,com.mysql.cj.jdbc.Driver。因為之前的com.mysql.jdbc.Driver已經廢棄了,執行的時候會有warning。
在操作之前,還有些準備程式碼需要完成:
package com.pingguo.mpdemo.entity; import lombok.Data; @Data public class User { private Long id; private String name; private Integer age; private String email; }
這裡加上@Data註解即可,不要手動的編寫set、get、tostring方法了。
package com.pingguo.mpdemo.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.pingguo.mpdemo.entity.User; import org.springframework.stereotype.Repository; @Repository public interface UserMapper extends BaseMapper<User> { }
這是一個mapper介面,我們要繼承BaseMapper,把User實體傳進去,就可以使用crud了。
在啟動類上,加個註解,mapper的路徑。
package com.pingguo.mpdemo; import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication // 設定掃描mapper的路徑 @MapperScan("com.pingguo.mpdemo.mapper") public class MpdemoApplication { public static void main(String[] args) { SpringApplication.run(MpdemoApplication.class, args); } }
為了方便,可以直接在單元測試程式碼裡進行crud操作。
因為事先我們在表裡已經插入了資料,所以現在可以去把所有資料都查出來。
@SpringBootTest class MpdemoApplicationTests { @Autowired private UserMapper userMapper; @Test void findAll() { List<User> users = userMapper.selectList(null); System.out.println(users); } }
因為我們設定了mybatis的紀錄檔,所以在控制檯可以看到整個的操作過程。
// 新增 @Test void addUser() { User user = new User(); user.setName("pingguo"); user.setAge(21); user.setEmail("pingguo@pingguo.com"); userMapper.insert(user); } // 刪除 @Test void deleteUser() { userMapper.deleteById(1L); } // 修改 @Test void updateUser() { User user = new User(); user.setId(2L); user.setName("修改名稱222"); userMapper.updateById(user); }
新增、刪除、修改也很簡單,可以通過紀錄檔看下執行過程。
以上就是通過mp實現簡單的增刪改查,很方便,其他內容後面繼續,更多關於mybatis plus資料庫CURD的資料請關注it145.com其它相關文章!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45