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

公司网站建设征求意见表软文网站

公司网站建设征求意见表,软文网站,佛山做外贸网站渠道,如何让一个网站排名掉案例实现方案分析 实体类开发————使用Lombok快速制作实体类 Dao开发————整合MyBatisPlus,制作数据层测试类 Service开发————基于MyBatisPlus进行增量开发,制作业务层测试类 Controller开发————基于Restful开发,使用PostM…

案例实现方案分析

实体类开发————使用Lombok快速制作实体类

Dao开发————整合MyBatisPlus,制作数据层测试类

Service开发————基于MyBatisPlus进行增量开发,制作业务层测试类

Controller开发————基于Restful开发,使用PostMan测试接口功能

Controller开发————前后端开发协议制作

页面开发————基于VUE+ElementUI制作,前后端联调,页面数据处理,页面消息处理

列表、新增、修改、删除、分页、查询

项目异常处理

按条件查询————页面功能调整、Controller修正功能、Service修正功能

1.模块创建

  1. 勾选SpringMVC与MySQL坐标

  1. 修改配置文件为yml格式

  1. 设置端口为80方便访问

2.实体类开发

Lombok,一个Java类库,提供了一组注解,简化POJO实体类开发

<dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId>
</dependency

lombok版本由SpringBoot提供,无需指定版本

常用注解:@Data

@Data
public class Book {
private Integer id;
private String type;
private String name;
private String description;
}

为当前实体类在编译期设置对应的get/set方法,toString方法,hashCode方法,equals方法等

3.数据层面开发

使用技术:MyBatis-plus+Druid

1.导入相对应的MyBatisPlus与Druid对应的starter

<!--mybatis-plus-->
<dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.4.3</version>
</dependency>
<!--druid连接池-->
<dependency><groupId>com.alibaba</groupId><artifactId>druid-spring-boot-starter</artifactId><version>1.2.16</version>
</dependency>

2.配置数据源与MyBatisPlus对应的基础配置(id生成策略使用数据库自增策略)

#配置端口号
server:port: 80
#配置数据源druid
spring:datasource:druid:driver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://localhost:3306/ssm_db?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=trueusername: rootpassword: 123456
#mp的配置
mybatis-plus:global-config:db-config:table-prefix: tbl_#数据库id的自增策略id-type: auto#配置日志configuration:log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

继承BaseMapper并指定泛型

@Mapper
public interface BookDao extends BaseMapper<Book> {
​
}

制作测试

@SpringBootTest
public class BookTest {@Autowiredprivate BookDao bookDao;
​@Testpublic void testById(){Book byId = bookDao.selectById(2);System.out.println(byId);}
​@Testpublic void testSave(){Book book=new Book();book.setName("明朝那些事");book.setType("有关历史");book.setDescription("nib");bookDao.insert(book);
​}
​@Testpublic void testDelete(){bookDao.deleteById(15);}
​@Testpublic void testUpdata(){Book book=new Book();book.setId(16);book.setName("明朝那些事");book.setType("有关历史");book.setDescription("nibglss");bookDao.updateById(book);}
​@Testpublic void testGetAll(){System.out.println( bookDao.selectList(null));}
​@Testpublic void testGetPage(){//需要拦截器追加sql分页的sql语句/** 参数1:当前是第几页* 参数2:每页显示的数据条数* */IPage page=new Page(2,5);bookDao.selectPage(page,null);System.out.println(page.getCurrent());System.out.println(page.getPages());System.out.println(page.getSize());System.out.println(page.getRecords());System.out.println(page.getTotal());}//按条件查询@Testpublic void testGetByCondition1(){
​QueryWrapper<Book> queryWrapper=new QueryWrapper<Book>();queryWrapper.like("name","spring");//select*from tbl_book where name like%spring%System.out.println( bookDao.selectList(queryWrapper));
​}
//使用QueryWrapper对象封装查询条件,推荐使用LambdaQueryWrapper对象,所有查询操作封装成方法调用,支持动态拼写查询条件@Testpublic void testGetByCondition2(){String name="Spring";LambdaQueryWrapper<Book> queryWrapper=new LambdaQueryWrapper<Book>();//select*from tbl_book where name like%spring%queryWrapper.like(name!=null,Book::getName,name);//select*from tbl_book where name like%spring%System.out.println( bookDao.selectList(queryWrapper));
​}
​
​
}

分页操作是在MyBatisPlus的常规操作基础上增强得到,内部是动态的拼写SQL语句,因此需要增强对应的功能,使用MyBatisPlus拦截器实现

@Configuration//用于指定该类是spring配置类,创建容器时会从该类加载注解
public class MPConfig {@Bean//标注该方法的返回值会存储到Spring容器中public MybatisPlusInterceptor mybatisPlusInterceptor(){//拦截器的外壳MybatisPlusInterceptor mybatisPlusInterceptor=new MybatisPlusInterceptor();
//        用什么拦截器,加载什么拦截器mybatisPlusInterceptor.addInnerInterceptor(new PaginationInnerInterceptor());return mybatisPlusInterceptor;}
}

4.业务开发层

定义接口

public interface BookService {boolean save(Book book);boolean delete(Integer id);boolean update(Book book);Book getById(Integer id);List<Book> getAll();IPage<Book> getByPage(int currentPage,int pageSize);
}

实现层定义

@Service
public class BookServiceImpl implements BookService {@Autowiredprivate BookDao bookDao;public Boolean save(Book book) {return bookDao.insert(book) > 0;}public Boolean delete(Integer id) {return bookDao.deleteById(id) > 0;}public Boolean update(Book book) {return bookDao.updateById(book) > 0;}
}

测试类定义

@SpringBootTest
public class BookServiceTest {@Autowiredprivate BookService bookService;@Testvoid testGetById(){bookService.getById(9);}@Testvoid testGetAll(){bookService.getAll();}@Testvoid testGetByPage(){bookService.getByPage(1,5);}
​
}

5.业务层———快速开发

使用MyBatisPlus提供有业务层通用接口(ISerivce<T>)与业务层通用实现(ServiceImpl<M,T>)在通用类基础上做功能重载或功能追加 注意重载时不要覆盖原始操作,避免原始提供的功能丢失

@Service
public class IBookServiceImpl extends ServiceImpl<BookDao,Book> implements IBookService {
​
}

测试

@SpringBootTest
public class BookServiceTest2 {@Autowiredprivate IBookServiceImpl bookService;@Testpublic void getById(){System.out.println( bookService.getById(1));}@Testpublic void selectAll(){System.out.println(bookService.list());}@Testpublic void delete(){bookService.removeById(16);}@Testpublic void testSave(){Book book=new Book();book.setName("大名王朝");book.setType("有关历史");book.setDescription("nib");bookService.save(book);
​}@Testpublic void testUpdata(){Book book=new Book();book.setId(14);book.setName("明朝那些事");book.setType("有关历史");book.setDescription("nibglss");bookService.updateById(book);}@Testpublic void testGetByPage(){IPage<Book> page = new Page<Book>(1,5);IPage<Book> byPage = bookService.page(page);List<Book> records = byPage.getRecords();System.out.println(records);}}

总结:

  1. 使用通用接口(ISerivce<T>)快速开发Service

  1. 使用通用实现类(ServiceImpl<M,T>)快速开发ServiceImpl

  1. 可以在通用接口基础上做功能重载或功能追加

  1. 注意重载时不要覆盖原始操作,避免原始提供的功能丢失

http://www.tj-hxxt.cn/news/24186.html

相关文章:

  • 郑州网站推广平台seol英文啥意思
  • 做彩票网站多少钱成都网络优化托管公司
  • 免费做网站支持绑定网页设计效果图及代码
  • 高端网站建设推广项目的平台
  • 怎么修改网站默认首页浏览器里面信息是真是假
  • 网站优化是怎么做的运用搜索引擎营销的案例
  • 在小说网站做责编郑州关键词优化顾问
  • 公司网站建设gghhhjseo关键词大搜
  • 青海做网站多少钱百度霸屏推广一般多少钱
  • 为什么平面设计最后都转行了关键词优化 搜索引擎
  • 美橙建站之星怎么样南宁优化网站收费
  • 动漫制作专业名人作品展示seo网站关键词优化报价
  • 绵阳网络公司网站建设写手接单平台
  • 北京瑞浩信息管理咨询有限公司北京seo推广
  • 公司网站用个人备案 2018it培训机构有哪些
  • 昆明网站建设是什么在线代理浏览网站
  • 百度统计网站概况软文推广营销
  • 团购网站建设怎么样实时热点新闻事件
  • 网站公司的客户怎么来扶贫832网络销售平台
  • 河北网站建设公司关键词查网站
  • 邢台做外贸网站torrentkitty磁力猫
  • 小程序平台下载厦门网站快速排名优化
  • jsp做网站前端实例搜狗seo怎么做
  • 广州市住房 建设局网站推广方法
  • 景区网站建设方案湖南网站推广公司
  • 网站怎样上传到空间朋友圈广告代理商官网
  • mac 网站开发码迷seo
  • 企业商务网站的技术杭州上城区抖音seo如何
  • 网站开发策划书google永久免费的服务器
  • 佛山网站建设专业网站收录工具