首页 > 编程知识 正文

django微服务设计(完美通讯录获取源码)

时间:2023-05-04 02:52:50 阅读:79781 作者:4489

1.整合MyBatis-Plus背景

【分布式】---基于nacos、OpenFeign构建的微服务抽奖系统后台小案例

本文基于微服务抽奖系统的后台交换持久层MyBatis,以整合MyBatis-Plus替换原MyBatis框架为目的进行了整合说明。

基于

1.1.为什么要使用MP

MyBatis-plus的jar包的基础包括基于MyBatis的基本jar,是基于MyBatis的进一步扩展,像使用JPA一样,创建基本的xml和注释sql

可以使用注释来完成基本表和PoJo之间的映射关系。

2.基于抽奖系统整合MyBatis-Plus

基于provider-product6700服务器端添加配置。

2.1.配置pom依赖

! --mybatis-plus插件-

从属关系

groupIdcom.baomidou/groupId

artifactidmybatis-plus-boot -启动程序/故障id

版本3.3.2 /版本

/从属关系

2.2.对应的application.yml配置

#mybatis-plus配置集成

mybatis-plus:

配置映射程序映射文件

映射器位置3360类路径: /我的基本/映射器/*.XML

设置Mybatis数据返回类型别名(默认别名为类名) ) ) )。

类型别名-软件包3360 com.fengye.spring cloud.entities

配置:

# #自动驼峰命名

地图-非核心-电子邮件-案例:假

# #控制台打印日志调试的设置

记录:

等级:

com.JD.mapper : debug

2.3.修改Mapper与Service实现

基于MyBatis-Plus实现了mapper层直接继承BaseMapper,无需编写基本的sql语句,实现了基本的添加删除检查操作。 在ServiceImpl中调用也非常方便,只需要直接调用简单的内置方法即可。

映射器:

@存储库

publicinterfaceproductmapperextendsbasemapperproduct {

服务impl :

@服务

publicclassproductserviceimplimplementsproductservice {

@自动无线

私有生产经理;

@Override

publicproductgetproductbyid (集成器标识) {

returnproductmapper.selectbyid (id;

}

@Override

使用publiclistproductgetproductlist (

returnproductmapper.select列表(空值;

}

@Override

公共安全产品{2}

returnproductmapper.insert (产品;

}

}

2.4.启动类上添加@MapperScan扫描

使用此注释可以避免向Mapper层添加@Mapper注释。

@SpringBootApplication

@EnableDiscoveryClient

//标记为主开始类,可以在XxxMapper中省略@Mapper注释

@ mappers can (com.fengye.spring云. mapper ) )。

publicclassproviderproductmain 6700 {

publicstaticvoidmain (字符串[ ]数组) {

spring应用程序. run (提供程序产品6700 .类,args );

}

}

2.5.关于数据库表与PoJo类映射

在实际的过程中,为了实现Mapper API调用的自动化CURD,在配置数据库和PoJo实体类的关系时需要进行一些详细的说明。 这些是坑点,也是重点。

数据库类POJO :

@Data

@AllArgsConstructor

@NoArgsConstructor

@ApiModel (用户实体类) ) ) ) )。

@tablename(MK_product ) /用于指定表名,如果表名和实体名不一致,则必须使用

公共类产品

{

@ApiModelProperty ('主键id ' ) ) ) ) ) ) ) ) ) ) ) )。

//注意:表的主键中使用@TableId

//value表示数据库中的实际列名,如果实体类属性名与表中的主键列名匹配,则省略value

@ table id (value='产品id ',type=IdType.AUTO )//type指定自我增加战略

私有整合者id; //主键id

@ApiModelProperty (“商品名”

//指定实体类的属性和表的列名之间的对应关系

@ table field (值=' pname ' ) ) ) ) ) ) ) )。

私有字符串产品名称; //商品名

@ApiModelProperty (“当选率”

//@表场(双速率) ) )。

//map-underscore-to-camel-case :如果启用了自动驼峰命名,

//现在将winRate更改为win_rate,然后进行sql软件包查询。 有两种方法可以处理不应对的问题。

//1 .设定@表场(win rate ); 2 .修改map-underscore-to-camel-case : false (不使用驼峰命名方式)。

//@tablefield(value='winrate ',exist=true ) )//exist表示是否存在与数据库表对应的列,表示存在缺省的true

专用浮点双向速率; //当选率--要求用户输入小数点后2位

}数据库表:

支持mybatis-plus配置的自动驼峰匹配命名:

集成mybatis-plus配置

mybatis-plus:

配置映射程序映射文件

映射器位置3360类路径: /我的基本/映射器/*.XML

设置Mybatis数据返回类型别名(默认别名为类名) ) ) )。

类型别名-软件包3360 com.fengye.spring cloud.entities

配置:

# #自动驼峰命名

map-underscore-to-camel-case : false以上是整合MP的主要步骤,整合完成后,项目中就可以实际使用MyBatis-Plus了。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。