Mybatisのラベル挿入中のプライマリ・キーの問題といくつかの疑問.

1308 ワード

Mybatisの使用中に、
データベース(MySQL)テーブルがあるとします.COMMANDという名前で、フィールドID(プライマリ・キー)、NAME、DESCRIPTIONが入っています.
データベース・テーブル構造のプライマリ・キーが自動成長タイプに設定場合、xmlファイルでラベルを使用する場合、
コードは次のとおりです.

  	
		SELECT LAST_INSERT_ID() as id
	
  	insert into COMMAND(NAME,DESCRIPTION) values(#{name,jdbcType=VARCHAR},#{description,jdbcType=VARCHAR})	

それでは問題が来て、もし私がこの時もう1枚の時計があるならば、時計の名前はCOMMAND_ですCONTENT、フィールドID(プライマリ・キー、自動成長)、CONTENT、COMMAND_ID.フィールドCOMMAND_ID外部キー関連付けの設定
COMMANDテーブルのプライマリ・キー.
フロントからデータname、description、contentを取得しました.つまり、COMMANDテーブルのプライマリ・キーIDが不明で、COMMAND_CONTENTテーブルのプライマリ・キーIDとCOMMAND_IDは不明です.挿入文を実行すると、
nameとdescriptionはCOMMANDテーブルに格納できますが、COMMANDテーブルのIDは自動的に付与されますが、contenについてはCOMMAND_に格納します.CONTENTではCOMMANDが必要ですID、この時は解らない感じ
しかし、この時私はsqlSessionを発見しました.Insert(「Command.insertNewCommand」,command)には、intタイプの取得されたプライマリ・キーに関する戻り値がありますが、私が何度実行しても、現実はいつも好ましくありません.
個のintタイプの戻り値はいずれも1である.プライマリ・キーを取得できないか、contentをCOMMAND_に挿入できません.CONTENTテーブルでは、COMMANDテーブルを挿入した炒め物を実行した後、nameでもう一度select操作を行いました.
nameで対応するIDを検出し、そのID値をCOMMAND_に付与するID、COMMANDを挿入するCONTENT操作.どの牛が弟を惑わすことができるか分からない.2日間葛藤した.