新建项目在服务器建立数据库,创建项目连接数据库

建立数据库

查询数据服务器IP地址ip address

通过数据库连接工具建立连接

9e76b998234f

创建新库

9e76b998234f

字符集、排序规则的选择

9e76b998234f

字符集选用utf8,目前足够了也可以选用utfmb4,它向下兼容utf8能表示更多字符同时也占用更大的空间

排序规则选用utf8_bin区分大小写,不同场景下排序规则会影响查询效率

9e76b998234f

发现没有权限

select * from mysql.user \G

查看权限

9e76b998234f

之前搭建数据服务器的时候明明设置权限了,估计强制重启服务器时出了问题,重新赋下权限

grant all privileges on *.* to mysqluser@'%' with grant option;

flush privileges;

9e76b998234f

新建成功,执行脚本创建相应的表

9e76b998234f

9e76b998234f

创建项目

傻瓜式next操作

9e76b998234f

image.png

9e76b998234f

image.png

9e76b998234f

注意SpringBoot版本,后期可改

9e76b998234f

9e76b998234f

项目结构,启动入口

修改配置文件application.yml为yml类型

SpringBoot自带容器可以直接运行

9e76b998234f

连接数据库

pom添加相关依赖

mysql

mysql-connector-java

org.springframework.boot

spring-boot-starter-data-jpa

yml配置文件内配置数据库信息

spring:

datasource:

url: jdbc:mysql://10.2.27.112/sell?characterEncoding=utf-8&useSSL=false&serverTimezone=GMT%2B8

username: mysqluser

password: MySQL_user123

创建与表结构对应的实体类PO

PO:persistent object 持久对象

POJO :plain ordinary java object 无规则简单java对象

BO:business object 业务对象

VO:value object 值对象 / view object 表现层对象

DTO(TO):Data Transfer Object 数据传输对象

DAO:data access object数据访问对象

@Entity//jpa注解,对应表关系

@Data//lombok自动生成get、set

@DynamicUpdate//更新插入时间

@DynamicInsert

public class ProductInfo {

@Id

private String productId;

private String productName;

private BigDecimal productPrice;

private Integer productStock;

private String productDescription;

private String productIcon;

private Integer productStatus;

private Integer categoryType;

private Date createTime;

private Date updateTime;

}

JPA

public interface ProductInfoRepository extends JpaRepository {}

创建测试类,测试数据库操作

9e76b998234f

@RunWith(SpringRunner.class)

@SpringBootTest

public class ProductInfoRepositoryTest {

@Autowired

private ProductInfoRepository repository;

@Test

public void insert() {

ProductInfo productInfo = new ProductInfo();

productInfo.setProductId("2");

productInfo.setProductName("商品2");

productInfo.setProductPrice(new BigDecimal(2));

productInfo.setProductStock(2);

productInfo.setCategoryType(2);

Assert.assertNotNull(repository.save(productInfo));

}

@Test

public void select() {

Assert.assertNotNull(repository.findById("1"));

}

@Test

public void update() {

ProductInfo productInfo=repository.findById("1").get();

productInfo.setProductName("商品11");

productInfo.setProductPrice(new BigDecimal(11));

productInfo.setProductStock(11);

productInfo.setCategoryType(11);

Assert.assertNotNull(repository.save(productInfo));

}

@Test

public void delete() {

ProductInfo productInfo=repository.findById("1").get();

repository.delete(productInfo);

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值