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

正规制作网站公司哪家好国际军事最新消息今天

正规制作网站公司哪家好,国际军事最新消息今天,广告设计公司报价单,免费化工网站建设数据访问 eecg Boot项目使用MyBatis作为ORM框架访问数据库,同时项目中集成了MyBatisPlus作为ORM的补充。每个数据库的接口都继承自BaseMapper,并复用其方法,以实现数据库的增、删、改、查功能。下面新建一个产品表,并对其进行CRU…

数据访问

eecg Boot项目使用MyBatis作为ORM框架访问数据库,同时项目中集成了MyBatisPlus作为ORM的补充。每个数据库的接口都继承自BaseMapper,并复用其方法,以实现数据库的增、删、改、查功能。下面新建一个产品表,并对其进行CRUD的操作演示。

创建持久化实体类

创建一个产品表,并在项目中完成对该表的增、删、改、查。创建表的

SQL语句如下:

CREATE TABLE `cc_product` (

`id` int(11) NOT NULL AUTO_INCREMENT,

`name` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT

'产品名称',

`descp` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT

'产品描述',

`price` decimal(10,2) DEFAULT NULL COMMENT '产品价格',

`create_time` datetime DEFAULT NULL COMMENT '创建时间',

`create_by` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL

COMMENT

'创建人',

PRIMARY KEY (`id`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

创建该表对应的实体类Product,代码如下:

package org.jeecg.modules.system.entity;

import com.baomidou.mybatisplus.annotation.IdType;import com.baomidou.mybatisplus.annotation.TableId;

import com.baomidou.mybatisplus.annotation.TableName;

import lombok.Builder;

import lombok.Data;

import java.io.Serializable;

import java.util.Date;

/**

* 产品的实体类

*/

@Builder

@Data

@TableName("cc_product")

public class Product implements Serializable {

private static final long serialVersionUID = 1L;

/**

* id

*/

@TableId(type = IdType.AUTO)

private Long id;

/**

* 名称

*/

private String name;

/**

* 描述

*/

private String descp;

/**

* 价格

*/

private Double price;

/**

* 创建时间

*/

private Date createTime;

/**

* 创建人

*/ private String createBy;

}

在实体类中标记@Data注解,不需要再手动生成get和set方法。

初始化数据库

执行以下SQL语句来初始化表的数据,插入后表的数据如图8.2所示。

INSERT INTO `jeecg-boot`.`cc_product` ( `name`, `descp`, `price`,

`create_

time`, `create_by` )

VALUES

( '大西瓜0', '超级甜的大西瓜', 0.20, '2021-07-15 21:08:25', 'cc' );

INSERT INTO `jeecg-boot`.`cc_product` ( `name`, `descp`, `price`,

`create_

time`, `create_by` )

VALUES

( '大西瓜1', '超级甜的大西瓜', 0.20, '2021-07-15 21:08:25', 'cc' );

INSERT INTO `jeecg-boot`.`cc_product` ( `name`, `descp`, `price`,

`create_

time`, `create_by` )

VALUES

( '大西瓜2', '超级甜的大西瓜', 0.20, '2021-07-15 21:08:25', 'cc' );

定义Repository接口实现Repository持久层

创建cc_product表对应的数据库接口和xml文件,代码如下:

package org.jeecg.modules.system.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;

import org.jeecg.modules.system.entity.Product;

/**

* 产品的实体接口类

*/

public interface ProductMapper extends BaseMapper<Product> {

}

创建一个空的xml文件,代码如下:

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://

mybatis.org/dtd/mybatis-3-mapper.dtd">

<mapper namespace="org.jeecg.modules.system.mapper.ProductMapper">

</mapper>

新建一个Test测试类,以测试对数据库中的数据表进行增、删、改、查操作,代码如下:

package org.jeecg.modules.system.mapper;

import

com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;import lombok.extern.slf4j.Slf4j;

import org.checkerframework.checker.index.qual.SameLenBottom;

import org.jeecg.JeecgSystemApplication;

import org.jeecg.modules.system.entity.Product;

import org.junit.Test;

import org.junit.runner.RunWith;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.boot.test.context.SpringBootTest;

import org.springframework.test.context.junit4.SpringRunner;

import java.util.Date;

import java.util.List;

/**

* cc_product表的测试类

*/

@Slf4j

@RunWith(SpringRunner.class)

@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_

PORT, classes = JeecgSystemApplication.class)

public class ProductMapperTest {

@Autowired

private ProductMapper productMapper;

/**

* 测试插入方法

*/

@Test

public void insert() {

for (int i = 0; i < 3; i++) {

Product product = Product.builder().name("大西瓜" +

i).descp("超级甜的大西瓜").price(0.2D)

.createBy("cc").createTime(new Date()).build();

int insert = productMapper.insert(product);

log.info("结果是:{}", insert);

}

}

/**

* 测试删除方法

*/ @Test

public void delete() {

int i = productMapper.deleteById(2L);

log.info("删除的id是:{}",i);

}

/**

* 测试查询一个产品

*/

@Test

public void queryOne() {

LambdaQueryWrapper<Product> wrapper = new LambdaQueryWrapper<>

();

wrapper.eq(Product::getName,"大西瓜1");

Product product = productMapper.selectOne(wrapper);

log.info("结果是:{}", product);

}

/**

* 测试查询多个产品

*/

@Test

public void queryList() {

LambdaQueryWrapper<Product> wrapper = new LambdaQueryWrapper<>

();

wrapper.eq(Product::getCreateBy,"cc");

List<Product> products = productMapper.selectList(wrapper);

log.info("结果是:{}", products);

}

}

执行queryOne()方法,得到的结果如图8.3所示,表明已经成功地从数据库中查询到一个产品并且成功打印。其他的测试方法读者可自行尝试。

http://www.dtcms.com/wzjs/70014.html

相关文章:

  • 网页的网站建设在哪里谷歌搜索引擎营销
  • 营销型网站建设亏1有了域名怎么建网站
  • 排版模板素材宁波seo网络推广咨询价格
  • 响应式网站什么意思dw网页制作教程
  • 昆明网站建设网站今天有什么新闻
  • 深圳 企业网站建设电子商务网站建设教程
  • 网站运营建站优化专家百度快照没有了用什么代替了
  • 如何用html做网站seo关键词的选择步骤
  • 网站模板建设南宁seo推广优化
  • 一起做网站下载数据包百度网盘pc网页版入口
  • 洛阳市做网站的seo的优点
  • 怎么做水果机网站关键词排名seo优化
  • 营销网站建站企业下载手机百度最新版
  • 南京市高淳县建设厅网站收录网站有哪些
  • 宁波网站建设相信荣胜网络营销渠道策略有哪些
  • 域名跟空间都有了怎么做网站企业站seo案例分析
  • 在哪一个网站上做劳务合同备案网站运营一个月多少钱
  • 企业做网站有用吗天涯中国今天最新军事新闻
  • 湘潭网站优化怎么做属于自己的网站
  • 建自己博客网站广东佛山疫情最新情况
  • 长宁网站建设苏州seo门户网
  • 响应式网站是什么营销网
  • 陕西专业网站开发公司恶意点击软件有哪些
  • 做网站需要的图片去哪找深圳大鹏新区葵涌街道
  • 免费域名网站的网络营销的营销方式
  • 怎么维护网站平台关键词排名优化
  • 网站设计流程及制作流程百度站长工具怎么用
  • 东莞建网站找哪里活动推广方案怎么写
  • 苏州学校网站建设同城推广平台
  • 疫情防控工作新闻发布会上海网站建设优化