mybatis.type-aliases-package怎么用
这篇文章主要讲解了“mybatis.type-aliases-package怎么用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“mybatis.type-aliases-package怎么用”吧!
mybatis.type-aliases-package的用法说明
在mapper.xml文件中的resultMap的type或者parameterType会用到自定义的POJO。
例如:
<mappernamespace="com.example.demo.mapper.UserMapper"><selectid="findAll"resultType="User">select*fromUser</select><selectid="findByName"resultType="User">select*fromUserwhereusername=#{username}</select><selectid="findPswByName"resultType="String">selectpasswordfromuserwhereusername=#{username}</select><insertid="save">insertintouser(username,password)value(#{username},#{password})</insert></mapper>
其中resultType=“User”中,User就是自定义的POJO,此时可以使用完全限定名来指定这些POJO的引用,例如:
<selectid="findByName"resultType="com.example.entity.User">
第二种方法就是使用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的引用,例如
<selectid="selectByStudentSelective"resultType="cn.wideth.entity.domain.Student">SELECTT.*FROMstudentT</select>
我们需要查询student表中所有学生的信息,定义了一个实体类student来映射表中所有的学生信息,把类的权限定类名放在resultType标签中即可,mybatis底层在返回数据库信息的时候,会根据Class.forName(“cn.wideth.entity.domain.Student”)去生成对象实例;
如果我们想在resultType标签中仅仅使用类名Student可不可以呢
<selectid="selectByStudentSelective"resultType="Student">SELECTT.*FROMstudentT</select>
这样也是可以的,只是需要在yml配置文件中提前进行配置
mybatis:config-location:classpath:mybatis/mybatis-config.xmlmapper-locations:classpath:mybatis/mapper/*.xmltype-aliases-package:cn.wideth.entity
这样也是可以的,springboot在启动的时候,会加载cn.wideth.entity包以及子包下所有的实体类,进行初始化操作。但是不同子包下面不可以存在同名的实体类。
子包下面存在同名实体类,结果报错了。
感谢各位的阅读,以上就是“mybatis.type-aliases-package怎么用”的内容了,经过本文的学习后,相信大家对mybatis.type-aliases-package怎么用这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是恰卡编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!