[21.1.15]MyBatis設定
私たちはまず方法を作って、それから説明書を書きます.
スプリングでは、クライアントが送信するパラメータ名とvoの変数名が同じである必要があります.
単一色調の形態ではありません.データの更新が必要なため、オブジェクトが作成されます.
クライアントからサーバにデータを送信する方法はparameterでもjson形式でもよい.
スプリング上でjson形式でデータを転送する際に使用する方法.
ajax非同期方式は主にデータのみを返すために使用される.
jsonのkey-value形式で自動的にパケット化および転送されます.
Modelでは、フロントエンドコントローラ間でビューとコントローラを切り替えることができます. mapperとmybatisはdbとcontrollerの簡単な接続を支援します Spring MVCは、Webアプリケーションの迅速な開発を容易にします.
xml、jsp、javaなどのプロジェクトのすべてのソースファイルは、バイトコード置換によって駆動されます.
xmlでの設定はjavaで設定したり、切り替えたりできます
これは区域を区切る約束にすぎない.
データベース連動フレームワーク XMLはSQL文の設定と処理機能を提供する 音声サポート-音声とインタフェースによるSQL文の設定と処理 新しいプロジェクトが作成された場合は、
pom.xmlでバージョンを変更したがmavenに適用されなかった場合
jdbcライブラリ MyBatisライブラリ
1.プロジェクトがサーバに追加されていることを確認
root-context.xmlでは、既存
value値の
既存のjavaで使用されているdb相関定数をこのファイルにマッピングします.
掲示板 base-packageの下のクラスでは、
サーバが起動すると、設定に関する必要な情報がサーバにアップロードされます.
Persistence/ServiceLayerのコンポーネントクラスをbean として登録
コメントテーブルと掲示板テーブルがある場合、掲示板テーブルにデータを追加すると、掲示板テーブルのコメント数列も自動的に変更する必要があります.
データを挿入すると、クエリにnextvalが含まれていなくても、シーケンスは自動的に実行されます.
これらのデータの自動接続をトリガーします.トリガを使用すると、時間差がある場合があります.2号 トリガを作成し、titleとcontentをデータで変更するときに日付cdate列を変更時間 に変更します.
変数を宣言してデータベース・テーブルとカラム名をマッピング
name : mapper.xmlが使用する名前 value:DBテーブルとカラム名
マッパーでのデータベース・クエリーの作成
VOでgetter/setterを使用してデータをインポートします.
VOとDB名を接続する鍵名mapperラベル: 来週の予告
ユニットテスト.サーバがなくても、Mapper-MyBatis・DB間の動作をテストできます...
springでmvc掲示板を作る大長征...🤪
@GetMapping("/product2")
public String product2(@ModelAttribute(name="vo") ProductVO vo) {
LOGGER.info("product2() 호출");
return "product-result";
}
@modelAttribute()
が呼び出されない場合でも、呼び出されるたびにオブジェクトが作成されます.パラメトリックジェネレータの呼び出しスプリングでは、クライアントが送信するパラメータ名とvoの変数名が同じである必要があります.
単一色調の形態ではありません.データの更新が必要なため、オブジェクトが作成されます.
クライアントからサーバにデータを送信する方法はparameterでもjson形式でもよい.
@ResponseBody
スプリング上でjson形式でデータを転送する際に使用する方法.
@GetMapping("/json2")
@ResponseBody
public String json2() {
LOGGER.info("json2() 호출");
return "Hello, Spring";
}
これまでreturn値はjspを返し、jspファイルを呼び出すのではなくProductVO vo=new ProductVO(name, price);
を使用してString値を返した.ajax非同期方式は主にデータのみを返すために使用される.
@GetMapping("/json3")
@ResponseBody
public ProductVO json3() {
LOGGER.info("json3() 호출");
return new ProductVO("야구공", 10000);
}
voが戻ると、@ResponseBody
形式のデータがフロントエンドに送信されるjsonのkey-value形式で自動的にパケット化および転送されます.
MVC操作手順
xml、jsp、javaなどのプロジェクトのすべてのソースファイルは、バイトコード置換によって駆動されます.
xmlでの設定はjavaで設定したり、切り替えたりできます
これは区域を区切る約束にすぎない.
MyBatisの設定
{"name":"야구공","price":10000}
の順に設定を適用します.pom.xmlアプリケーションライブラリから
pom.xmlでバージョンを変更したがmavenに適用されなかった場合
pom.xml->web.xml->root-context.xml->servlet-context.xml
pom.xmlのバージョンの変更フォローその他のライブラリ
<!-- jdbc 라이브러리 -->
<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc6</artifactId>
<version>11.2.0</version>
</dependency>
<!-- MyBatis 라이브러리 -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.4</version>
</dependency>
mybatis-springライブラリ<!-- mybatis-spring 라이브러리 -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>1.3.1</version>
</dependency>
Spring-jdbcライブラリ<!-- spring-jdbc 라이브러리 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>${org.springframework-version}</version>
</dependency>
設定は完了するが404が表示されると1.プロジェクトがサーバに追加されていることを確認
root-context.xml設定の変更
root-context.xmlでは、
프로젝트->maven->update project
は、設定に関連するオブジェクトが集合していると見なすことができる.<beans>
カバー<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
https://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd">
<beans>
追加-データソースを設定<bean id="ds" class="oracle.jdbc.pool.OracleDataSource" destroy-method="close">
<property name="dataSourceName" value="ds"></property>
<property name="URL" value="jdbc:oracle:thin:@localhost:1521:xe"></property>
<property name="user" value="scott"></property>
<property name="password" value="tiger"></property>
</bean>
<bean>
追加-Sql Session Factory設定value値の
<bean>
はclasspath
を表します.<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="ds" />
<property name="configLocation" value="classpath:/mybatis-config.xml" />
<property name="mapperLocations" value="classpath:mappers/*.xml" />
</bean>
src/main/resources
生成src/main/resources
ファイル.既存のjavaで使用されているdb相関定数をこのファイルにマッピングします.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<!-- DB 테이블과 컬럼들을 mapper 매핑을 위한 변수 선언 -->
</configuration>
mybatis-config.xml
フォルダを作成し、プロジェクトに関連するxmlファイルを作成掲示板
mappers
生成を作成するからです.クエリーやコントロール、beanなどのオブジェクト全体を設定します.<?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="edu.spring.ex02.BoardMapper"></mapper>
board-mapper.xml
:主にDAOクラスsqlsessionを接続する鍵として使用されるnamespace
追加-Sqlセッションを設定<bean id="sqlSession" class="org.mybatis.spring.SqlSessionTemplate" destroy-method="clearCache">
<constructor-arg name="sqlSessionFactory" ref="sqlSessionFactory" />
</bean>
<bean>
で登録されたクラスが作成され、管理されます.サーバが起動すると、設定に関する必要な情報がサーバにアップロードされます.
Persistence/ServiceLayerのコンポーネントクラスをbean
<context:component-scan base-package="edu.spring.ex02"></context:component-scan>
トリガが使用された瞬間
コメントテーブルと掲示板テーブルがある場合、掲示板テーブルにデータを追加すると、掲示板テーブルのコメント数列も自動的に変更する必要があります.
データを挿入すると、クエリにnextvalが含まれていなくても、シーケンスは自動的に実行されます.
create or replace trigger test_board_bno_trigger
before insert on test_board
for each row
begin
select test_board_seq.nextval into :new.bno from dual;
end;
create or replace trigger test_board_cdate_trigger
before update of title, content on test_board
for each row
begin
select sysdate into :new.cdate from dual;
end;
mybatis-config.xml
変数を宣言してデータベース・テーブルとカラム名をマッピング
property
<properties>
<property name="test_board" value="test_board"/>
<property name="bno" value="bno"/>
<property name="title" value="title"/>
<property name="content" value="content"/>
<property name="userid" value="userid"/>
<property name="cdate" value="cdate"/>
<property name="reply_count" value="reply_count"/>
</properties>
マッパーフォルダ
マッパーでのデータベース・クエリーの作成
@Component
:主にDAOクラスsqlsessionの関数を接続するために使用されます.1:1照合id
:${key 이름}
propertyのnameと一致します.データベース・テーブルのカラムに対応します.mybatis-config.xml
:DAOクラスのsqlsessionから送信されたデータを表す.(データ照会の?部分を入力)VOでgetter/setterを使用してデータをインポートします.
#{key 이름}
,<insert>
,<select>
,<update>
,<delete>
DAOが使用するsqlsessionの関数(insert、selectOne、selectList、update、delete)に従って実行します.ユニットテスト.サーバがなくても、Mapper-MyBatis・DB間の動作をテストできます...
springでmvc掲示板を作る大長征...🤪
Reference
この問題について([21.1.15]MyBatis設定), 我々は、より多くの情報をここで見つけました https://velog.io/@yeddoen/21.10.15-MyBatis-설정テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol