栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

mybatis的配置优化

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

mybatis的配置优化

文章目录
    • 1.配置解析(优化)
      • 1.1.环境配置
      • 1.2.属性(properties)
    • 2.类型别名
      • 2.1.为实体类取别名
    • 3.映射器(mappers)


1.配置解析(优化) 1.1.环境配置
  • MyBatis 可以配置成适应多种环境,这种机制有助于将 SQL 映射应用于多种数据库之中(比如需要不同的环境,mysql和oracle)
  • 尽管可以配置多个环境,但每个 SqlSessionFactory 实例只能选择一种环境。
  • 如果你想连接两个数据库,就需要创建两个 SqlSessionFactory 实例,每个数据库对应一个。
1.2.属性(properties)

我们可以通过perperties属性实现引用配置文件。
这些属性都是可以外部配置且可以动态替换的,既可以在典型的java属性文件中配置,也可以通过properties元素的子元素类传递(db.properties)

优化配置文件(外接配置文件)具体步骤
1)第一步 :在resouces目录下新建一个db.properties

driver=com.mysql.cj.jdbc.Driver
url=jdbc:mysql://localhost:3306/mybatis?serverTimezone=GMT%2B8&useSSL=false
username=root
password=*******
2)第二步 : 将文件导入properties 配置文件 mybatis-config.xml内容如下:

   
   

   
       
           
           
               
               
               
               
           
       
   
   
       
   


也可以这么写:


        
        

注意点:

  • 可以直接引入外部文件
  • 可以在其中增加一些属性配置
  • 当db.properties中的属性和properties中属性冲突时,以db.properties中为准。
2.类型别名
  • 类型别名是为Java类型设置一个短的名字
  • 存在的意义仅在于用来减少类完全限定名的冗余
2.1.为实体类取别名

第一种方法:
为 Java 类型设置一个缩写名字。 它仅用于 XML 配置,意在降低冗余的全限定类名书写

    
        
    

第二种方法:也可以指定一个包名,MyBatis 会在包名下面搜索需要的 Java Bean,比如:

 
    

扫描一个包
可以指定一个包名,MyBatis会在包名的下面搜索需要的java bean ,比如:扫描一个实体包,它的默认别名就是这个类的类名,首字母小写。
如何选择?:

  • 在实体类比较少的时候,使用第一种方式
  • 如果实体类十分多,建议使用第二种
  • 第一种可以DIY别名,第二种则不行,如果非要改,需要在实体类上加上注解
package com.org.pojo;
//实体类
@Alias("aaa")
public class User {
    private int id;
    private String name;
    private String pwd;
    public User(int id, String name,String pwd){
        this.id = id;
        this.name = name;
        this.pwd = pwd;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getPwd() {
        return pwd;
    }

    public void setPwd(String pwd) {
        this.pwd = pwd;
    }

    @Override
    public String toString() {
        return "User{" +
                "id=" + id +
                ", name='" + name + ''' +
                ", pwd='" + pwd + ''' +
                '}';
    }
}

3.映射器(mappers)
  • 每写一个Mapper类就要注册一次。
  • 引入资源方式(推荐还是使用第一种方式,保险一点)

        


        


        

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/439333.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号