プロジェクトを作成する
プロジェクトディレクトリ全体
- java
①コントローラー層:メソッド呼び出しを担当する制御層
②エンティティ層:Java Beans(属性+ get、set、toStringメソッド)を格納するエンティティ層
③マッパーレイヤー:リソース内のマッパーとのドッキング
④サービス層:さまざまなサービスを扱うビジネス層
⑤アプリケーションクラス:プロジェクト全体のメインメソッドに相当
- 資力
①mapper:データベースに関連するMapper.xmlファイルを保存します
②application.properties:SpringBootの設定ファイルです。
SpringBootはSpringMVCを統合します
①pom.xmlを開き、SpringMVC依存関係を導入し、次のコードを<dependencies> </dependencies>タグに入れ(内部の他のコードを上書きすることはできません)、CTRL + SHIFT+Oで依存関係を更新します
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency>
SpringBootはMybatisを統合します
①pom.xmlを開き、Mybatisの依存関係を導入し、次のコードを<dependencies> </dependencies>タグに入れます(内部の他のコードを上書きすることはできません)、CTRL + SHIFT+Oで依存関係を更新します
<dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>2.1.1</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <scope>runtime</scope> </dependency>
②設定ファイルアプリケーションの拡張子を.ymlまたは.yamlに変更します[冗長性が低く、操作が簡単で使いやすいため、通常は.yml/.yamlを使用します]
③設定ファイルを書く
spring: datasource: url: jdbc:mysql://localhost:3306/QCBY_DB?useUnicode=true&characterEncoding=utf-8 username: root password: 密码 driver-class-name: com.mysql.cj.jdbc.Driver mybatis: mapper-locations: classpath:mapper/*.xml #对应resources/mapper映射xml文件所在路径 type-aliases-package: com.qcby.entity #对应实体类路径
模擬試験
①データベースはユーザーテーブルを作成し、データを挿入します
CREATE TABLE `user` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `name` varchar(255) COLLATE utf8mb4_bin DEFAULT NULL COMMENT '用户名', PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin;
②エンティティパッケージで、Userエンティティクラスを作成します
public class User { private Long id; private String name; //get,set,toString方法 }
③マッパーパッケージの下にUserMapperインターフェースを作成し、@Mapperアノテーションを追加します
@Mapper public interface UserMapper { }
④resources/mapperディレクトリにUserMapper.xmlファイルを作成して、データベース内のデータをクエリします
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.qcby.mapper.UserMapper"> <select id="findAll" resultType="com.qcby.entity.User"> select * from user </select> </mapper>
⑤UserMapperインターフェースを作成する
@Mapper public interface UserMapper { public List<User> findAll(); }
✧サービスパッケージの下に、UserServiceインターフェイスを作成します
public interface UserService { public List<User> findAll(); }
✧サービスパッケージの下にimplパッケージを作成してから、UserServiceImplクラスを作成し、UserServiceインターフェイスを継承して、@Serviceアノテーションを追加します。
@Service public class UserServiceImpl implements UserService { @Resource private UserMapper userMapper; @Override public List<User> findAll(){ return this.userMapper.findAll(); } }
⑧コントローラーパッケージの下に、UserControllerクラスを作成し、@RestControllerアノテーションを追加します
@RestController//等价于@Controller + @ResponseBody @RequestMapping("user") public class UserController { @Autowired private UserServiceImpl service; @RequestMapping("findAll") public List<User> findAll(){ return this.service.findAll(); } }
⑨SpringBootProjectApplicationクラスを編集し、@MapperScanアノテーションを追加します
@MapperScan("com.qcby.mapper") @SpringBootApplication public class SpringBootProjectApplication { public static void main(String[] args) { SpringApplication.run(SpringBootProjectApplication.class, args); } }
⑩プロジェクトを開始し、ブラウザで http:// localhost:8080 / user/findAllにアクセスします