Mybatis 的部分优化及注意事项

一、加载数据库时可以编写外部文件通过导入的方式获取

(1)外部资源

driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/mybatis?userSSL=true&useUncode=true&characterEncoding=UTF-8
username=root
password=123456
//读取外部资源



                
                
                
                

二、可以准备多套环境,使用那套时仅需将默认环境环境设置对应环境的ID即可

Mybatis 的部分优化及注意事项_第1张图片

 三、设置类的别名

(1)方法一(修改类名):


        

(2)方法二(指定包名):

        1、Mybatis会在对应的包名下搜索需要的JavaBean,例如扫描实体类的包,它的默认名就为该类名的首字母缩写。


        

         2、(加注解):

        在想修改的类里加注解引号中的就为该类的别名

@Alias("hello")

两种方法的对比:

(1)在实体类比较少的时候使用方法一,反之使用第二种。

(2)对一种的别名可以随意设置,第二种不可以,如果非要该则需要在对应类里面加注解

四、Mapper文件的注册绑定

方法一:

方法二:

方法三:

 

方法二和方法三的注意事项:

(1)接口和Mapper配置文件必须同名

(2)接口和Mapper配置文件必须在一个包下

五、当属性名和字段名不一致的如何解决

(1)方法一:别名

(2)方法二:resultMap

    
        
        
        
    


    

五、分页的实现

(1)Limit实现分页

(2)RowBounds分页

(3)PageHelper插件

六、注解实现CRUD

(1)当有多个参数时所有的参数前面加上 @Param,且@Param中的名称与select中的参数名保持一致。

 @Select("select * from user where id = ${id}")
    
 User getUserById( @Param("id") int id);

设置事务自动提交:

public static SqlSession getSqlSession(){

        return sqlSessionFactory.openSession(true);
}

七、Lombok插件使用

(1)在idea中安装Lombok插件

(2)在项目中导入lombok的jar包

(3)在实体类上加注解

@Date  (无参构造、get、set、tostring、hashcode、equals方法)

@AllArgsConstructor (有参构造)@NoArgsConstructor(无参构造)

优缺点:

(1)简化代码,让开发更加的便捷,大大的节省了开发时间,提高了效率

(2)代码的可读性变差。

八、编写工具类利用UUID.randomUUID().toString()方法生成主键Id

UUID.randomUUID().toString()是javaJDK提供的一个自动生成主键的方法;

UUID(Universally Unique Identifier)全局唯一标识符,是指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的,是由一个十六位的数字组成,表现出来的 形式。

工具类;

package com.lisi.utils;

import org.junit.Test;

import java.util.UUID;

@SuppressWarnings("all")
public class IDutils {
    public static String getId(){
        return UUID.randomUUID().toString().replaceAll("-"," ");
    }
    @Test
    public void test(){
        System.out.println(getId());
        System.out.println(getId());
        System.out.println(getId());
    }
}

测试结果;

Mybatis 的部分优化及注意事项_第2张图片

九、数据库中字段与Java中属性之间的转换(即数据库中**_***  与Java的驼峰命名法转换)

Mybatis配置文件:


   


如果在数据库中,有一个字段为a_id,那么在javaBean中的属性也必须这样写,写成a_id,这种代码编写方式肯定不符合代码规范。
若开启则: 数据库返回的"order_address"命名字段映射为class的"orderAddress"字段。
 

你可能感兴趣的:(架构)