質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Spring Boot

Spring Bootは、Javaのフレームワークの一つ。Springプロジェクトが提供する様々なフレームワークを統合した、アプリケーションを高速で開発するために設計されたフレームワークです。

Q&A

解決済

1回答

517閲覧

springboot no.を自動で割り当てたい

退会済みユーザー

退会済みユーザー

総合スコア0

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Spring Boot

Spring Bootは、Javaのフレームワークの一つ。Springプロジェクトが提供する様々なフレームワークを統合した、アプリケーションを高速で開発するために設計されたフレームワークです。

0グッド

0クリップ

投稿2020/05/06 07:27

no.を自動で割り当てたい。```ここに言語を入力java
コード

package

1 2@Controller 3@RequestMapping("/") 4 5public class dateController { 6 @Autowired 7 dateMapper mapper; 8 @Autowired 9 private dateRepository repository; 10 @GetMapping 11 public String top(Model model) { 12 model.addAttribute("dates", mapper.findAll()); 13 return "new"; 14 } 15 @PostMapping("/new") 16 public String create(@ModelAttribute Date date,Model model) { 17 mapper.save(date); 18 return "redirect:/"; 19} 20 @GetMapping("/edit/{word}") 21 public ModelAndView edit(@PathVariable String word, @ModelAttribute Date date ,ModelAndView mav) { 22 mav.addObject("date",mapper.findOne(word) ); 23 mav.setViewName("edit"); 24 return mav; 25 } 26 @PostMapping("/edit") 27 @Transactional 28 public String update( @ModelAttribute("date")Date date, Model model) { 29 mapper.update(date); 30 return "redirect:/"; 31 } 32 @PostMapping("/calculate") 33 public String cal( @RequestParam("d")LocalDate d ,Model model) { 34 List<Date> D=repository.findAll(); 35 for(int i=0;D.size()>i;i++) { 36 D.get(i).calculate(d); 37 } 38 model.addAttribute("R",repository.findAll()); 39 return "new"; 40 } 41@PostMapping("/delete/{word}") 42public String delete(@PathVariable String word ,Model model) { 43 mapper.delete(word); 44 return "redirect:/"; 45} 46} 47package com.example.demo.domain; 48 49@Entity 50@Table(name="date") 51public class Date { 52 private LocalDate d1; 53 @GeneratedValue(strategy=GenerationType.IDENTITY) 54 private Long no.; 55 @Id 56 private String word; 57 private String name; 58 private int year; 59 private int month; 60 private int day; 61 62 public void setNo.(Long no.) { 63 this.no.=no.; 64 } 65 public Long getNo() { 66 return no; 67 } 68 public void setWord(String word) { 69 this.word=word; 70 } 71 public String getWord() { 72 return word; 73 } 74 public void setName(String name) { 75 this.name=name; 76 } 77 public String getName() { 78 return name; 79 } 80 81 public void setYear(int year) { 82 this.year=year; 83 } 84 public int getYear() { 85 return year; 86 } 87 public void setMonth(int month) { 88 this.month=month; 89 } 90 public int getMonth() { 91 return month; 92 } 93 public void setDay(int day) { 94 this.day=day; 95 } 96 public int getDay() { 97 return day; 98 } 99 public void setD1(LocalDate d1) { 100 this.d1=d1; 101 } 102 public LocalDate getD1() { 103 return d1; 104 } 105 public void calculate(LocalDate X) { 106 LocalDate R= X.plusYears(getYear()); 107 LocalDate R1= R.plusMonths(getMonth()); 108 LocalDate d1= R1.plusDays(getDay()); 109 setD1(d1); 110 } 111} 112 113<?xml version="1.0" encoding="UTF-8"?> 114<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> 115<mapper namespace="com.example.demo.mapper.dateMapper"> 116 <select id="findAll" resultType="com.example.demo.domain.Date"> 117 select * from date 118 </select> 119 120 <select id="findOne" resultType="com.example.demo.domain.Date"> 121 select * from date where word= #{word} 122 </select> 123 <insert id="save" useGeneratedKeys="true" keyProperty="word"> 124 insert into date (no.,word, name , year,month,day) values(#{no.},#{word}, #{name}, #{year},#{month},#{day}) 125 126 </insert> 127 <update id="update"> 128 update date set name=#{name}, year=#{year},month=#{month},day=#{day} where word= #{word} 129 </update> 130 <delete id="delete"> 131 delete from date where word = #{word} 132 </delete> 133</mapper> 134 135 136<!DOCTYPE html> 137<html> 138<head> 139<meta charset="UTF-8"> 140 141</head> 142<body> 143計算式 144<th:text="${msg}"> 145<form th:objext="${form}" th:method="post" th:action="@{/new}"> 146日付ID <input type="text" name="word" th:value="${word}" ><br> 147 148名前<input type="text" name="name" th:value="${name}"><br> 149加減(Y)<input type="text" name="year" th:value="${year}"><br> 150加減(M)<input type="text" name="month" th:value="${month}"><br> 151加減(D)<input type="text" name="day" th:value="${day}"><br> 152<button type="submit">登録</button> 153</form> 154日付 155<form method="post" th:action="@{/calculate}" th:object="${date}" 156><input type="datetime" placeholder="yyyy/MM/dd" name="d" th:value="${d}"> 157 158<button value="submit">実行</button> 159</form> 160<td th:text="${result}"></td> 161<table> 162<tr > 163<td>no</td> 164<td>日付ID</td> 165<td>名前</td> 166<td >結果</td> 167<td >加減(Y/M/D)</td> 168</tr> 169<tr th:each="obj:${R}" th:object="${obj}"> 170<td th:text="*{no.}"></td> 171<td th:text="*{word}" ></td> 172<td th:text="*{name}"></td> 173<td th:text="*{d1}" ></td> 174<td th:text="|*{year}/*{month}/*{day}|"> 175<td><form method="get" th:action="@{/edit/{word}(word=*{word})}"> 176<button value="submit">更新</button></form></td> 177<td><form method="post" th:action="@{/delete/{word}(word=*{word})}"> 178<button value="submit">削除</button> 179</form></td> 180</table> 181</body> 182</html> 183 184data.sql 185 186CREATE TABLE IF NOT EXISTS date( 187 no. int(20) NOT NULL AUTO_INCREMENT, 188word varchar , 189 name varchar(255) , 190 year INT , 191 month INT , 192 day INT , 193 PRIMARY KEY (word) 194); 195 196 197プライマリキーをword(日付ID)にしています。noを自動的に1,2,3と割り当てたいのですがどうすればいいか困っています。 198 199![イメージ説明](dcc1ed27c77e422568fe1e074e30fe5d.png)

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2020/05/06 08:26

あと、利用しているDBの種類を記載してください。
退会済みユーザー

退会済みユーザー

2020/05/06 08:48

DBはresources下のSQLファイルです。  dateControllerに   for(int i=0;D.size()>i;i++) { D.get(i).calculate(d); D.get(i).setNo(i+1); } とnoに関するメソッドを書くと解決しました。ありがとうございました。code機能をこれからは使います。
m.ts10806

2020/05/06 08:50

質問は編集できます。「次から」だと必ず抜けますので、今対応しておいてください。
m.ts10806

2020/05/07 01:24

解決されたようですがコードがそのままですし「どのように解決としたのか」というコメントもないまま無言解決になっています。 ただ、おそらくこの理解度ではフレームワークは厳しいのではないかと思います。きちんとJavaサーブレットで基礎を叩き込んでからのほうが良いです。このまま進めたほうが遠回りになります。
guest

回答1

0

ベストアンサー

{利用しているDB} オートインクリメント
で調べてみてください。

それで難しそうなら、とりあえずで「今のIDのMAX+1」で良いと思います。

投稿2020/05/06 08:27

m.ts10806

総合スコア80850

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問