1.如果一个类没有get/set方法,从数据库拿到数据还能映射到实体类上么?
不能,如果一个类没有get/set方法,从数据库拿到的数据可能无法直接映射到实体类上。这是因为大多数ORM框架(如Hibernate、MyBatis)或对象映射工具(如Dozer、MapStruct)依赖于类的get/set方法来进行属性的读取和写入操作。
ORM框架通常会使用反射机制来调用实体类的get/set方法,从而将数据库中的数据映射到实体类的属性上。如果实体类没有相应的get/set方法,ORM框架将无法正确地读取或写入属性的值。
如何解决?
- 添加get/set方法:在实体类中手动添加对应的get/set方法,以便能够正确地映射数据库中的数据到实体类的属性上。
- 使用注解:某些ORM框架或对象映射工具提供了注解来指定属性与数据库字段的映射关系。您可以查阅相关文档,了解如何使用注解来映射数据库字段到实体类的属性上。
- 自定义映射逻辑:如果无法修改实体类或使用注解,您可以编写自定义的映射逻辑。通过编写自定义的映射器或转换器,您可以将数据库中的数据提取出来,并手动设置到实体类的属性上。
2.redis并发情况下如何切换db?
可以建立一个redis连接工厂,为每一个db创建一个一个redisTemplate,这样可以避免并发
https://ld246.com/article/1594863004207