mybatis.type-aliases-package的作用及用法说明
目录
- mybatis.type-aliases-package的用法说明
- type-aliases-package使用的几个问题
mybatis.type-aliases-package的用法说明 在mapper.xml文件中的resultMap的type或者parameterType会用到自定义的POJO。
例如:
select * from Userselect * from User where username=#{username}select password from user where username = #{username} insert into user(username,password) value (#{username},#{password})
【mybatis.type-aliases-package的作用及用法说明】其中resultType=“User”中,User就是自定义的POJO,此时可以使用完全限定名来指定这些POJO的引用,例如:
第二种方法就是使用mybatis.type-aliases-package来指定POJO扫描包来让mybatis自动扫描到自定义的POJO。
在application.propertites配置文件中配置如下信息:mybatis.type-aliases-package=com.example.entity
mybatis.type-aliases-package=com.example.demo.entity
type-aliases-package使用的几个问题 mapper.xml中的resultType中经常会用到一些自定义POJO,你可以用完全限定名来指定这些POJO的引用,例如
SELECT T.* FROM student T
我们需要查询student表中所有学生的信息,定义了一个实体类student来映射表中所有的学生信息,把类的权限定类名放在resultType标签中即可,mybatis底层在返回数据库信息的时候,会根据Class.forName(“cn.wideth.entity.domain.Student”)去生成对象实例;
文章图片
如果我们想在resultType标签中仅仅使用类名Student可不可以呢
SELECT T.* FROM student T
这样也是可以的,只是需要在yml配置文件中提前进行配置
mybatis:config-location: classpath:mybatis/mybatis-config.xmlmapper-locations: classpath:mybatis/mapper/*.xmltype-aliases-package: cn.wideth.entity
文章图片
这样也是可以的,springboot在启动的时候,会加载cn.wideth.entity包以及子包下所有的实体类,进行初始化操作。但是不同子包下面不可以存在同名的实体类。
文章图片
子包下面存在同名实体类,结果报错了。
小结一下:尽量去使用实体类的全限定类名,这样会减少程序出现问题。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
推荐阅读
- Nginx构建Tomcat集群的操作方法
- 投稿|养宠的8090后,撑起了一个百亿级市场
- 五月,是妈妈的情怀
- 成为顶尖程序员不得不养成的6大编程习惯,你有几个()
- 聊天记(在酒店工作的友人——成为管理者)
- 这首歌的翻唱版很多人都听过,但它的原版更有味道
- 别羡慕她的漂亮,总有人会喜欢你的善良!
- 投稿|亚马逊第一大卖Spreetail是怎么炼成的?
- 数据分析基础知识|数据分析和Excel(有关数据分析和Excel的简单介绍)
- 计算机毕业论文|基于Python的招聘网站爬虫及可视化的设计与实现