1. 首页 > 汽车 >

mybatis开启驼峰命名 mybatis开启驼峰映射

Mybatis 教程之Mybatis注解开发

mybatis初配置信息是基于 XML ,映射语句(SQL)也是定义在 XML 中的。而到了 MyBatis 3提供了新的基于注解的配置。

mybatis开启驼峰命名 mybatis开启驼峰映射mybatis开启驼峰命名 mybatis开启驼峰映射


这里讲述 注解开发方式:

首先我们需要获取 SqlSession :

参数设置为 true 表示开启自动提交模式。

session 在注解形式的使用方式如:

所以mybatis 的使用使用三部分:

这里主要讲解 Mapper 层的开发规则。

sql 类型主要分成 : select @Select(${sql}) , update @Update(${sql}) , insert @Insert($sql) , delete (${sql}) .

@Results 用来设置table信息与bean相关字段的映射关系, 每一个字段的关系使用 @Result 控制。

默认情况下对于每一table字段,例如 name , 会调用 bean 中的 setName(..) . 如果找不到,对于新版本的 mybatis 会报错。

例如上面的 cluster_name 会调用 setCluster_name() . 但是ja 中使用的 clusterName ,可以通过 Result 注解控制.

@ResultMap 可以通过Id,应用其他的 Results

还有一种更改映射的方式:

mapUnderscoreToCamelCase 设置为true, 之后会自动实现 mysql 中的unix命名方式转为ja的驼峰表示法。

@MapKey 此注解应用将查询数据转为 Map<>, 注意的是MapKey()中的id终调用bean的getId 获取数据,所以需要映射bean字段而不是table.

@Param注解用于给方法参数起一个名字。以下是笔者总结的使用原则:

在方法只接受一个参数的情况下,可以不使用@Param。

在方法接受多个参数的情况下,建议一定要使用@Param注解给参数命名。

insert 时获取自增主键的方式:

法一:

法二:

#{} 的作用主要是替换预编译语句(PrepareStatement)中的占位符 ? :

对于 : INSERT INTO user (name) VALUES (#{name}); ==> INSERT INTO user (name) VALUES (?);

${} 符号的作用是直接进行字符串替换:

对于 : INSERT INTO user (name) VALUES ('${name}'); ==> INSERT INTO user (name) VALUES ('tianshozhi');

mybatis-plus配置返回map自动转换为驼峰

map-underscore-to-camel-case: true

这个yml设置只会把VO之类的自动驼峰化

但是有些没有VO的 只是一两个字段的 直接返回map给前端的

就在配置文件

下加入

重启 返回的map数据也转为驼峰了。

SpringBoot整合ORM开发框架MyBatis和JPA

1、在使用Spring整合ORM组件的过程中,为了达到简化的目的,往往会进行大量的配置。利用SpringBoot可以进一步实现配置的简化。SpringBoot整合MyBatis开发框架,MyBatis是一款常用并且配置极为简单的ORM开发框架。其与Spring结合后,可以利用Spring的特征实现DAO接口的自动配置。在SpringBoot中,又对MyBatis框架的整合进行了进一步简化。

修改pom.xml配置文件,在项目中引入mybatis-spring-boot- starter依赖支持库,切记也需要数据库链接池的支持的哦。

数据表结构,如下所示:

注意:如果数据表字段两个英文单词之间是下划线连接的,但是你的实体类是驼峰命名法,此时就需要进行配置,数据库字段是你下划线分隔,但是bean中的字段是驼峰命名的,如user_name和userName,导致无法匹配。如果是通过xml文件来配置的话,只需要开启驼峰命名转换,setting name="mapUnderscoreToCamelCase" value="true"/>,在/src/main/resources/mybatis/mybatis.cfg.xml里面配置即可。

创建一个po实体类,方便数据传输,如下所示:

在src/main/resources目录中创建mybatis/mybatis.cfg.xml配置文件。如果要开启驼峰命名转换,在这里开启即可,如下所示:

如果在application.properties中开启转换的话,使用mybatis.configuration.map-underscore-to-camel-case=true配置即可。

或者搞个配置类,如果数据库表字段Column无法自动映射到相对应的实体类属性上,我们可以在config包下新建一个自动配置类MybatisConfig,开始驼峰命名规则。

MyBatis配置文件开启驼峰命名映射

修改application.yml配置文件,追加MyBatis配置,如下所示:

搞几个Dao层、Service层、Controller层的接口或者类,如下所示:

注意:如果不想每次都在mapper接口上添加@Mapper注解,可以在主启动类上通过添加@MapperScan注解来批量扫描指定包下的所有mapper接口。

Service层的接口和实现类代码,如下所示:

控制层的代码,如下所示:

项目启动类,如下所示:

通过Postman测试一下,自己写的接口,看看好使不,如下所示:

项目结构,如下所示:

2、JPA是推出的Ja持久层作标准(现主要使用Hibernate实现),使用SpringData技术和JpaRepository接口技术,也可以达到简化数据层的目的。要在SpringBoot中使用SpringDataJPA,需要spring-boot-starter-data-jpa依赖库的支持。

修改pom.xml配置文件,引入相关依赖包,如下所示:

创建UserInfo实体类,如下所示:

创建UserDao,然后继承JpaRepository ,此时就可以使用写好的方法了,不用自己再额外写接口和实现,如下所示:

然后定义Service接口和Service接口实现,如下所示:

然后搞一个Controller,作为接口访问的入口,如下所示:

修改程序启动主类,追加Repository扫描配置。如果使用JpaRepository实现了DAO接口的自动实现。需要注意的是,如果想启用Repository配置,则需要在程序启动主类时使用@EnableJpaRepositories注解配置扫描包,而后才可以正常使用。

修改application.properties,使用Druid作为数据源连接池,如下所示:

使用postman进行接口调用,如下所示:

主要的是给自己增加知识的储备,有备无患。给大家分享Spring系列的学习笔记和面试题,包含spring面试题、spring cloud面试题、spring boot面试题、spring教程笔记、spring boot教程笔记、阿里巴巴开发手册(63页PDF总结)、2022年Ja面试手册。一共整理了1184页PDF文档。私信博主(666)领取,祝大家更上一层楼!!!

怎么用ja实现驼峰命名法与数据库命名法的相互转换

驼峰命名就是除首单词外后面单词个字符大写,根据数据库命名法规则,获取到一个名字时先判断是表名还是什么,然后根据对应的规则剪切拼接字符就可以了。

如果用mybatis可以直接转换的。

mybatis-generator 生成代码字段名默认按驼峰命名,可否设置

...

可以自己指定数据库表字段对应的属性名,随便你修改

如何让idea自动创建mybatis配置文件

一、在pom.xml中添加plugin

其中generatorConfig.xml的位置,大家根据实际情况自行调整

二、generatorConfig.xml配置文件

1

2

3 PUBLIC "-// MyBatis Generator Configuration 1.0//EN"

4 "

5

6

7 location="C:/Oracle/Middleware/wlserver_10.3/server/lib/ojdbc6.jar"/>

8

9

10

11

12

13

14 connectionURL="jdbc:oracle:thin:@172.20.16.:1521:CARGO" userId=""

15 password=""/>

16

17 targetProject="D:/yangjm/Code/CTAS/JAVAEE/CTAS2CCSP/src/main/ja">

18

19

20

21

22 targetProject="D:/yangjm/Code/CTAS/JAVAEE/CTAS2CCSP/src/main/ja">

23

24

25

26 targetProject="D:/yangjm/Code/CTAS/JAVAEE/CTAS2CCSP/src/main/ja" type="XMLMAPPER">

27

28

29

33

34 enableCountByExample="false" enableUpdateByExample="false"

35 enableDeleteByExample="false" enableSelectByExample="false"

36 selectByExampleQueryId="false">

37

39

40

41

根据具体问题类型,进行步骤拆解/原因原理分析/内容拓展等。

mybatis中带下划线变量的映射问题

我一般都用自定义的resultMap

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 12345678@qq.com 举报,一经查实,本站将立刻删除。

联系我们

工作日:9:30-18:30,节假日休息