当前位置: 首页 > news >正文

qq刷赞网站推广软件户外拓展网站源码

qq刷赞网站推广软件,户外拓展网站源码,哪个博客可以做单页网站,安徽省建设厅网站备案MyBatis-Plus#xff08;简称MP#xff09;是一个MyBatis的增强工具#xff0c;在MyBatis的基础上只做增强而不做改变。它支持所有MyBatis原生的特性#xff0c;因此引入MyBatis-Plus不会对现有的MyBatis构架产生任何影响。MyBatis-Plus旨在简化开发、提高效率#xff0c;…MyBatis-Plus简称MP是一个MyBatis的增强工具在MyBatis的基础上只做增强而不做改变。它支持所有MyBatis原生的特性因此引入MyBatis-Plus不会对现有的MyBatis构架产生任何影响。MyBatis-Plus旨在简化开发、提高效率特别是简化了CRUD增删改查操作。 MyBatis常见使用场景 数据权限控制在查询数据时自动添加当前用户可访问的数据范围的WHERE条件。多租户支持在查询数据时自动添加租户ID的WHERE条件以区分不同租户的数据。动态表名根据不同的请求参数动态修改SQL语句中的表名以实现数据分片或数据隔离等功能。加密解密对数据库中的敏感数据进行加密查询数据时进行解密。缓存优化通过缓存某些查询结果来提高系统性能可以将缓存对象作为拦截器的属性来管理。 MyBatis-Plus通过启动加载XML配置时注入单表SQL操作来简化开发工作提高生产率。总的来说MyBatis-Plus是一个强大的MyBatis增强工具为开发者提供了更多的便利和灵活性。 springboot-mybatisplus模块 在此模块中我们会通过springbootTest和Controller两种方式来进行测试。 模块结构说明 类文件说明 SystemLogController.javacontroller它会调用ISystemLogDao接口ISystemLogDao.javaDao接口SystemLogQueryISystemLogDao接口参数SystemLogDaoImpl.javaISystemLogDao接口实现SystemLogMapper.javamybatis Mapper接口SystemLogEntity.java数据库实体类 文件夹 resources/mybatismybatis配置文件一般与SystemLogMapper.java一一对应 测试类 SystemLogControllerTest测试 LoadBalanceController.java URI接口功能SystemLogDaoTest测试 ISystemLogDao.java 接口实现功能 数据库脚本 数据库脚本 需要事先导入到数据库中 CREATE TABLE jdemo.t_sys_record_demo (uuid varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,biz_id varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT COMMENT 业务ID,user_id varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 操作用户ID,track_uid varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 链路ID,code varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 操作代码,custom_code varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 操作2级代码,status int NULL DEFAULT NULL COMMENT 记录状态:1可查询0不可查询,ctime datetime NULL DEFAULT NULL,utime datetime NULL DEFAULT NULL,cid varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,cname varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,PRIMARY KEY (uuid) USING BTREE ) ENGINE InnoDB CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci ROW_FORMAT Dynamic;java实体类 注意下列TableName中的值要和数据库表名一致。 Data EqualsAndHashCode(callSuper true) Accessors(chain true) TableName(t_sys_record_demo) public class SystemLogEntity extends DBEntity {private String bizId;private String userId;private String trackUid;private String code;private String customCode;private Integer status;TableField(value cid, fill FieldFill.INSERT, insertStrategy FieldStrategy.NEVER, updateStrategy FieldStrategy.NEVER)private String cid;TableField(value cname, fill FieldFill.INSERT, insertStrategy FieldStrategy.NEVER, updateStrategy FieldStrategy.NEVER)private String cname;}模块配置 pom.xml 这里需要注意mybatisplus分2和3两个版本3版本对应的springboot32对应的是springboot2这两个mybatisplus版本并不兼容。 dependencies!--数据库相关--dependencygroupIdcom.baomidou/groupIdartifactIdmybatis-plus-spring-boot3-starter/artifactId/dependencydependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactId/dependencydependencygroupIdcom.alibaba/groupIdartifactIddruid-spring-boot-starter/artifactId/dependency!--工具包--dependencygroupIdcom.korgs/groupIdartifactIdframework-persistence/artifactIdversion1.0-SNAPSHOT/version/dependency/dependenciesframework-persistence是笔者开发的一个基础jar包在源码中可以找到。 Invalid value type for attribute ‘factoryBeanObjectType’: java.lang.String 这个错误是由于版本不对引起的 因为mybatis2和3不相互兼容这主要是jdk版本不同导致的其它三方插件也有这个问题。 application.properties配置 spring.profiles.active dev spring.application.namespringbootMybatisplus server.port18086 #debugtruemanagement.endpoints.web.exposure.include * management.endpoint.health.show-detailsalways##mybatis Server spring.datasource.typecom.alibaba.druid.pool.DruidDataSource spring.datasource.driver-class-namecom.mysql.cj.jdbc.Driver spring.datasource.urljdbc:mysql://127.0.0.1:3306/jdemo?characterEncodingutf8useSSLfalseserverTimezoneAsia/Shanghai spring.datasource.usernameroot spring.datasource.password12345678 spring.datasource.druid.initial-size5 spring.datasource.druid.min-idle5 spring.datasource.druid.max-active20 spring.datasource.druid.max-wait60000 spring.datasource.druid.validation-querySELECT 1 FROM DUAL spring.datasource.druid.max-pool-prepared-statement-per-connection-size5 spring.datasource.druid.test-while-idletrue spring.datasource.druid.test-on-borrowfalse spring.datasource.druid.test-on-returnfalse spring.datasource.druid.time-between-eviction-runs-millis60000 spring.datasource.druid.min-evictable-idle-time-millis100000 spring.datasource.druid.filtersstat # ##mybatis plugs mybatis-plus.mapper-locationsclasspath:/mybatis/*Mapper.xml mybatis-plus.configuration.map-underscore-to-camel-casetrue mybatis-plus.configuration.default-statement-timeout20000 mybatis-plus.configuration.log-implorg.apache.ibatis.logging.stdout.StdOutImpl注意上面配置中的mybatis-plus.configuration.log-impl和mybatis-plus.mapper-locations。前者用于日志打印在发布应用时需要注释掉后者用来指定Mapper.xml文件存放的classpath地址。 SpringbootApplication启动类 配置MapperScan注解比如MapperScan(com.korgs.dao)表示要查找的mybatis bean类。 Slf4j SpringBootApplication(scanBasePackages {com.korgs, cn.hutool.extra.spring}) Configuration EnableConfigurationProperties ServletComponentScan RestController MapperScan(com.korgs.dao) public class SpringbootMybatisplusApplication {public static void main(String[] args) {SpringApplication.run(SpringbootMybatisplusApplication.class, args);}GetMapping(/helloworld)public BaseResponse helloWorld(){log.info(LogGenerator.trackLog() msg I am busy to handle this request.);return BaseResponse.success(hello world);} }程序实现 定义ISystemLogDao接口 定义供上层类调用的数据库操作接口 接口定义 public interface ISystemLogDao extends IServiceSystemLogEntity {ListSystemLogEntity listByCondition(SystemLogQuery query);IPageSystemLogEntity pageSystemLog(IPageSystemLogEntity iPage, String bizId, String code); }接口实现 Repository Primary public class SystemLogDaoImpl extends ServiceImplSystemLogMapper, SystemLogEntity implements ISystemLogDao {Overridepublic ListSystemLogEntity listByCondition(SystemLogQuery query) {LambdaQueryWrapperSystemLogEntity queryWrapper Wrappers.lambdaQuery();if(StrUtil.isNotEmpty(query.getCode())){queryWrapper.eq(SystemLogEntity::getCode, query.getCode());}if(StrUtil.isNotEmpty(query.getBizId())){queryWrapper.eq(SystemLogEntity::getBizId, query.getBizId());}return list(queryWrapper);}Overridepublic IPageSystemLogEntity pageSystemLog(IPageSystemLogEntity iPage, String bizId, String code) {return this.getBaseMapper().pageSystemLog(iPage, bizId, code);}}接口参数 Data public class SystemLogQuery {private String bizId;private String code; }定义Mapper实现 一个Mapper实现类对应一个Mapper.xml即使Mapper.xml为空实现也需要配置。 Mapper接口定义 public interface SystemLogMapper extends BaseMapperSystemLogEntity {IPageSystemLogEntity pageSystemLog(IPageSystemLogEntity iPage,Param(bizId) String bizId,Param(code) String code); }Mapper接口对应的Mapper.xml实现 ?xml version1.0 encodingUTF-8 ? !DOCTYPE mapper PUBLIC -//mybatis.org//DTD Mapper 3.0//EN http://mybatis.org/dtd/mybatis-3-mapper.dtd mapper namespacecom.korgs.dao.SystemLogMapperselect idpageSystemLog resultTypecom.korgs.dao.SystemLogEntityselectt_sys_record_demo.*fromt_sys_record_demowhere 11if testbizId ! nulland t_sys_record_demo.biz_id #{bizId}/ifif testcode ! nulland upper(t_sys_record_demo.code) LIKE upper(CONCAT(%,#{code},%))/if/select /mapper上述配置文件中 mapper标签配置为SystemLogMapper.java类的全路径select标签中的id属性配置为SystemLogMapper.java类中定义的接口名称 select标签中的resultType属性定义为sql语句要返回的实体对象的全路径此值也与SystemLogMapper.java中相应的接口返回参数相对应。 编写Controller Restful Slf4j RestController RequestMapping(/api/load) public class SystemLogController {Autowiredprivate ISystemLogDao iSystemLogDao;GetMapping(/v1/hello-content)public ListResponseSystemLogEntity loadHelloContent(String uuid){log.info({} uuid {}, LogGenerator.trackLog(), uuid);ListSystemLogEntity list iSystemLogDao.list();log.info({} uuid{} size{}, LogGenerator.trackLog(), uuid, CollUtil.size(list));return ListResponse.success(list);} }使用SpringbootTest测试 测试Dao接口 SpringBootTest public class SystemLogDaoTest {private static final Logger logger LoggerFactory.getLogger(SystemLogDaoTest.class);Autowiredprivate ISystemLogDao iSystemLogDao;/*注意此处要引用 import org.junit.jupiter.api.Test;*//*全表搜索*/Testpublic void iSystemLogDao() {ListSystemLogEntity list iSystemLogDao.list();logger.info(JSONUtil.toJsonStr(list));}/*增加操作*/Testpublic void iSystemLogDaoInsert() {SystemLogEntity systemLogEntity new SystemLogEntity();systemLogEntity.setUuid(UUIDUtil.uuid32());iSystemLogDao.save(systemLogEntity);}/*删除操作*/Testpublic void iSystemLogDaoDelete() {iSystemLogDao.removeById(3006316502a24b6b8b5eac4d1a8f6e5a);}/*更新操作*/Testpublic void iSystemLogDaoUpdate() {SystemLogEntity systemLogEntity new SystemLogEntity();systemLogEntity.setUuid(a4dd3bcf2a134941a4a1fb9119028600);systemLogEntity.setCode(heart);iSystemLogDao.updateById(systemLogEntity);}/*分页查询*/Testpublic void iSystemLogDaoPage() {IPageSystemLogEntity iPage new PageSystemLogEntity(1, 3);iPage iSystemLogDao.pageSystemLog(iPage, 001, lung);ListSystemLogEntity logEntityIPage iPage.getRecords();logger.info(JSONUtil.toJsonStr(logEntityIPage));}}测试Controller服务 SpringBootTest AutoConfigureMockMvc public class SystemLogControllerTest {Autowiredprotected MockMvc mockMvc;private HttpHeaders httpHeaders new HttpHeaders();private static final ObjectMapper mapper new ObjectMapper();// Beforepublic void setBasicAuth() throws Exception {// 设置basicAuthString basicAuthString Basic Base64.getEncoder().encodeToString(aaa:bbb.getBytes());httpHeaders.set(Authorization, basicAuthString);}Testpublic void testController() throws Exception {MvcResult mvcResult mockMvc.perform(get(/api/load//v1/hello-content).contentType(MediaType.APPLICATION_JSON_VALUE)// 设定basicAuth到请求header中.headers(httpHeaders).param(uuid, 12312312))// 打印详细的请求以及返回内容.andDo(print())// 判断HttpStatus是200如果不是表示失败.andExpect(status().isOk())// 返回结果给mvcResult.andReturn();// 获取mvcResult的bodyString resutlStr mvcResult.getResponse().getContentAsString(Charset.defaultCharset());ListResponse response mapper.readValue(resutlStr, ListResponse.class);// 判断结果是否成功assertEquals(0, response.getStatus().toString());}}源码下载 涉及模块 springboot-mybatisplus:18086 源码下载 着手开发属于自己的第一个Intellij-platform plugin插件程序三配套源码Springboot集成Mybatispuls操作mysql数据库 源码运行方法 SpringCloud专题模块项目功能说明和运行方法
http://www.zqtcl.cn/news/393753/

相关文章:

  • 聊城做网站的公司渠道网站总体结构
  • 北京比较大的网站建设公司wap网站引导页特效
  • 做关于植物的网站即墨网站设计
  • 怎么提升网站收录商品网页制作
  • 做网站建设的平台wordpress5.0发布
  • 站长工具a级查网站域名
  • 免费做网站电话手机开发者模式打开有什么影响
  • 上海免费网站建站模板毕节做网站优化
  • 影响网站建设的关键点手机网站制作app
  • 商务网站建设的流程深圳模板网站建设案例
  • 做中英文网站多少钱方维制网站
  • 做一个信息发布网站要多少钱开发小程序多少钱一个
  • 山东网站设计网站关键词设置技巧
  • 做网站服务怎么赚钱产品展示型的网站功能有哪些
  • 丹东网站制作宁波网站建设公司制作网站
  • 南宁建设工程质量网站九江网站建设九江
  • 永州市住房和城乡建设厅网站服务器可以做几个网站
  • 哪里学网站建设与管理做移动端电影网站
  • 境外企业网站推广大冶市建设局网站
  • 户网站建设的不全.阿里巴巴国际站
  • 定制手机壳的网站能在家做的兼职的网站
  • 温州营销型网站建设郴州网络推广公司
  • asp.net 做网站源代码网站怎么做配置文件夹
  • 网站建设云尚网络wordpress首页flash
  • 北京优化网站宁波网络营销策划公司
  • 网站建设项目前分析电商运营一般要学多久
  • 哪个网站可以做卖房网站菜单模板
  • 网站推广渠道特点郑州百度推广外包
  • 合肥高端网站建设设计公司wordpress 多语言主题
  • 北京工程工程建设交易信息网站wordpress 角色 功能