您的位置:首頁技術文章
文章詳情頁

mybatis 逆向生成后遵循java駝峰法則的解決

瀏覽:2日期:2023-11-26 11:02:34

當時用逆向生成后,實體類中的下劃線都被去掉,這時只需要在sqlmap.xml中加以下代碼即可。打開mybatis駝峰法則。

<settings> <!-- 打印查詢語句 --> <setting name='logImpl' value='STDOUT_LOGGING' /> <!-- 是否開啟自動駝峰命名規則(camel case)映射,即從經典數據庫列名 A_COLUMN 到經典Java 屬性名 aColumn 的類似映射 --> <setting name='mapUnderscoreToCamelCase' value='true'/> </settings>

補充知識:【Java】Iterator接口方法及 獨立類迭代器實現

接口實現:

Iterator接口包含三個方法:hasNext、next、remove。

迭代器的位置不是在某一個元素上,而是在集合中第一個元素之前、兩個元素之間或最后一個元素之后。

public interface Iterator<T> { /** * Task:測定迭代器是否完成遍歷并越過數據集的最后一個元素 * @return 迭代器若有下一個元素返回 true */ public boolean hasNext(); /** * Task:提取集合中當前(下一個)元素 并迭代前進下一個位置 * @return 迭代當前元素的引用 * @throws java.util.NoSuchElementException 若迭代已經到頭,則 hasNext()為false */ public T next(); /** * Task:從迭代器刪除next()返回的下一個元素 * 此后調用next()的行為將與刪除前一樣 * Precondition:next()已被調用,remove()尚未被調用 * 數據集在迭代期間 除調用本方法外未被修改 * @throws IllegalStateException 若next()未被調用 * @throws UnsupportedOperationException 若迭代器不允許刪除 */ public void remove();}

獨立類迭代器實現:

import java.util.ArrayList;import java.util.NoSuchElementException;/** * 獨立類迭代器 * @param <T> */public class SeparateIterator<T> implements Iterator<T> { private ArrayList<T> list; private int nextPosition; //next()返回最近元素的位置 private boolean wasNextCalled; //需要刪除的 public SeparateIterator(ArrayList<T> arrayList) { list=arrayList; nextPosition=0; //用于跟蹤迭代到何處 wasNextCalled=false; //用于檢出是否首先調用了next() } @Override public boolean hasNext() { return nextPosition<list.size(); } @Override public T next() { if(hasNext()) { wasNextCalled = true; //設置為true,remove()方法可以調用next() nextPosition++; return list.get(nextPosition-1); //由于先前移,故減一 } else throw new NoSuchElementException('Illegal call to next();'+'iterator is after end of list!'); } @Override public void remove() { if(wasNextCalled){ list.remove(nextPosition); nextPosition--; wasNextCalled=false; } else throw new IllegalStateException('Illegal call to remove();'+'next() was not called!'); }}

測試:

注意調用SeparateIterator的構造函數將迭代器nameofGQT與線性表nameList連接起來。

import java.util.ArrayList;public class Test { public static void main(String[] args){ ArrayList<String> arrayList=new ArrayList<String>(); arrayList.add('Ned'); arrayList.add('John'); arrayList.add('Robb'); arrayList.add('Sansa'); arrayList.add('Arya'); arrayList.add('Bran'); for (String s:arrayList) { //輸出 System.out.println(s); } System.out.println(); Iterator<String> nameofGQT=new SeparateIterator<String>(arrayList); //調用SeparateIterator的構造函數把迭代器namwodGQT與arrayList連接在一起// while (nameofGQT.hasNext())// System.out.print(nameofGQT.next()+' '); //用于測試,否則會拋出NoSuchElementException異常// System.out.println(); nameofGQT.next(); //The old wolf is gone! Poor Ned!// while (nameofGQT.hasNext())// System.out.print(nameofGQT.next()+' '); //用于測試,否則會報出NoSuchElementException異常// System.out.println(); nameofGQT.next(); nameofGQT.remove(); //The Young Wolf is dead! //nameofGQT.remove(); //出錯,未先使用next(),報出IllegalStateException異常 while (nameofGQT.hasNext()) System.out.print(nameofGQT.next()+' '); }}

以上這篇mybatis 逆向生成后遵循java駝峰法則的解決就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Java
相關文章:
国产综合久久一区二区三区