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
0
投稿
猜你喜欢
- 1.springboot * 处理过滤token,并且返回结果import org.apache.commons.lang3.String
- 缘起工作时使用java开发服务器后台,用Jersey写Restful接口,发现有一个Post方法始终获取不到参数,查了半天,发现时获取参数的
- 看完我上一篇文章,「你都理解创建线程池的参数吗?」之后,当遇到这种问题,你觉得你完全能够唬住面试官了,50k轻松到手。殊不知,要是面试官此刻
- 这篇文章主要介绍了java泛型常用通配符实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以
- 本人新手,有什么问题 还请指出来,大家一起学习进步,话不多说。首先,搭建dubbo项目,要有三个工程。它们分别是:maven java工程
- Spark_SQL的UDF使用用户自定义函数,也叫UDF,可以让我们使用Python/Java/Scala注册自定义函数,并在SQL中调用。
- JavaBean根据指定条件设置属性值默认值使用场景当bean数据中已经装配好其他数据,在逻辑以及数据转换完成的最后一步进行数据默认值设置;
- Mybatis基础回顾与高级应用数据库:mysql5.7jdk:15引入依赖<!--引入依赖--> &
- 一本书的页码从自然数1开始顺序编码直到自然数n。书的页码按照通常的习惯编排,每个页码都不含多余的前导数字0。例如第6页用6表示而不是06或0
- 前言我们在写搬砖的过程中,少不了需要将A对象转成B对象,对对象进行对象的转换是一个操作重复且繁琐的工作。于是市面上就有许多的对象转换工具来解
- 这篇文章主要介绍了springboot集成fastDfs过程代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习
- springboot开启事务很简单,只需要一个注解@Transactional 就可以了。因为在springboot中已经默认对jpa、jd
- 上一章节回顾:Netty分布式源码分析监听读事件概述pipeline, 顾名思义, 就是管道的意思, 在net
- 序言之前封装过一个日志注解,打印方法执行信息,功能较为单一不够灵活,近来兴趣来了,想重构下,使其支持表达式语法,以应对灵活的日志打印需求。该
- 前言昨晚想在Android应用中增加一个int映射到String的字典表,使用HashMap实现的时候,Eclipse给出了一个警告,昨晚项
- summarydetail传统的Spring项目会有很多的配置文件,比如我们要使用Redis,一般除了对应的依赖的jar包我们还需要在app
- springboot读取配置文件到静态工具类通常我们读取配置文件可以用@Value注解和@Configuration,@Configurat
- InputStreamReader 类1、概述转换流 java.io.InputStreamReader ,是Reader的子类,是从字节流
- 前言:项目开发中日志是不可缺少的一部分,通过日志能够定位和分析事故原因。目前流行日志框架包含了log4j、log4j2、logback等,另
- 本文实例为大家介绍了Java九大内置对象,供大家参考,具体内容如下1、Request对象该对象封装了用户提交的信息,通过调用该对象相应的方法