最初に新しいシンプルなデータテーブルを作成し、このデータテーブルを操作してデモを行います
「アイテム」が存在する場合はテーブルをドロップします。テーブル「アイテム」( `id` int(11)not null auto_increment、` title` varchar(255)デフォルトnull、 `name` varchar(10)デフォルトnull、 `detail` varchar(255)デフォルトnull、 `id`))エンジン= innodb auto_increment = 7 default charset = utf8;
jdbctemplateのmaven依存関係と接続クラスを紹介します
<Dependency> groupId> org.springframework.boot </groupid> <artifactid> spring-boot-starter-jdbc </artifactid> </dependency> <dependency> mysql </groupid> <artifactid> mysql-connector-java
Application.Propertiesファイルで、ドライバークラス、データベースアドレス、データベースアカウント、MySQLのパスワード情報を構成します。 SRC/Main/ResourceフォルダーにApplication.Propertiesを作成します。
spring.datasource.url = jdbc:mysql://127.0.0.1:3306/spring?usessl = false spring.datasource.username = root spring.datasource.password = 123456 spring.datasource.driver-class-name = com.mysql.jdbc.daturce.daturce.datsurce.dat.daturce.dat.daturce spring.datasource.max-wait = 10000 spring.datasource.min-idle = 5 spring.datasource.initial-size = 5 server.port = 8080 server.session.timeout = 10 server.tomcat.uri-encoding = utf-8
新しいエンティティクラスを作成すると、プロパティはSQLフィールドに対応します
パッケージorg.amuxia.start;パブリッククラス項目{private integer id;プライベートストリングタイトル。プライベート文字列名;プライベート文字列の詳細; public Integer getId(){return id; } public void setid(integer id){this.id = id; } public string getTitle(){return title; } public void settitle(string title){this.title = title; } public string getname(){return name; } public void setName(string name){this.name = name; } public string getDetail(){return detail; } public void setDetail(string detail){this.detail = detail; } public item(){super(); // TODO自動生成コンストラクタースタブ}パブリックアイテム(整数ID、文字列タイトル、文字列名、文字列詳細){super(); this.id = id; this.title = title; this.name = name; this.detail = detail; } @Override public String toString(){return "items [id =" + id + ",, name =" + name + "、detail =" + detail + "]"; }}新しい操作
/** * new Data * @Param Items * @return */@RequestMapping( "/add")public @responsebody string additems(itemsアイテム){文字列sql = "項目(id、title、name、detail)value(?、?、?、?)"; Object args [] = {items.getId()、items.getTitle()、items.getName()、items.getDetail()}; int temp = jdbctemplate.update(sql、args); if(temp> 0){return "記事が正常に追加されました"; }「新しいエラーが発生した」を返します。 }テストをしましょう。 http:// localhost:8080/items/postmanテストツールを入力します
新しい追加が成功していることがわかります。実際に非常に便利であり、面倒な構成情報はありません。
残りの削除、更新操作、および新しいコードは変更されていませんが、SQLの変更のみであり、ここではデモンストレーションはありません。
すべてのクエリ操作
/** * @return *すべての情報をクエリ */@RequestMapping( "/list")public list <map <string、object >> itemslist(){string sql = "select * from Items"; List <Map <String、Object >> list = jdbctemplate.queryforlist(sql);返品リスト。 }テストをしましょう。 http:// localhost:8080/items/listをPostmanテストツールに入力します
新しく追加されたデータを含む、発見されたことがわかりました。
SpringbootのJDBCTEMPLATE操作を学習するために、すべての追加、削除、変更、および検索コードがItemsControllerクラスに記述されており、これもデモに便利です。コードはここに投稿されており、必要に応じて実行できます。
パッケージorg.amuxia.start; java.util.listをインポートします。 java.util.mapをインポートします。 Import org.springframework.beans.factory.annotation.autowired; org.springframework.context.annotation.componentscanをインポートします。 org.springframework.jdbc.core.jdbctemplateをインポートします。 org.springframework.web.bind.annotation.pathvariableをインポートします。 org.springframework.web.bind.annotation.requestmappingをインポートします。 Import org.springframework.web.bind.annotation.responsebody; org.springframework.web.bind.annotation.restControllerをインポートします。 @componentscan @restController @RequestMapping( "/items")public class etemcontroller {@autowired private jdbctemplate jdbctemplate; /** * @return *すべての情報をクエリ */@RequestMapping( "/list")public list <map <string、object >> itemslist(){string sql = "select * from Items"; List <Map <String、Object >> list = jdbctemplate.queryforlist(sql);返品リスト。 }/** * @param id * @return * id */@requestmapping( "/detail/{id}")パブリックマップ<string、object> detail( @pathvariable int id){map <string、object> map> map = null; List <Map <String、object >> list = itemslist(); map = list.get(id);マップを返します。 }/** * new Data * @param items * @return */@RequestMapping( "/add")public @responsebody string additems(items items){string sql = "items(id、title、name、detail)value(?、?、?)"; Object args [] = {items.getId()、items.getTitle()、items.getName()、items.getDetail()}; int temp = jdbctemplate.update(sql、args); if(temp> 0){return "記事が正常に追加されました"; }「記事追加エラー」を返します。 }/** * @param items * @return * delete data */@requestmapping( "/del")public @responsebody string delitems(items items){string sql = "id =?";オブジェクトargs [] = {items.getid()}; int temp = jdbctemplate.update(sql、args); if(temp> 0){return "article delete sucessに"; }「記事削除エラー」を返します。 }/** * @param items * @return * update操作 */@requestMapping( "/upd")public @responsebody string upditems(items items){string sql = "update items set title =?、detail =?where id =?"; Object args [] = {items.getTitle()、items.getDetail()、items.getId()}; int temp = jdbctemplate.update(sql、args); if(temp> 0){return "article sucessに変更"; }「変更のエラー」を返します。 }}これが説明です
@componentscan:
@componentscanは、どのアノテーションクラスがスプリングによって自動的にスキャンされ、豆容器にロードされるかを春に伝えます。 @Controller Annotationで識別されたクラスがある場合、@ComPonentsCanがコントローラーを自動的にスキャンするために追加されない場合、コントローラーはSpringでスキャンされず、Springコンテナにロードされず、コントローラーは機能しません。
スタートアップクラスコード
パッケージorg.amuxia.start; Import org.springframework.boot.springApplication; Import org.springframework.boot.autoconfigure.enableautoconfiguration; org.springframework.web.bind.annotation.restControllerをインポートします。 @RestController @ENABLEAUTOCONFIGURATION PUBLIC CLASS APP {public static void main(string [] args){system.out.println( "start ..."); SpringApplication.run(itemsController.Class、args); }}要約します
上記は、編集者があなたに紹介したものです。 SpringbootはJDBCTEMPLATEを使用して、データベースの追加、削除、変更、および検索機能を完了します。私はそれが誰にでも役立つことを願っています。ご質問がある場合は、メッセージを残してください。編集者は、すべての人に時間内に返信します。 wulin.comのウェブサイトへのご支援ありがとうございます!