Mybatis之typeAlias配置的3种方式小结

作者:如果屈原会编程 时间:2023-11-26 16:42:14 

Mybatis typeAlias配置

1.定义别名

<typeAliases>
     <typeAlias alias="User" type="cn.lxc.vo.User" />
</typeAliases>

2.扫描包方式

<typeAliases>
     <package name="cn.lxc.vo" />
</typeAliases>

3.注解方式

package cn.lxc.vo;
import org.apache.ibatis.type.Alias;
@Alias("User")
public class User {
   private int id;
   private String name;
   private int age;

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 int getAge() {
       return age;
   }
   public void setAge(int age) {
       this.age = age;
   }
}

springboot加载mybatis的typeAlias问题

springboot打成jar之后再linux上运行会报找不到 type alias 对应的实体类的问题,这是springboot扫包的问题。

工程上默认使用的是Mybatis的DefaultVFS进行扫描,但是在springboot的环境下,Mybatis的DefaultVFS这个扫包会出现问题,所以只能修改VFS,

为了清晰可见,直接贴代码

@Bean
    public SqlSessionFactory sqlSessionFactoryBean() throws Exception {
        logger.info("load SpringBootVFS");
        //DefaultVFS在获取jar上存在问题,使用springboot只能修改
        VFS.addImplClass(SpringBootVFS.class);
        SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean();
        sqlSessionFactoryBean.setDataSource(dataSource());
        PathMatchingResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();
        Resource[] resources1 = resolver.getResources("classpath*:/mybatis/*.xml");
        Resource[] resources2 = resolver.getResources("classpath*:/mysql/mapper/*.xml");
        Resource[] resources = (Resource[]) ArrayUtils.addAll(resources1,resources2);
        sqlSessionFactoryBean.setMapperLocations(resources);
        sqlSessionFactoryBean.setTypeAliasesPackage("com.xxx.xx.entity");
        return sqlSessionFactoryBean.getObject();
    }

来源:https://www.cnblogs.com/lxcmyf/p/6444120.html

标签:Mybatis,typeAlias,配置
0
投稿

猜你喜欢

  • Java中七种排序算法总结分析

    2023-03-27 19:41:44
  • Android沉浸式状态栏设计的实例代码

    2023-11-14 13:03:14
  • Java 如何实现解压缩文件和文件夹

    2023-07-17 23:10:22
  • Java中关于二叉树的概念以及搜索二叉树详解

    2023-01-12 00:09:25
  • Android使用DocumentFile读写外置存储的问题

    2023-10-23 01:58:54
  • C#如何利用反射将枚举绑定到下拉框详解

    2022-09-12 01:48:09
  • C#Js时间格式化问题简单实例

    2023-05-17 01:49:19
  • 详解IDEA使用Maven项目不能加入本地Jar包的解决方法

    2022-07-02 02:20:49
  • 基于Android AIDL进程间通信接口使用介绍

    2021-12-28 05:15:22
  • Flutter利用注解生成可自定义的路由的实现

    2022-08-28 15:12:16
  • Android 仿余额宝数字跳动动画效果完整代码

    2021-06-02 16:53:41
  • android实现录屏功能

    2022-04-18 05:11:22
  • Spring Security中使用authorizeRequests遇到的问题小结

    2023-10-07 04:23:45
  • Android使用FontMetrics对象计算位置坐标

    2023-02-06 15:35:20
  • SpringCloud Gateway使用详解

    2023-11-27 02:54:36
  • C#使用smtp发送带附件的邮件实现方法

    2022-11-03 17:53:39
  • SpringBoot 配置文件总结

    2021-09-06 13:12:57
  • springboot-jta-atomikos多数据源事务管理实现

    2022-08-29 19:45:47
  • JAVA对象和字节数组互转操作

    2022-05-06 22:57:28
  • Java 高并发的三种实现案例详解

    2023-12-16 10:57:30
  • asp之家 软件编程 m.aspxhome.com