参考:http://blog.chinaunix.net/uid-26244834-id-3268354.html
在Mybatis的源码中发现Configuration类,是mybatis的配置中心:
Java代码 <embed wmode="transparent" src="http://deific.iteye.com/javascripts/syntaxhighlighter/clipboard_new.swf" flashvars="clipboard=%20public%20class%20Configuration%20%7B%20%0A%20protected%20Environment%20environment%3B%20%0A%20protected%20boolean%20safeRowBoundsEnabled%20%3D%20true%3B%20%0A%20protected%20boolean%20mapUnderscoreToCamelCase%20%3D%20false%3B%20%0A%20protected%20boolean%20lazyLoadingEnabled%20%3D%20false%3B%0A" quality="high" allowscriptaccess="always" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" width="14" height="15"> [](javascript:void() "收藏这段代码")
- public class Configuration {
- protected Environment environment;
- protected boolean safeRowBoundsEnabled = true;
- protected boolean mapUnderscoreToCamelCase = false;
- protected boolean lazyLoadingEnabled = false;
其中属性mapUnderscoreToCamelCase表示是否启用下划线与驼峰式命名规则的映射(如first_name => firstName)。其实mybatis是支持数据库属性和实体对象的驼峰命名映射,只需要开启这个配置即可。
使用方法:
mybatis和spring结合使用时(java web工程),配置:
](javascript:void() "收藏这段代码")
- <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
- <property name="mapperLocations" value="classpath:sqlMapper/*" />
- <property name="dataSource" ref="dataSource" />
- <property name="configLocation" value="classpath:mybatis-config.xml"></property>
- </bean>
- mybatis-config.xml:
- <configuration>
- <settings>
- <setting name="mapUnderscoreToCamelCase" value="true" />
- </settings>
- </configuration>
mybatis单独使用时(java project工程),配置如下:
Java代码 <embed wmode="transparent" src="http://deific.iteye.com/javascripts/syntaxhighlighter/clipboard_new.swf" flashvars="clipboard=%20%20%20%20%20%20%20%20Configuration%20configuration%20%3D%20new%20Configuration(environment)%3B%0A%20%20%20%20%20%20%20%20configuration.setLazyLoadingEnabled(true)%3B%0A%20%20%20%20%20%20%20%20%2F%2F%20%E5%90%AF%E7%94%A8%E4%B8%8B%E5%88%92%E7%BA%BF%E4%B8%8E%E9%A9%BC%E5%B3%B0%E5%BC%8F%E5%91%BD%E5%90%8D%E8%A7%84%E5%88%99%E7%9A%84%E6%98%A0%E5%B0%84%EF%BC%88%E5%A6%82first_name%20%3D%3E%20firstName%EF%BC%89%0A%20%20%20%20%20%20%20%20configuration.setMapUnderscoreToCamelCase(true)%3B%0A" quality="high" allowscriptaccess="always" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" width="14" height="15"> [](javascript:void() "收藏这段代码")
- Configuration configuration = new Configuration(environment);
- configuration.setLazyLoadingEnabled(true);
- // 启用下划线与驼峰式命名规则的映射(如first_name => firstName)
- configuration.setMapUnderscoreToCamelCase(true);