mybatis 逆向生成后遵循java驼峰法则的解决
作者:JAVA彭于晏 发布时间:2023-03-03 03:22:02
标签:mybatis,java,驼峰
当时用逆向生成后,实体类中的下划线都被去掉,这时只需要在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()+" ");
}
}
来源:https://blog.csdn.net/qq_36872046/article/details/79168050


猜你喜欢
- 以前一直看见 i18N ,现在才知道原来 i18N 就是 Internationalization,因为以 i 开头,以 N 结尾,共18个
- 注意:要保证已经有Node类和单链表的初始化,这样才能调用反转方法并显示结果。方法如下://Node<T>指泛型结
- Apache Dubbo是一款高性能、轻量级的开源 Java RPC 框架,它提供了三大核心能力:面向接口的远程方法调用,智能容错和负载均衡
- 今天对Android端水印进行了一个简单的优化,优化方式是对水印生成方式的修改。如图1修改为如图2。我们先简单了解一下图一水印是如生成得。/
- 1|1简介最近基于最新的Activiti7配置了SpringBoot2。简单上手使用了一番。发现市面上解决Activiti7的教程很少,采坑
- XmlTextReader 提供对 XML 数据流的只进只读访问。当前节点指读取器定位到的节点。使用任何读方法推进读取器并且属性反映当前节点
- 在笔试编程过程中,关于数据的读取如果迷迷糊糊,那后来的编程即使想法很对,实现很好,也是徒劳,于是在这里认真总结了Java Scanner 类
- 本文实例讲述了Android实现WebView删除缓存的方法。分享给大家供大家参考。具体如下:删除保存于手机上的缓存:// clear th
- MyBatis全局配置文件MyBatis 的配置文件包含了影响 MyBatis 行为甚深的设置(settings)和属性(propertie
- 界面中控件较多的话,每个控件都设置setOnClickListener(this)是很麻烦的,为此抽出了一个Context的扩展类:fun
- 斗地主小游戏之洗牌发牌任务描述编写一个斗地主发牌洗牌的程序,要求按照斗地主的规则完成洗牌发牌的过程,牌面由花色色和数字(包括J,Q,K,A字
- 用微信提供的SDK来实现分享:从http://open.weixin.qq.com下载Android相关的jar包,将libammsdk.j
- ubuntu 安装jdk 的两种方法总结:1:通过ppa(源) 方式安装.2:通过官网下载安装包安装.这里推荐第1种,因为可以通过 apt-
- 目录无SpringMVC全局异常时的流程图SpringMVC全局异常流程图其实是一个ModelAndView对象配置文件applicatio
- 本文为大家分享了使用栈的迷宫算法java版,主要考察栈的使用,供大家参考,具体内容如下主要思路如下: do { if(当前位置可通过) {
- 1、jdbc1) 含义:JDBC是java语言连接数据库,Java Date Base Connectivity2) jdbc的本质:在编程
- 所谓回调,就是客户程序C调用服务程序S中的某个方法A,然后S又在某个时候反过来调用C中的某个方法B,对于C来说,这个B便叫做回调方法。下面看
- 前言idea作为一个java开发的便利IDE工具,个人是比较喜欢的,今天来探索个小功能: 导出单个类文件为jar包!JAR文件的全称是Jav
- 1、JObject:基本的json对象/// <summary> /// Gets the j obj
- 前言在计算机操作系统中,进程是进行资源分配和调度的基本单位。这对于基于Linux内核的Android系统也不例外。在Android的设计中,