创建项目连接数据库

建立数据库

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

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

创建项目连接数据库_第1张图片

创建新库

创建项目连接数据库_第2张图片

字符集、排序规则的选择

创建项目连接数据库_第3张图片

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

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

创建项目连接数据库_第4张图片

发现没有权限

select * from mysql.user \G

查看权限

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

grant all privileges on *.* to mysqluser@'%' with grant option;
flush privileges;
创建项目连接数据库_第5张图片

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

创建项目连接数据库_第6张图片

创建项目

傻瓜式next操作

创建项目连接数据库_第7张图片
image.png
创建项目连接数据库_第8张图片
image.png
创建项目连接数据库_第9张图片
注意SpringBoot版本,后期可改
创建项目连接数据库_第10张图片
创建项目连接数据库_第11张图片
项目结构,启动入口

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

SpringBoot自带容器可以直接运行

创建项目连接数据库_第12张图片

连接数据库

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 {}

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

创建项目连接数据库_第13张图片
@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);
    }
}

你可能感兴趣的:(创建项目连接数据库)