LYHの博客

柔水终成雕刀

0%

多设备同步更新

简介

在台式机上搭建了hexo博客后,想要笔记本电脑上进行文章的编写与上传,记录下操作步骤

旧电脑

1. 创建新分支

我们创建一个名为backup的分支

2. 将新分支设为默认分支

博客项目存储库设置-分支-修改默认分支即可

3. 将分支克隆到本地

这里注意,尽量不要和原博客文件夹在同一路径,如果像我一样库名称和本地问价夹名称相同会出问题(实在不懂什么意思就把原博客文件夹备份一下,出问题还能救)

4. 将.git文件夹复制到博客根目录

如果看不到.git文件夹就去 windows 此电脑-查看-隐藏的项目勾选上整个文件夹直接替换掉原博客文件夹下的.git文件夹即可

5. 将文件添加到暂存区

git add –A

6. 提交到本地仓库

git commit -m "backup"

7. 推送到backup分支

git push origin backup

新电脑

1. 将分支克隆到本地

git clone 仓库地址

2. 安装依赖

npm install

所有电脑每次更新

都要执行以下指令

(修改完成后直接点击下面代码块右上角Copy全部粘贴到 Git Bash 即可)

1
2
3
4
5
6
7
git pull
git add -A
git commit -m "backup"
git push origin backup
hexo cl
hexo g
hexo d

本次学习是基于Hibernate5.x进行的,并且使用的是Hibernate映射文件的方式,因为我确实没有找到比较的新的资源:dog:,啊这…就先做一个入门吧

概念

什么是Hibernate?

一个框架,一个Java领域的持久化框架,一个ORM框架

什么是持久化?

  • 狭义的理解:“持久化”仅仅指把对象永久的保存到数据库中

  • 广义的理解:“持久化”包括和数据库相关的各种操作

    • 保存:把对象永久的保存到数据库中
    • 更新:更新数据库中对象(记录)的状态
    • 删除:从数据库中删除一个对象
    • 查询:根据特定的查询条件,把符合条件的一个或多个对象从数据库加载到内存中
    • 加载:根据特定的**OID**,把一个对象从数据库加载到内存中
      • **OID**:为了在系统中找到所需对象,需要为每一个对象分配一个唯一的标识号,在数据库中称之为主键,在对象术语中,则叫做对象标识(Object-identifier-OID

什么是ORM

ORM(Object/Relation Mapping):对象/关系映射

  • ORM主要解决对象-关系的映射

    • 面向对象概念 面向关系概念
      对象 表的行(记录)
      属性 表的列(字段)
  • ORM的思想:将关系数据库中表的记录映射成对象,以对象的形式展现,我们可以把对数据库的操作转换为对对象的操作

  • ORM采用元数据来描述对象-关系映射细节,元数据通常采用XML格式,并且存放专门的对象-关系映射文件中

    • 元数据:描述数据的数据,例如描述类与表的关系的文件就成为元数据文件

Hibernate开发步骤

搭建hibernate环境

  1. 创建实体类

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    package com.sko.entity;

    /**
    * @author skorodovska
    * @create 2022-06-29-22:30
    */
    public class User {
    private Integer uid;
    private String username;
    private String password;
    private String address;

    public Integer getUid() {
    return uid;
    }

    public void setUid(Integer uid) {
    this.uid = uid;
    }

    public String getUsername() {
    return username;
    }

    public void setUsername(String username) {
    this.username = username;
    }

    public String getPassword() {
    return password;
    }

    public void setPassword(String password) {
    this.password = password;
    }

    public String getAddress() {
    return address;
    }

    public void setAddress(String address) {
    this.address = address;
    }
    }
  2. 配置实体类和数据库表一一对应关系(xxx.hbm.xml

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    <!DOCTYPE hibernate-mapping PUBLIC
    "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
    "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
    <hibernate-mapping>
    <!--类和表的映射-->
    <class name="com.sko.entity.User" table="t_user">
    <!--id标签
    name属性:实体类里面ID名称
    column属性:生成的表字段名称-->
    <id name="uid" column="uid">
    <!--id增长策略
    native:生成表ID值就是主键自增-->
    <generator class="native"/>
    </id>
    <!--属性映射-->
    <property name="username" column="username"/>
    <property name="password" column="password"/>
    <property name="address" column="address"/>
    </class>
    </hibernate-mapping>
  3. 创建Hibernate配置文件(hibernate.cfg.xml

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    <?xml version='1.0' encoding='utf-8'?>
    <!DOCTYPE hibernate-configuration PUBLIC
    "-//Hibernate/Hibernate Configuration DTD//EN"
    "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
    <hibernate-configuration>
    <session-factory>
    <!-- 第一部分:配置数据库信息(必须的) -->
    <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
    <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/mybase</property>
    <property name="hibernate.connection.username">root</property>
    <property name="hibernate.connection.password">123456</property>

    <!-- 第二部分:配置hibernate信息(可选的) -->
    <!-- 输出底层sql语句 -->
    <property name="hibernate.show_sql">true</property>
    <!-- 输出底层sql语句格式化 -->
    <property name="hibernate.format_sql">true</property>
    <!-- 自动创建表 需要配置之后
    update:有表更新,没有表创建-->
    <property name="hibernate.hbm2ddl.auto">update</property>
    <!-- hibernate的方言
    让hibernate框架识别不同数据库的语句-->
    <property name="dialect">org.hibernate.dialect.MySQLDialect</property>

    <!-- 第三部分:把映射文件放到核心配置文件中(必须的) -->
    <mapping resource="com/sko/entity/User.hbm.xml"/>
    </session-factory>
    </hibernate-configuration>

实现添加操作

  1. 加载hibernate核心配置文件
  2. 创建SessionFactory对象
  3. 使用SessionFactory对象创建session对象
  4. 开启事务
  5. 具体逻辑CRUD操作
  6. 提交事务
  7. 关闭资源