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

如何在外管局网站上做延期网站开发验收流程

如何在外管局网站上做延期,网站开发验收流程,如何制作网页表格,wordpress 腾讯视频文章目录 1.整合MyBatis1.需求分析2.数据库表设计3.数据库环境配置1.新建maven项目2.pom.xml 引入依赖3.application.yml 配置数据源4.Application.java 编写启动类5.测试6.配置类切换druid数据源7.测试数据源是否成功切换 4.Mybatis基础配置1.编写映射表的bean2.MonsterMapper… 文章目录 1.整合MyBatis1.需求分析2.数据库表设计3.数据库环境配置1.新建maven项目2.pom.xml 引入依赖3.application.yml 配置数据源4.Application.java 编写启动类5.测试6.配置类切换druid数据源7.测试数据源是否成功切换 4.Mybatis基础配置1.编写映射表的bean2.MonsterMapper.java 编写mapper接口3.MonsterMapper.xml 编写mapper.xml实现mapper接口4.application.yml 扫描mapper.xml配置文件的位置5.测试 5.MyBatis高级配置1.方式一在application.yml中配置mybatis.config-location指定mybatis-config.xml配置文件的位置2.方式二直接在application.yml中配置 6.继续编写Service层和Controller层1.MonsterService.java2.MonsterServiceImpl.java3.测试4.MonsterController.java5.测试6.解决时间问题 7.完整文件目录 2.整合MyBatis-Plus1.MyBatis-Plus基本介绍2.数据库表设计3.数据库环境配置1.创建maven项目2.pom.xml 导入依赖3.application.yml 配置数据源4.DruidDataSourceConfig.java 配置类切换druid数据源5.编写启动类Application.java测试运行 4.MyBatis-Plus基础配置1.编写映射表的bean2.MonsterMapper.java 编写Mapper接口3.测试接口方法使用 5.MyBatis-Plus高级配置application.yml 进行配置 6.继续编写Service层和Controller层1.MonsterService.java2.MonsterServiceImpl.java3.测试4.细节说明5.MonsterController.java 7.细节说明1.MapperScan 扫描包下的所有Mapper启动类配置注解 2.TableName bean的类名与表名不一致时使用image-202403172009519713.MyBatis引入了哪些依赖 8.MyBatisX快速开发1.安装插件2.使用方式1.挑一个带小鸟的方法2.直接alt Enter3.生成sql语句4.查看生成的方法5.点击左边的小鸟就可以直接跳转到指定方法或者xml 9.完整文件目录10.MyBatis-Plus小结 1.整合MyBatis 1.需求分析 2.数据库表设计 CREATE DATABASE springboot_mybatis;use springboot_mybatis;CREATE TABLE monster (id INT NOT NULL AUTO_INCREMENT,age INT NOT NULL, birthday DATE DEFAULT NULL, email VARCHAR(255) DEFAULT NULL,gender char(1) DEFAULT NULL,name VARCHAR(255) DEFAULT NULL, salary DOUBLE NOT NULL,PRIMARY KEY (id) );SELECT * FROM monster;insert into monster values(null, 20, 2000-11-11, nmwsohu.com, 男, 牛魔王, 5000.88); insert into monster values(null, 10, 2011-11-11, bgjsohu.com, 女, 白骨精, 2000.00);3.数据库环境配置 1.新建maven项目 2.pom.xml 引入依赖 !--导入springboot父工程--parentartifactIdspring-boot-starter-parent/artifactIdgroupIdorg.springframework.boot/groupIdversion2.5.3/version/parent!--引入相关依赖--dependencies!--常规依赖--!--web场景启动器--dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependency!--lombok--dependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactIdoptionaltrue/optional/dependency!--引入测试场景启动器--dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-test/artifactIdscopetest/scope/dependency!--配置处理器--dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-configuration-processor/artifactIdoptionaltrue/optional/dependency!--数据库配置--!--引入data-jdbc数据源--dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-data-jdbc/artifactId/dependency!--mysql依赖使用版本仲裁--dependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactIdscoperuntime/scope/dependency!-- 引入 druid 依赖 --dependencygroupIdcom.alibaba/groupIdartifactIddruid/artifactIdversion1.1.17/version/dependency!--MyBatis场景启动器--dependencygroupIdorg.mybatis.spring.boot/groupIdartifactIdmybatis-spring-boot-starter/artifactIdversion2.2.2/version/dependency/dependencies3.application.yml 配置数据源 数据库名用户名密码驱动是mysql8的因为上面使用了版本仲裁 server:port: 8080 spring:datasource: #配置数据源url: jdbc:mysql://localhost:3306/springboot_mybatis?useSSLfalseuseUnicodetruecharacterEncodingUTF-8username: rootpassword: rootdriver-class-name: com.mysql.cj.jdbc.Driver4.Application.java 编写启动类 package com.sun.springboot.mybatis;import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication;/*** author 孙显圣* version 1.0*/ SpringBootApplication public class Application {public static void main(String[] args) {SpringApplication.run(Application.class, args);} } 5.测试 package com.sun.springboot.mybatis;import org.junit.jupiter.api.Test; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.jdbc.core.JdbcTemplate;import javax.annotation.Resource;/*** author 孙显圣* version 1.0*/ SpringBootTest public class ApplicationTest {//依赖注入Resourceprivate JdbcTemplate jdbcTemplate;Testpublic void t1() {//查看目前数据源System.out.println(jdbcTemplate.getDataSource().getClass());} } 6.配置类切换druid数据源 package com.sun.springboot.mybatis.config;import com.alibaba.druid.pool.DruidDataSource; import com.alibaba.druid.support.http.StatViewServlet; import com.alibaba.druid.support.http.WebStatFilter; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.boot.web.servlet.FilterRegistrationBean; import org.springframework.boot.web.servlet.ServletRegistrationBean; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration;import javax.sql.DataSource; import java.sql.SQLException; import java.util.Arrays;/*** author 孙显圣* version 1.0*/ Configuration public class DruidDataSourceConfig {//注入一个德鲁伊数据源ConfigurationProperties(spring.datasource) //读取yaml配置文件的参数获取数据源配置Beanpublic DataSource dataSource() throws SQLException {DruidDataSource druidDataSource new DruidDataSource();druidDataSource.setFilters(stat, wall); //开启sql监控return druidDataSource;}//配置德鲁伊监控sql功能Beanpublic ServletRegistrationBean statViewServlet() {StatViewServlet statViewServlet new StatViewServlet();ServletRegistrationBeanStatViewServlet registrationBean new ServletRegistrationBean(statViewServlet, /druid/*);//配置登录监控页面用户名和密码registrationBean.addInitParameter(loginUsername, root);registrationBean.addInitParameter(loginPassword, root);return registrationBean;}//配置webStatFilterBeanpublic FilterRegistrationBean webStatFilter() {WebStatFilter webStatFilter new WebStatFilter();FilterRegistrationBeanWebStatFilter filterRegistrationBean new FilterRegistrationBean(webStatFilter);//默认对所有 URL 请求监控filterRegistrationBean.setUrlPatterns(Arrays.asList(/*));//排除 URLfilterRegistrationBean.addInitParameter(exclusions, *.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*);return filterRegistrationBean;} }7.测试数据源是否成功切换 package com.sun.springboot.mybatis;import org.junit.jupiter.api.Test; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.jdbc.core.JdbcTemplate;import javax.annotation.Resource;/*** author 孙显圣* version 1.0*/ SpringBootTest public class ApplicationTest {//依赖注入Resourceprivate JdbcTemplate jdbcTemplate;Testpublic void t1() {//查看目前数据源System.out.println(jdbcTemplate.getDataSource().getClass());} }4.Mybatis基础配置 1.编写映射表的bean package com.sun.springboot.mybatis.bean;import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data;import java.util.Date;/*** author 孙显圣* version 1.0*/ Data public class Monster {private Integer id;private Integer age;JsonFormat(patternyyyy-MM-dd HH:mm:ss,timezoneGMT8)private Date birthday;private String email;private String name;private String gender;private Double salary; } 2.MonsterMapper.java 编写mapper接口 使用注解注入容器 package com.sun.springboot.mybatis.mapper;import com.sun.springboot.mybatis.bean.Monster; import org.apache.ibatis.annotations.Mapper;/*** author 孙显圣* version 1.0*/ Mapper //将接口注入容器 public interface MonsterMapper {public Monster getMonsterById(Integer id); } 3.MonsterMapper.xml 编写mapper.xml实现mapper接口 使用namespace指定要实现的接口 ?xml version1.0 encodingUTF-8 ? !DOCTYPE mapperPUBLIC -//mybatis.org//DTD Mapper 3.0//ENhttps://mybatis.org/dtd/mybatis-3-mapper.dtd !--指定要实现的接口-- mapper namespacecom.sun.springboot.mybatis.mapper.MonsterMapperselect idgetMonsterById resultTypecom.sun.springboot.mybatis.bean.Monster parameterTypeIntegerselect * from monster where id #{id}/select /mapper4.application.yml 扫描mapper.xml配置文件的位置 扫描类路径下mapper文件夹下的所有文件 mybatis:#指定要扫描的mapper.xmlmapper-locations: classpath:mapper/*.xml5.测试 package com.sun.springboot.mybatis;import com.sun.springboot.mybatis.bean.Monster; import com.sun.springboot.mybatis.mapper.MonsterMapper; import org.junit.jupiter.api.Test; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.jdbc.core.JdbcTemplate;import javax.annotation.Resource;/*** author 孙显圣* version 1.0*/ SpringBootTest public class ApplicationTest {//依赖注入Resourceprivate JdbcTemplate jdbcTemplate;//注意这里注入的是MonsterMapper的代理对象Resourceprivate MonsterMapper monsterMapper;Testpublic void t1() {//查看目前数据源System.out.println(jdbcTemplate.getDataSource().getClass());}Testpublic void t2() {//测试mybatisMonster monsterById monsterMapper.getMonsterById(1);System.out.println(monsterById);} } 5.MyBatis高级配置 1.方式一在application.yml中配置mybatis.config-location指定mybatis-config.xml配置文件的位置 2.方式二直接在application.yml中配置 mybatis:#指定要扫描的mapper.xmlmapper-locations: classpath:mapper/*.xml#配置类型别名包这样只要在这个包下的类型都可以简写type-aliases-package: com/sun/springboot/mybatis/bean#输出日志configuration:log-impl: org.apache.ibatis.logging.stdout.StdOutImpl6.继续编写Service层和Controller层 1.MonsterService.java package com.sun.springboot.mybatis.service;import com.sun.springboot.mybatis.bean.Monster;/*** author 孙显圣* version 1.0*/ public interface MonsterService {public Monster getMonsterById(Integer id); } 2.MonsterServiceImpl.java package com.sun.springboot.mybatis.service.Impl;import com.sun.springboot.mybatis.bean.Monster; import com.sun.springboot.mybatis.mapper.MonsterMapper; import com.sun.springboot.mybatis.service.MonsterService; import org.springframework.stereotype.Service;import javax.annotation.Resource;/*** author 孙显圣* version 1.0*/ Service public class MonsterServiceImpl implements MonsterService {Resourceprivate MonsterMapper monsterMapper; //返回代理对象Overridepublic Monster getMonsterById(Integer id) {return monsterMapper.getMonsterById(id);} }3.测试 package com.sun.springboot.mybatis;import com.sun.springboot.mybatis.bean.Monster; import com.sun.springboot.mybatis.mapper.MonsterMapper; import com.sun.springboot.mybatis.service.MonsterService; import org.junit.jupiter.api.Test; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.jdbc.core.JdbcTemplate;import javax.annotation.Resource;/*** author 孙显圣* version 1.0*/ SpringBootTest public class ApplicationTest {//依赖注入Resourceprivate MonsterService monsterService;Testpublic void getMonsterById() {Monster monsterById monsterService.getMonsterById(1);System.out.println(monsterById);} } 4.MonsterController.java package com.sun.springboot.mybatis.Controller;import com.sun.springboot.mybatis.bean.Monster; import com.sun.springboot.mybatis.service.MonsterService; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.ResponseBody;import javax.annotation.Resource;/*** author 孙显圣* version 1.0*/ Controller public class MonsterController {Resourceprivate MonsterService monsterService;GetMapping(/getMonster/{id}) //路径参数的请求ResponseBody //响应一个jsonpublic Monster getMonsterById(PathVariable(id) Integer id) {Monster monsterById monsterService.getMonsterById(id);return monsterById;} } 5.测试 6.解决时间问题 7.完整文件目录 2.整合MyBatis-Plus 1.MyBatis-Plus基本介绍 2.数据库表设计 CREATE DATABASE springboot_mybatisplus;USE springboot_mybatisplus;CREATE TABLE monster ( id INT NOT NULL AUTO_INCREMENT, age INT NOT NULL, birthday DATE DEFAULT NULL, email VARCHAR(255) DEFAULT NULL, gender CHAR(1) DEFAULT NULL, name VARCHAR(255) DEFAULT NULL, salary DOUBLE NOT NULL, PRIMARY KEY (id) ); SELECT * FROM monster; INSERT INTO monster VALUES(NULL, 20, 2000-11-11, xzjsohu.com, 男, 蝎 子 精 , 15000.88); INSERT INTO monster VALUES(NULL, 10, 2011-11-11, ytjsohu.com, 女, 玉 兔 精 , 18000.88);3.数据库环境配置 1.创建maven项目 2.pom.xml 导入依赖 !--导入springboot父工程--parentartifactIdspring-boot-starter-parent/artifactIdgroupIdorg.springframework.boot/groupIdversion2.5.3/version/parent!--引入相关依赖--dependencies!--常规依赖--!--web场景启动器--dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependency!--lombok--dependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactIdoptionaltrue/optional/dependency!--引入测试场景启动器--dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-test/artifactIdscopetest/scope/dependency!--配置处理器--dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-configuration-processor/artifactIdoptionaltrue/optional/dependency!--数据库配置--!--mysql依赖使用版本仲裁--dependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactIdscoperuntime/scope/dependency!-- 引入 druid 依赖 --dependencygroupIdcom.alibaba/groupIdartifactIddruid/artifactIdversion1.1.17/version/dependency!--引入MyBatis-Plus场景启动器会自动引入jdbc和MyBatis--dependencygroupIdcom.baomidou/groupIdartifactIdmybatis-plus-boot-starter/artifactIdversion3.4.3/version/dependency/dependencies3.application.yml 配置数据源 数据库名称用户名密码 server:port: 8080 spring:datasource:driver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://localhost:3306/springboot_mybatisplus?useSSLfalseuseUnicodetruecharacterEncodingUTF-8username: rootpassword: root 4.DruidDataSourceConfig.java 配置类切换druid数据源 package com.sun.springboot.mybatisplus.config;import com.alibaba.druid.pool.DruidDataSource; import com.alibaba.druid.support.http.StatViewServlet; import com.alibaba.druid.support.http.WebStatFilter; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.boot.web.servlet.FilterRegistrationBean; import org.springframework.boot.web.servlet.ServletRegistrationBean; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration;import javax.sql.DataSource; import java.sql.SQLException; import java.util.Arrays;/*** author 孙显圣* version 1.0*/ Configuration public class DruidDataSourceConfig {//注入一个德鲁伊数据源ConfigurationProperties(spring.datasource) //读取yaml配置文件的参数获取数据源配置Beanpublic DataSource dataSource() throws SQLException {DruidDataSource druidDataSource new DruidDataSource();druidDataSource.setFilters(stat, wall); //开启sql监控return druidDataSource;}//配置德鲁伊监控sql功能Beanpublic ServletRegistrationBean statViewServlet() {StatViewServlet statViewServlet new StatViewServlet();ServletRegistrationBeanStatViewServlet registrationBean new ServletRegistrationBean(statViewServlet, /druid/*);//配置登录监控页面用户名和密码registrationBean.addInitParameter(loginUsername, root);registrationBean.addInitParameter(loginPassword, root);return registrationBean;}//配置webStatFilterBeanpublic FilterRegistrationBean webStatFilter() {WebStatFilter webStatFilter new WebStatFilter();FilterRegistrationBeanWebStatFilter filterRegistrationBean new FilterRegistrationBean(webStatFilter);//默认对所有 URL 请求监控filterRegistrationBean.setUrlPatterns(Arrays.asList(/*));//排除 URLfilterRegistrationBean.addInitParameter(exclusions, *.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*);return filterRegistrationBean;} }5.编写启动类Application.java测试运行 package com.sun.springboot.mybatisplus;import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication;/*** author 孙显圣* version 1.0*/ SpringBootApplication public class Application {public static void main(String[] args) {SpringApplication.run(Application.class, args);} } 4.MyBatis-Plus基础配置 1.编写映射表的bean package com.sun.springboot.mybatisplus.bean;import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data;import java.util.Date;/*** author 孙显圣* version 1.0*/ Data public class Monster {private Integer id;private Integer age;JsonFormat(pattern yyyy-MM-dd HH:mm:ss, timezone GMT8)private Date birthday;private String email;private String name;private String gender;private Double salary; }2.MonsterMapper.java 编写Mapper接口 package com.sun.springboot.mybatisplus.mapper;import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.sun.springboot.mybatisplus.bean.Monster; import org.apache.ibatis.annotations.Mapper;/*** author 孙显圣* version 1.0*/ //直接继承BaseMapper接口 Mapper //注入容器 public interface MonsterMapper extends BaseMapperMonster {//如果提供的方法不够用再自定义方法 } 3.测试接口方法使用 package com.sun.springboot.mybatisplus;import com.sun.springboot.mybatisplus.bean.Monster; import com.sun.springboot.mybatisplus.mapper.MonsterMapper; import org.junit.jupiter.api.Test; import org.springframework.boot.test.context.SpringBootTest;import javax.annotation.Resource;/*** author 孙显圣* version 1.0*/ SpringBootTest public class MonsterMapperTest {//注入针对Mapper接口的代理对象Resourceprivate MonsterMapper monsterMapper;Testpublic void t1() {Monster monster monsterMapper.selectById(1);System.out.println(monster);} } 5.MyBatis-Plus高级配置 application.yml 进行配置 #进行mybatis-plus配置 mybatis-plus:configuration:log-impl: org.apache.ibatis.logging.stdout.StdOutImpl6.继续编写Service层和Controller层 1.MonsterService.java package com.sun.springboot.mybatisplus.service.Impl;import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.sun.springboot.mybatisplus.bean.Monster; import com.sun.springboot.mybatisplus.mapper.MonsterMapper; import com.sun.springboot.mybatisplus.service.MonsterService; import org.springframework.stereotype.Service;/*** 这里* author 孙显圣* version 1.0*/ Service public class MonsterServiceImpl extends ServiceImplMonsterMapper, Monster implements MonsterService {//自定义方法实现 } 2.MonsterServiceImpl.java package com.sun.springboot.mybatisplus.service.Impl;import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.sun.springboot.mybatisplus.bean.Monster; import com.sun.springboot.mybatisplus.mapper.MonsterMapper; import com.sun.springboot.mybatisplus.service.MonsterService; import org.springframework.stereotype.Service;/*** 这里* author 孙显圣* version 1.0*/ Service public class MonsterServiceImpl extends ServiceImplMonsterMapper, Monster implements MonsterService {//自定义方法实现 } 3.测试 package com.sun.springboot.mybatisplus;import com.sun.springboot.mybatisplus.bean.Monster; import com.sun.springboot.mybatisplus.mapper.MonsterMapper; import com.sun.springboot.mybatisplus.service.MonsterService; import org.junit.jupiter.api.Test; import org.springframework.boot.test.context.SpringBootTest;import javax.annotation.Resource;/*** author 孙显圣* version 1.0*/ SpringBootTest public class MonsterServiceTest {Resourceprivate MonsterService monsterService;Testpublic void t1() {Monster byId monsterService.getById(2);System.out.println(byId);} } 4.细节说明 简单来说就是MonsterServiceImpl只需要实现MonsterService接口的方法可以调用IService接口的方法,也可以调用MonsterService接口的方法 5.MonsterController.java package com.sun.springboot.mybatisplus.controller;import com.sun.springboot.mybatisplus.bean.Monster; import com.sun.springboot.mybatisplus.service.MonsterService; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.ResponseBody;import javax.annotation.Resource;/*** author 孙显圣* version 1.0*/ Controller public class MonsterController {Resource//注入的是MonsterServiceImpl的bean对象可以直接调用IService接口的方法private MonsterService monsterService;GetMapping(/getMonster/{id})ResponseBodypublic Monster getMonsterById(PathVariable(id) Integer id) {Monster byId monsterService.getById(id);return byId;} } 7.细节说明 1.MapperScan 扫描包下的所有Mapper 启动类配置注解 2.TableName bean的类名与表名不一致时使用 3.MyBatis引入了哪些依赖 8.MyBatisX快速开发 1.安装插件 2.使用方式 1.挑一个带小鸟的方法 2.直接alt Enter 3.生成sql语句 4.查看生成的方法 5.点击左边的小鸟就可以直接跳转到指定方法或者xml 9.完整文件目录 10.MyBatis-Plus小结
http://www.zqtcl.cn/news/98127/

相关文章:

  • 盐城网站建设咨询优秀vi设计
  • 网站里面内外链接如何做北京pk10网站建设
  • 网站布局策划的流程百度知道入口
  • 个人网站设计毕业设计论文上海百度seo优化
  • 展台设计网站都有哪些拓者设计吧手机版
  • 河南省级建设主管部门网站免费推广平台哪个好
  • wordpress禁止自动升级seo实战密码怎么样
  • 福永网站建设公司如何利用个人nas做网站
  • 北京网站seo外包wordpress心情
  • 租用服务器一般是谁帮助维护网站安全网站如何看是哪家公司做的
  • 戴尔网站建设的特点开创者wordpress素材
  • 网站假设公司排名不用囤货
  • 有关网站建设合同织梦珠宝网站模板
  • 月牙河做网站公司电商网站开发成本
  • iis7建立网站注册公司地址虚拟地址怎么申请
  • 响应式网站开发的想要去国外网站买东西怎么做
  • 网站建设开发有什么好处百度网盘0基础网站开发教程
  • 桂林整站优化青岛网站制作哪里有
  • 织梦cms手机网站源码天天想你视频免费观看西瓜
  • 怎么做网站弄网盟邯郸超速云_网站建设
  • 桂阳做网站的软件定制开发外包wordpress电子商务插件
  • 10有免费建网站那些公司做网站比较厉害
  • 网站关键词优化推广旅游类网站开发开题报告范文
  • 官方网站营销拟在建项目信息网官网
  • 沈阳做微信和网站的公司湛江网站建设公司哪家好
  • 网站 开发逻辑电话销售电销系统
  • 有哪些做兼职的设计网站有哪些工作可以用asp做哪些网站
  • 装修网站推广方案东莞网站建设0086
  • 知名营销网站开发高端网站建设如何收费
  • 佛山网站建设邓先生沈阳做网站找黑酷科技