mybatis.type

网友投稿 250 2022-11-07

mybatis.type

目录mybatis.type-aliases-package的用法说明type-aliases-package使用的几个问题

mybatis.type-aliases-package的用法说明

在mapper.xml文件中的resultMap的type或者parameterType会用到自定义的POJO。

例如:

select * from User

select * from User fcRqaWwhere username=#{username}

select password from user where username = #{username}

insert into user(username,password) value (#{username},#{password})

其中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来映射表中所有的学生信息,把类的权限fcRqaW定类名放在resultType标签中即可,mybatis底层在返回数据库信息的时候,会根据Class.forName(“cn.wideth.entity.domain.Student”)去生成对象实例;

如果我们想在resultType标签中仅仅使用类名Student可不可以呢

&fcRqaWlt;select id="selectByStudentSelective" resultType="Student">

SELECT T.* FROM student T

这样也是可以的,只是需要在yml配置文件中提前进行配置

mybatis:

config-location: classpath:mybatis/mybatis-config.xml

mapper-locations: classpath:mybatis/mapper/*.xml

type-aliases-package: cn.wideth.entity

这样也是可以的,springboot在启动的时候,会加载cn.wideth.entity包以及子包下所有的实体类,进行初始化操作。但是不同子包下面不可以存在同名的实体类。

子包下面存在同名实体类,结果报错了。

小结一下:尽量去使用实体类的全限定类名,这样会减少程序出现问题。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:在脑机接口技术的背后 人工智能扮演着非常重要的角色
下一篇:手把手教你如何搭建一个私有云盘
相关文章

 发表评论

暂时没有评论,来抢沙发吧~