Entity

首先我们聊聊在hibernate中 @Entity 注解为数据对应的一张表,如果对应的数据是数据库的一个视图又是怎么样的呢, 那么需要加上@Immutable 注解防止修改 参考:https://www.thoughts-on-java.org/hibernate-tips-map-view-hibernate/

那么 这样我们给出的entity 概念和hibernate类似,只要是 <select> 中的 resultType 均为 entity, 因为这个model 与数据库select 结果一一映射。

Table

首先它是一个特殊的Entity,请让这个model 不要继承其他model,就让其与数据库的表一一映射即可。

mapUnderscoreToCamelCase

这个是一个mybatis 的一个设置,比如我们Class 使用的命名规范是驼峰,那么数据库一般我们使用的是下划线。注意:在所有的mybatis-dynamic-query 默认均遵循这个规则,如果想要改变可以使用 @Column自定义一一对应关系。

Mybatis Config:

 <settings>
        <setting name="lazyLoadingEnabled" value="false"/>
        <setting name="logImpl" value="STDOUT_LOGGING"/>
        <setting name="mapUnderscoreToCamelCase" value="true"/>
 </settings>

JAVA Code:

Class Student{
    // camel case.
    private Integer studentId;
    // get set..
}

DB Table:

CREATE TABLE student{
    // underscore
    student_id    INT PRIMARY KEY,
}

results matching ""

    No results matching ""