<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                ## 一、Spring Boot整合Mybatis Plus 通過maven坐標引入依賴 ~~~ <!-- mybatis --> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.1.2</version> </dependency> <!-- mysql --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <scope>runtime</scope> </dependency> <!-- lombok --> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional> </dependency> ~~~ application配置數據源及日志輸出級別 ~~~ # 配置數據源 spring: datasource: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://192.168.161.3:3306/testdb?useUnicode=true&characterEncoding=utf-8&useSSL=false username: test password: <填上數據庫訪問密碼> # 配置日志 logging: level: root: warn com.zimug.boot.launch.mapper: trace ~~~ 第三步:配置Mybatis的Mapper類文件的包掃描路徑 ~~~ @SpringBootApplication @MapperScan(basePackages = {"com.zimug.boot.launch.mapper"}) public class BootLaunchApplication { public static void main(String[] args) { SpringApplication.run(BootLaunchApplication.class, args); } } ~~~ ## 二、編碼構建實體和Mapper 編寫實體類`User.java`,對應的數據庫表創建SQL在文末。 ~~~ @Data //lombok注解 public class User { private Long id; private String name; private Integer age; private String email; } ~~~ 編寫Mapper類`UserMapper.java` ~~~ public interface UserMapper extends BaseMapper<User> { } ~~~ ## 三、CRUD基礎使用案例 ### 3.1.增加一條記錄 ~~~ User user = new User(); user.setName("字母哥"); user.setAge(18); int row = userMapper.insert(user); System.out.println("影響記錄數:"+row); System.out.println("雪花算法id: "+user.getId()); ~~~ 寫了上面的java代碼,MP將會自動的根據java代碼構造下面的SQL去數據庫執行。注意:主鍵默認采用雪花算法 ~~~ # 主鍵自動填充了雪花算法 INSERT INTO user ( id, name, age) VALUES ( ?, ?, ? ) ~~~ ### 3.2.根據主鍵刪除一條記錄 ~~~ int rows = userMapper.deleteById(1170243901535006722L); System.out.println("影響記錄數:" + rows); ~~~ 1170243901535006722L是數據插入的時候根據雪花算法生成的id ~~~ DELETE FROM user WHERE id=? ~~~ ### 3.3.根據條件刪除記錄 ~~~ //構造條件 Map<String,Object> map = new HashMap<>(); map.put("name","字母哥"); map.put("age",18); //執行刪除 int rows = userMapper.deleteByMap(map); System.out.println("影響記錄數:" + rows); ~~~ ~~~ DELETE FROM user WHERE name = ? AND age = ? ~~~ ### 3.4.根據主鍵查詢一條數據 ~~~ User user = userMapper.selectById(1089911557332887553L); System.out.println(user); ~~~ ~~~ SELECT id,name,age,email FROM user WHERE id=? ~~~ ### 3.5.根據ids批量查找數據 ~~~ List<Long> ids = Arrays.asList( 1087982257332887553L, 1094590409767661570L, 1094592041087729666L ); List<User> list = userMapper.selectBatchIds(ids); list.forEach(System.out::println); ~~~ ~~~ SELECT id,name,age,email FROM user WHERE id IN ( ? , ? , ? ) ~~~ ### 3.6.根據指定參數查詢 ~~~ Map<String, Object> map = new HashMap<>(); //map的key指代的是mysql表中的列名,并非java實體的屬性名 map.put("name", "Jone"); List<User> list = userMapper.selectByMap(map); list.forEach(System.out::println); ~~~ ~~~ SELECT id,name,age,email FROM user WHERE name = ? ~~~ ### 3.7.指定查詢結果字段 ~~~ QueryWrapper<User> query = new QueryWrapper<>(); query.select("name", "age") //指定查詢結果字段 .in("age", Arrays.asList(30, 31, 34, 35)) .last("limit 1"); List<User> list = userMapper.selectList(query); list.forEach(System.out::println); ~~~ ~~~ SELECT name,age FROM user WHERE age IN (?,?,?,?) LIMIT 1 ~~~ ~~~ QueryWrapper<User> query = new QueryWrapper<>(); query.like("name", "J") //like是MP的條件構造器,表示"模糊查詢" .lt("age", 40) //lt是MP的條件構造器,表示"小于"關系 .select("name", "age"); List<Map<String, Object>> maps = userMapper.selectMaps(query); maps.forEach(System.out::println); ~~~ ~~~ SELECT name,age FROM user WHERE name LIKE ? AND age < ? ~~~ ### 3.8.通過主鍵id修改數據 ~~~ User user = new User(); user.setId(1088248199570832385L); user.setAge(18); user.setEmail("hadoopcn2@163.com"); int rows = userMapper.updateById(user); System.out.println("影響記錄數:" + rows); ~~~ ~~~ UPDATE user SET age=?, email=? WHERE id=? ~~~ ### 3.9.根據UpdateWrapper自定義條件修改數據 ~~~ UpdateWrapper<User> update = new UpdateWrapper<>(); update.eq("name", "Jack").eq("age", 28); //eq是MP的條件構造器,表示"等于"關系 User user = new User(); user.setAge(29); user.setEmail("hadoopcn2@163.com"); int rows = userMapper.update(user, update); System.out.println("影響記錄數:" + rows); ~~~ ~~~ UPDATE user SET age=?, email=? WHERE name = ? AND age = ? ~~~ ## 附錄---測試SQL: ~~~ 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) ); ~~~ 其對應的數據庫 Data 腳本如下: ~~~ DELETE FROM user; INSERT INTO user (id, name, age, email) VALUES (1, 'Jone', 18, 'test1@baomidou.com'), (2, 'Jack', 20, 'test2@baomidou.com'), (3, 'Tom', 28, 'test3@baomidou.com'), (4, 'Sandy', 21, 'test4@baomidou.com'), (5, 'Billie', 24, 'test5@baomidou.com'); ~~~
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看