在基本的 MyBatis 中,session 工厂可以使用 SqlSessionFactoryBuilder 来创建。而在 MyBatis-spring 中,则使用 SqlSessionFactoryBean 来替代。

typeAliasesPackage属性

该属性可以给包中的类注册别名,注册后可以直接使用类名(在mybatis的XXmapper.xml配置文件中直接使用类名),而不用使用全限定的类名(就是不用包含包名)。

该属性可以配置多个,可以用,;\t\n进行分割。但是不支持Ant风格的路径

http://blog.csdn.net/isea533/article/details/45640319

最新版本3.2.0 - 2015-09-02

  • 移除MapperInterceptor拦截器,以后不能在通过拦截器配置

  • 增加mybatis-spring特殊支持,主要是根据mybatis-spring项目增加了下面两个类:

    • tk.mybatis.spring.mapper.MapperScannerConfigurer

    • tk.mybatis.spring.mapper.MapperFactoryBean

  • 这两个类和MyBatis提供的区别是增加了MapperHelper属性,通过在MapperScannerConfigurer中使用properties属性注入配置

  • 这两个类,在全名上和MyBatis的区别是org.mybatis.xxx改为了tk.mybatis.xxx,名字相近,更方便修改配置

  • 和Spring集成方法:

<bean class="tk.mybatis.spring.mapper.MapperScannerConfigurer"><property name="basePackage" value="com.isea533.mybatis.mapper"/>     <property name="properties">         <value>             mappers=tk.mybatis.mapper.common.Mapper         </value>     </property> </bean>
  • 增加style属性配置,用来配置对象名/字段和表名/字段之间的转换方式,可选值:

    • normal:使用实体类名/属性名作为表名/字段名

    • camelhump:这是默认值,驼峰转换为下划线形式

    • uppercase:转换为大写

    • lowercase:转换为小写

  • 增加实体注解@NameStyle,该注解优先于全局配置style

@Bean public MapperScannerConfigurer mapperScannerConfigurer() {MapperScannerConfigurer mapperScannerConfigurer = new MapperScannerConfigurer();mapperScannerConfigurer.setSqlSessionFactoryBeanName("sqlSessionFactory");mapperScannerConfigurer.setBasePackage("com.domain.mapper");Properties properties1 = new Properties();properties1.setProperty("mappers", "com.feizhou.safety.web.util.MyMapper");properties1.setProperty("notEmpty", "false");properties1.setProperty("IDENTITY", "MYSQL");properties1.setProperty("style", "normal");Properties properties = properties1;mapperScannerConfigurer.setProperties(properties);return mapperScannerConfigurer;}

https://www.oschina.net/news/65790/mybatis-mapper-3-2-0

参考:http://blog.chinaunix.net/uid-26244834-id-3268354.html

需要开启一个配置:

Java代码  
  1. public class Configuration {
  2. protected Environment environment;
  3. protected boolean safeRowBoundsEnabled = true;
  4. protected boolean mapUnderscoreToCamelCase = false;
  5. protected boolean lazyLoadingEnabled = false;

mapUnderscoreToCamelCase:是否启用下划线与驼峰式命名规则的映射(如first_name => firstName)

使用: 
spring配置:

Xml代码  
  1. <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
  2. <property name="mapperLocations" value="classpath:sqlMapper/*" />
  3. <property name="dataSource" ref="dataSource" />
  4. <property name="configLocation" value="classpath:mybatis-config.xml"></property>
  5. </bean>

mybatis-config.xml:

Xml代码  
  1. <configuration>
  2. <settings>
  3. <setting name="mapUnderscoreToCamelCase" value="true" />
  4. </settings>
  5. </configuration>

数据库字段: 
is_man

bean: 
private Integer isMan;

mapper配置不需要写字段与属性的配置,会自动映射。

http://flysnowxf.iteye.com/blog/1678780

3.3.8 <table> 元素

该元素至少要配置一个,可以配置多个。

该元素用来配置要通过内省的表。只有配置的才会生成实体类和其他文件。

该元素有一个必选属性:

  • tableName:指定要生成的表名,可以使用SQL通配符匹配多个表。

例如要生成全部的表,可以按如下配置:

<table tableName="%" />

该元素包含多个可选属性:

  • schema:数据库的schema,可以使用SQL通配符匹配。如果设置了该值,生成SQL的表名会变成如schema.tableName的形式。
  • catalog:数据库的catalog,如果设置了该值,生成SQL的表名会变成如catalog.tableName的形式。
  • alias:如果指定,这个值会用在生成的select查询SQL的表的别名和列名上。 列名会被别名为 alias_actualColumnName(别名_实际列名) 这种模式。
  • domainObjectName:生成对象的基本名称。如果没有指定,MBG会自动根据表名来生成名称。
  • enableXXX:XXX代表多种SQL方法,该属性用来指定是否生成对应的XXX语句。
  • selectByPrimaryKeyQueryId:DBA跟踪工具会用到,具体请看详细文档。
  • selectByExampleQueryId:DBA跟踪工具会用到,具体请看详细文档。
  • modelType:和<context>defaultModelType含义一样,这里可以针对表进行配置,这里的配置会覆盖<context>defaultModelType配置。
  • escapeWildcards:这个属性表示当查询列,是否对schema和表名中的SQL通配符 ('_' and '%') 进行转义。 对于某些驱动当schema或表名中包含SQL通配符时(例如,一个表名是MY_TABLE,有一些驱动需要将下划线进行转义)是必须的。默认值是false
  • delimitIdentifiers:是否给标识符增加**分隔符**。默认false。当catalog,schematableName中包含空白时,默认为true
  • delimitAllColumns:是否对所有列添加**分隔符**。默认false

该元素包含多个可用的<property>子元素,可选属性为:

  • constructorBased:和<javaModelGenerator>中的属性含义一样。
  • ignoreQualifiersAtRuntime:生成的SQL中的表名将不会包含schemacatalog前缀。
  • immutable:和<javaModelGenerator>中的属性含义一样。
  • modelOnly:此属性用于配置是否为表只生成实体类。如果设置为true就不会有Mapper接口。如果配置了<sqlMapGenerator>,并且modelOnlytrue,那么XML映射文件中只有实体对象的映射元素(<resultMap>)。如果为true还会覆盖属性中的enableXXX方法,将不会生成任何CRUD方法。
  • rootClass:和<javaModelGenerator>中的属性含义一样。
  • rootInterface:和<javaClientGenerator>中的属性含义一样。
  • runtimeCatalog:运行时的catalog,当生成表和运行环境的表的catalog不一样的时候可以使用该属性进行配置。
  • runtimeSchema:运行时的schema,当生成表和运行环境的表的schema不一样的时候可以使用该属性进行配置。
  • runtimeTableName:运行时的tableName,当生成表和运行环境的表的tableName不一样的时候可以使用该属性进行配置。
  • selectAllOrderByClause:该属性值会追加到selectAll方法后的SQL中,会直接跟order by拼接后添加到SQL末尾。
  • useActualColumnNames:如果设置为true,那么MBG会使用从数据库元数据获取的列名作为生成的实体对象的属性。 如果为false(默认值),MGB将会尝试将返回的名称转换为驼峰形式。 在这两种情况下,可以通过 元素显示指定,在这种情况下将会忽略这个(useActualColumnNames)属性。
  • useColumnIndexes:如果是true,MBG生成resultMaps的时候会使用列的索引,而不是结果中列名的顺序。
  • useCompoundPropertyNames:如果是true,那么MBG生成属性名的时候会将列名和列备注接起来. 这对于那些通过第四代语言自动生成列(例如:FLD22237),但是备注包含有用信息(例如:"customer id")的数据库来说很有用. 在这种情况下,MBG会生成属性名FLD2237_CustomerId。

除了<property>子元素外,<table>还包含以下子元素:

  • <generatedKey> (0个或1个)
  • <columnRenamingRule> (0个或1个)
  • <columnOverride> (0个或多个)
  • <ignoreColumn> (0个或多个)

http://blog.csdn.net/isea533/article/details/42102297

mybatis支持属性使用驼峰的命名相关推荐

  1. 开启mybatis属性使用驼峰的命名

    mybatis支持属性使用驼峰的命名,但是默认是不开启额额,需要我们设置开启 数据库字段:我们一般都用下划线分隔, 但是实体类中的属性,一般用驼峰命名 如果需要自动映射,则配置mybatis-conf ...

  2. 对应到对象 数据库驼峰_从源码角度理解Mybatis字段映射(一) - 驼峰式命名

    凯伦说,公众号ID: KailunTalk,努力写出最优质的技术文章,欢迎关注探讨. 在上篇博客-[JDBC] 处理ResultSet,构建Java对象中提到,我们需要分析Mybatis在转换Resu ...

  3. mybatis支持驼峰自动转换sql吗_四、SpringBoot整合mybatis——配置mybatis驼峰命名规则自动转换...

    简述: mybatis驼峰式命名规则自动转换: 使用前提:数据库表设计按照规范"字段名中各单词使用下划线"_"划分": 使用好处:省去mapper.xml文件中 ...

  4. mybatis支持驼峰自动转换sql吗_SpringBoot整合mybatis——配置mybatis驼峰命名规则自动转换...

    一.简述 mybatis驼峰式命名规则自动转换: 使用前提:数据库表设计按照规范"字段名中各单词使用下划线"_"划分": 使用好处:省去mapper.xml文件 ...

  5. springboot mybatis plus 关闭驼峰式命名转换为下划线

    springboot mybatis plus 关闭驼峰式命名转换为下划线 报错信息是这样的: org.springframework.jdbc.BadSqlGrammarException: ### ...

  6. jackson 驼峰注解_jackson 常用注解,比如忽略某些属性,驼峰和下划线互转

    一般情况下使用JSON只使用了java对象与字符串的转换,但是,开发APP时候,我们经常使用实体类来做转换:这样,就需要用到注解: Jackson默认是针对get方法来生成JSON字符串的,可以使用注 ...

  7. java 自定义注解实现不同对象之间的拷贝(支持大小写、驼峰转换)

    java 自定义注解实现不同对象之间的拷贝(支持大小写.驼峰转换) 1.需求 要实现两个属性名称完全不同的对象之间的拷贝.具体如下 原对象 /*** 原实体*/ @Data public class ...

  8. php 下划线转大写开头,使用PHP把下划线分隔命名的字符串 转换成驼峰式命名方式 , 把下划线后面的第一个字母变成大写...

    最近项目使用symfony框架,这个框架对数据库的操作在这个团队里使用的是ORM进行操作,说实话使用ORM的开发效率和运行效率不一定高多少,到是它的实体命名和现有数据库字段的命名不太一样,ORM实体属 ...

  9. java 数据库 字段名 转_Java正则表达式实现表字段名和驼峰式命名转换

    Java正则表达式实现表字段名和驼峰式命名转换 在开发过程中,数据表中的字段名我们通常以"_"分隔(如:user_name),而在Java的实体类中我们的字段属性通常采用驼峰式命名 ...

  10. idea 下划线字段转驼峰_Java如何实现数据库中表字段的下划线和驼峰式命名的Model相互转换,很方便的...-Go语言中文社区...

    其实通过逆向工程,然后去配置一些config,就可以实现,从Table到Model的相互转换,而且,对于下划线命名的Table字段,实现驼峰式命名的Model ,有时候我们只是做个测试,或者自己基于数 ...

最新文章

  1. 程序员笔记|如何编写优雅的Dockerfile
  2. 《利用Python》进行数据分析:Numpy基础9 数组转置和轴对换
  3. java 静态分派_Java中的静态分派与动态分派
  4. Asp.Net中判断是否登录,及是否有权限?
  5. Zend Framework 多模块配置 (二)
  6. 如何形象的解释javascript中map,foreach,reduce的区别
  7. Abp 代码生成器使用说明
  8. java语言基础02
  9. Android项目实战(三十一):异步下载apk文件并安装(非静默安装)
  10. oracle index logging,index在logging什么?
  11. C# 图片直接打印方法
  12. win10很多软件显示模糊_win10系统字体模糊的解决方法
  13. 房地产主数据管理全周期实践[转]
  14. 格力不需要“第二个董明珠”
  15. 用java设计族谱家谱制_家谱网站的设计与实现.doc
  16. hdu 5336 XYZ and Drops
  17. TP-LINK路由器如何设置DHCP
  18. 服务器上的文件夹丢失怎么办,快速找回丢失文件夹选项的简单办法
  19. 一行代码实现IOS 3DES加密解密
  20. nPlayer Plus视频播放器 免越狱直装

热门文章

  1. original:,tool:AAPT
  2. Xcode编译后运行程序Killed: -9,因为签名有问题
  3. LINUX:lpr不能打印,可以试试lp
  4. MAC:使用install_name_rpath修改编译结果的rpath
  5. 路灯干扰者视频2021-08-10
  6. 代码管理学:一时不检查,工作必走样
  7. 公司部分断电,这些人就没法干活?
  8. 一句代码错误,就要出差
  9. 一例WINDOWS系统上的JAVA UI卡死
  10. 技术人员就不要当资金股东了