Spring boot練習

12970 ワード

SpringBootを学ぶために、ブログを参考に真似することにしました.
実は私が見つけたのではなく、強制したのです.🥕🥕
注意:https://corini.tistory.com/entry/%ED%83%80%EC%9E%84%EB%A6%AC%ED%94%84Thymeleaf%EB%A1%9C-%ED%8C%8C%EC%9D%BC%EA%B2%8C%EC%8B%9C%ED%8C%90-%EB%A7%8C%EB%93%A4%EA%B8%B0-1-%EA%B5%AC%EC%83%81-%EB%B0%8F-%EC%8B%9C%EC%9E%91%EC%97%90-%EC%95%9E%EC%84%9C-1n-draft?category=856118
始める前に私のノートパソコンでやるとDBに繋がらないという問題がありましたが、間違えたのかわかりません
だからいろいろ探して、jdkを取り付け直したり、環境変数を設定したりして、さっきディスプレイを壊したいと思っていましたが、今は落ち着いています.🙂

プロジェクトの作成





Dependencies

  • Spring Web-Spring基本Webプロジェクトに必要なライブラリ
  • を提供
  • Spring Boot DevTools-コードを変更し、保存時にサーバを自動的に再実行
  • Lombok-@data宣言(setter,getter自動作成)
  • MySQL Driver-MySQL DBMS選択
  • MyBatis Framework-MySQLを簡単に使用できるライブラリ
  • をサポート
  • Thymeleaf

  • パッケージ構造もブログ内容のように作られていました.

    application.properties


    MyBatisとMySQLが連携して動作するコードを入力します
    #MySQL 설정
    spring.datasource.url=jdbc:mysql://localhost:3306/
    spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
    spring.datasource.username=root
    spring.datasource.password=
    
    #MyBatis 설정
    mybatis.mapper-locations=classpath*:mapper/*.xml
    ユーザー名とパスワードアカウントとパスワードを入力
    通常、MySQLポート番号は3306です

    VO、Mapperの作成


    必要なオブジェクトを掲示板に作成

    package com.example.demo.bean;
    
    import java.util.Date;
    
    import lombok.AllArgsConstructor;
    import lombok.Data;
    import lombok.NoArgsConstructor;
    
    @Data
    @NoArgsConstructor
    @AllArgsConstructor
    public class FileBoardVO {
    
    	private int b_no;		// 게시글 고유번호
    	private String title;	// 제목
    	private String content;	// 내용
    	private String writer;	// 작성자
    	private Date reg_date;	// 작성일자
    }
    
    @データアシスタントを追加します.(Lombok)
    @NorgConstructor:パラメータなしのジェネレータを作成する
    @AllArgConstructor:すべてのフィールドにビルダーを自動的に作成
    前にあなたが授業で使うと言ったら、両方使うとか、使わなくてもいいとか、記憶がぼんやりしています.

    Mapper

    package com.example.demo.mapper;
    
    import java.util.List;
    
    import org.apache.ibatis.annotations.Mapper;
    
    import com.example.demo.bean.FileBoardVO;
    
    @Mapper
    public interface FileBoardMapper {
    
    	List<FileBoardVO> getFileBoardList();			// 게시글 리스트 출력
    	FileBoardVO fileBoardDetail(int b_no);			// 게시글 세부 내용 보기
    	int fileBoardInsert(FileBoardVO fileBoard);		// 게시글 생성
    	int fileBoardUpdate(FileBoardVO fileBoard);		// 게시글 수정
    	int fileBoardDelete(int bno);					// 게시글 삭제
    }
    
    @Mapperプロンプトを使用すると、Mapperになります.
    出力リストの作成、コンテンツの表示、登録、変更、投稿の削除に必要な5つの方法.

    Service

    package com.example.demo.service;
    
    import java.util.List;
    
    import com.example.demo.bean.FileBoardVO;
    
    public interface FileBoardService {
    
    	List<FileBoardVO> getFileBoardList();			
    	FileBoardVO fileBoardDetail(int b_no);			
    	int fileBoardInsert(FileBoardVO fileBoard);		
    	int fileBoardUpdate(FileBoardVO fileBoard);		
    	int fileBoardDelete(int bno);					
    }

    Service Implement

    package com.example.demo.service;
    
    import java.util.List;
    
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.stereotype.Service;
    
    import com.example.demo.bean.FileBoardVO;
    import com.example.demo.mapper.FileBoardMapper;
    
    @Service
    public class FileBoardServiceImpl implements FileBoardService{
    
    	@Autowired
    	FileBoardMapper fileboardmapper;
    	
    	@Override
    	public List<FileBoardVO> getFileBoardList() {
    		return fileboardmapper.getFileBoardList();
    	}
    	
    	@Override
    	FileBoardVO fileBoardDetail(int b_no) {
    		return fileboardmapper.fileBoardDetail(b_no);
    	}
    	
    	@Override
    	int fileBoardInsert(FileBoardVO fileBoard) {
    		return fileboardmapper.fileBoardInsert(fileBoard);
    	}
    	
    	@Override
    	int fileBoardUpdate(FileBoardVO fileBoard) {
    		return fileboardmapper.fileBoardUpdate(fileBoard);
    	}
    	
    	@Override
    	int fileBoardDelete(int bno) {
    		return fileboardmapper.fileBoardDelete(bno);
    	}
    }
    このブログはサービスとサービス実施に分かれていますが、うーん、前の授業でもそうしていましたか?もう一度確認しなければなりません.

    データベースの作成


    ブログコンテンツでMySQL Monitorを使ってデータベースを作成する際にWorkbenchを使いたいので利用することにしました.
    MySQL Workbenchでデータベースを作成します.


    Applyをクリックして保存し、ディスプレイで確認します.

    mysqlログイン


    きれいですね.
    SpringBootに移動し、データベース名と時間設定を追加する必要があります.

    xml


    次にxmlファイルを作成し、クエリー文を入力します.
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE mapper
    PUBLIC "-//mybatis.org//DTDMapper3.0//EN"
    "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
    
    <mapper namespace="com.example.demo.mapper.FileBoardMapper">
    	<select id="getFileBoardList" resultType="com.example.demo.bean.FileBoardVO">
    		SELECT * FROM file_board
    		ORDER BY b_no
    	</select>
    	
    	<select id="fileBoardDetail" parameterType="int" resultType="com.example.demo.bean.FileBoardVO">
    		SELECT * FROM file_board
    		WHERE b_no=#{b_no}
    	</select>
    	
    	<insert id="fileBoardInsert" parameterType="com.example.demo.bean.FileBoardVO" keyProperty="b_no">
    		INSERT INTO file_board(title, content, writer)
    		VALUES(#{title}, #{content}, #{writer})
    	</insert>
    	
    	<update id="fileBoardUpdate" parameterType="com.example.demo.bean.FileBoardVO">
    		UPDATE file_board SET
    		<if test="title != null">title=#{title}</if>
    		<if test="title != null and content != null">,</if>
    		<if test="content != null">content=#{content}</if>
    		WHERE b_no=#{b_no}
    	</update>
    	
    	<delete id="fileBoardDelete" parameterType="int">
    		DELETE FROM file_board WHERE b_no=#{b_no}
    	</delete>
    </mapper>
    
  • xmlクエリー文でifがどういう意味かを検索します
  • Service - Service Implement
  • Lombok電話