Mybatis之typeAlias配置的3种方式小结
目录
- Mybatis typeAlias配置
- 1.定义别名
- 2.扫描包方式
- 3.注解方式
- springboot加载mybatis的typeAlias问题
- 为了清晰可见,直接贴代码
Mybatis typeAlias配置
1.定义别名
2.扫描包方式
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,
为了清晰可见,直接贴代码
@Beanpublic 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(); }
【Mybatis之typeAlias配置的3种方式小结】以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
推荐阅读
- Spring5新特性之Reactive响应式编程
- SpringBoot特点之依赖管理和自动装配(实例代码)
- 前端学习之小案例|前端小案例之仿淘宝固定侧边栏
- _IO_2_1_stdin_|_IO_2_1_stdin_ 任意写及对 _IO_2_1_stdout_ 任意读的补充
- Android系统编程入门系列之硬件交互——无线通信WLAN
- 历史上的今天|【历史上的今天】12 月 31 日(千年虫问题;DNA 计算之父出生;微机先驱 Cromemco 成立)
- 五、ES6之对象
- Mybatis-Plus默认主键策略导致自动生成19位长度主键id的坑
- Spring事件监听器之@EventListener原理分析
- BUG小王子|JDBC及Mybatis常见BUG