mybatis 逆向生成后遵循java駝峰法則的解決
當(dāng)時(shí)用逆向生成后,實(shí)體類中的下劃線都被去掉,這時(shí)只需要在sqlmap.xml中加以下代碼即可。打開(kāi)mybatis駝峰法則。
<settings> <!-- 打印查詢語(yǔ)句 --> <setting name="logImpl" value="STDOUT_LOGGING" /> <!-- 是否開(kāi)啟自動(dòng)駝峰命名規(guī)則(camel case)映射,即從經(jīng)典數(shù)據(jù)庫(kù)列名 A_COLUMN 到經(jīng)典Java 屬性名 aColumn 的類似映射 --> <setting name="mapUnderscoreToCamelCase" value="true"/> </settings>
補(bǔ)充知識(shí):【Java】Iterator接口方法及 獨(dú)立類迭代器實(shí)現(xiàn)
接口實(shí)現(xiàn):
Iterator接口包含三個(gè)方法:hasNext、next、remove。
迭代器的位置不是在某一個(gè)元素上,而是在集合中第一個(gè)元素之前、兩個(gè)元素之間或最后一個(gè)元素之后。
public interface Iterator<T> {
/**
* Task:測(cè)定迭代器是否完成遍歷并越過(guò)數(shù)據(jù)集的最后一個(gè)元素
* @return 迭代器若有下一個(gè)元素返回 true
*/
public boolean hasNext();
/**
* Task:提取集合中當(dāng)前(下一個(gè))元素 并迭代前進(jìn)下一個(gè)位置
* @return 迭代當(dāng)前元素的引用
* @throws java.util.NoSuchElementException 若迭代已經(jīng)到頭,則 hasNext()為false
*/
public T next();
/**
* Task:從迭代器刪除next()返回的下一個(gè)元素
* 此后調(diào)用next()的行為將與刪除前一樣
* Precondition:next()已被調(diào)用,remove()尚未被調(diào)用
* 數(shù)據(jù)集在迭代期間 除調(diào)用本方法外未被修改
* @throws IllegalStateException 若next()未被調(diào)用
* @throws UnsupportedOperationException 若迭代器不允許刪除
*/
public void remove();
}
獨(dú)立類迭代器實(shí)現(xiàn):
import java.util.ArrayList;
import java.util.NoSuchElementException;
/**
* 獨(dú)立類迭代器
* @param <T>
*/
public class SeparateIterator<T> implements Iterator<T> {
private ArrayList<T> list;
private int nextPosition; //next()返回最近元素的位置
private boolean wasNextCalled; //需要?jiǎng)h除的
public SeparateIterator(ArrayList<T> arrayList) {
list=arrayList;
nextPosition=0; //用于跟蹤迭代到何處
wasNextCalled=false; //用于檢出是否首先調(diào)用了next()
}
@Override
public boolean hasNext() {
return nextPosition<list.size();
}
@Override
public T next() {
if(hasNext()) {
wasNextCalled = true; //設(shè)置為true,remove()方法可以調(diào)用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!");
}
}
測(cè)試:
注意調(diào)用SeparateIterator的構(gòu)造函數(shù)將迭代器nameofGQT與線性表nameList連接起來(lái)。
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); //調(diào)用SeparateIterator的構(gòu)造函數(shù)把迭代器namwodGQT與arrayList連接在一起
// while (nameofGQT.hasNext())
// System.out.print(nameofGQT.next()+" "); //用于測(cè)試,否則會(huì)拋出NoSuchElementException異常
// System.out.println();
nameofGQT.next(); //The old wolf is gone! Poor Ned!
// while (nameofGQT.hasNext())
// System.out.print(nameofGQT.next()+" "); //用于測(cè)試,否則會(huì)報(bào)出NoSuchElementException異常
// System.out.println();
nameofGQT.next();
nameofGQT.remove(); //The Young Wolf is dead!
//nameofGQT.remove(); //出錯(cuò),未先使用next(),報(bào)出IllegalStateException異常
while (nameofGQT.hasNext())
System.out.print(nameofGQT.next()+" ");
}
}
以上這篇mybatis 逆向生成后遵循java駝峰法則的解決就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Spring Dao層@Repository與@Mapper的使用
這篇文章主要介紹了Spring Dao層@Repository與@Mapper的使用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-02-02
SpringBoot配置Spring?Security的實(shí)現(xiàn)示例
本文主要介紹了SpringBoot配置Spring?Security的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2024-10-10
idea統(tǒng)計(jì)代碼行數(shù)Statistic的步驟詳解
這篇文章主要介紹了idea統(tǒng)計(jì)代碼行數(shù)Statistic的步驟詳解,本文通過(guò)使用Statistic插件操作的,通過(guò)圖文實(shí)例相結(jié)合給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-10-10
Java?深入理解創(chuàng)建型設(shè)計(jì)模式之抽象工廠模式
當(dāng)系統(tǒng)所提供的工廠所需生產(chǎn)的具體產(chǎn)品并不是一個(gè)簡(jiǎn)單的對(duì)象,而是多個(gè)位于不同產(chǎn)品等級(jí)結(jié)構(gòu)中屬于不同類型的具體產(chǎn)品時(shí)需要使用抽象工廠模式,抽象工廠模式是所有形式的工廠模式中最為抽象和最具一般性的一種形態(tài)2022-02-02
SpringMVC中@ModelAttribute與@RequestBody的區(qū)別及說(shuō)明
這篇文章主要介紹了SpringMVC中@ModelAttribute與@RequestBody的區(qū)別及說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-11-11
Java數(shù)據(jù)結(jié)構(gòu) 遞歸之迷宮回溯案例講解
這篇文章主要介紹了Java數(shù)據(jù)結(jié)構(gòu)遞歸之迷宮回溯案例講解,本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-08-08

