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

毕业设计做网站有哪些方面网站建设硬件要求

毕业设计做网站有哪些方面,网站建设硬件要求,泉州百度网站推广,全新的手机网站设计1. 背景 在实际项目中,常需使用数据库自增列(AUTO_INCREMENT / SERIAL / BIGSERIAL)作为主键,以减少主键生成逻辑复杂度。 本文分别给出 JPA(Hibernate) 与 MyBatis-Plus 两种主流 ORM 的完整实现步骤、代…

1. 背景

在实际项目中,常需使用数据库自增列(AUTO_INCREMENT / SERIAL / BIGSERIAL)作为主键,以减少主键生成逻辑复杂度。
本文分别给出 JPA(Hibernate)MyBatis-Plus 两种主流 ORM 的完整实现步骤、代码示例及注意事项,方便团队快速落地。


2. 环境约定

组件版本
JDK17+
Spring Boot3.x
MySQL8.x(PostgreSQL 等同理)
JPAspring-boot-starter-data-jpa
MyBatis-Plusmybatis-plus-boot-starter 3.5.x

3. 数据库脚本

以 MySQL 为例,PostgreSQL 把 AUTO_INCREMENT 换成 BIGSERIAL 即可。

CREATE TABLE t_user (id   BIGINT AUTO_INCREMENT PRIMARY KEY,name VARCHAR(50) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

4. JPA(Hibernate)实现

4.1 Maven 依赖

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>

4.2 实体类

package com.example.jpa.entity;import jakarta.persistence.*;@Entity
@Table(name = "t_user")
public class User {@Id@GeneratedValue(strategy = GenerationType.IDENTITY)private Long id;private String name;/* getter & setter */
}

4.3 Repository

package com.example.jpa.repository;import com.example.jpa.entity.User;
import org.springframework.data.jpa.repository.JpaRepository;public interface UserRepository extends JpaRepository<User, Long> {}

4.4 Service 示例

@Service
public class UserService {@Autowiredprivate UserRepository repo;@Transactionalpublic Long addUser(String name) {User u = new User();u.setName(name);repo.save(u);          // 插入后自动回填 idreturn u.getId();}
}

5. MyBatis-Plus 实现

5.1 Maven 依赖

<dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.5.7</version>
</dependency>

5.2 实体类

package com.example.mp.entity;import com.baomidou.mybatisplus.annotation.*;@Data
@TableName("t_user")
public class User {@TableId(type = IdType.AUTO)private Long id;private String name;
}

5.3 Mapper

package com.example.mp.mapper;import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.example.mp.entity.User;@Mapper
public interface UserMapper extends BaseMapper<User> {}

5.4 Service 示例

@Service
public class UserService {@Autowiredprivate UserMapper userMapper;public Long addUser(String name) {User u = new User();u.setName(name);userMapper.insert(u);  // 插入后自动回填 idreturn u.getId();}
}

6. 对比与最佳实践

维度JPAMyBatis-Plus
主键注解@Id + @GeneratedValue(IDENTITY)@TableId(type = IdType.AUTO)
依赖spring-boot-starter-data-jpamybatis-plus-boot-starter
插入回写自动自动
额外配置
适用场景简单 CRUD、规范 JPA复杂 SQL、灵活 MyBatis
常见坑大小写敏感、无 @Id列未 AUTO_INCREMENT、误用 @Id

7. FAQ

  1. PostgreSQL 如何写

    CREATE TABLE t_user (id BIGSERIAL PRIMARY KEY,name VARCHAR(50)
    );

    其余代码保持一致。

  2. 为什么插入后 id 返回 0?

    • JPA:确认 @GeneratedValue(IDENTITY)

    • MyBatis-Plus:确认 @TableId(type = IdType.AUTO) 且列 AUTO_INCREMENT / SERIAL

  3. 能否全局指定自增策略?

    • MyBatis-Plus 可在 application.yml

      mybatis-plus:global-config:db-config:id-type: auto

8. 附录

  • JPA 官方文档

  • MyBatis-Plus 官方文档

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

相关文章:

  • 可信网站是什么南昌市会做网站有哪几家
  • 采购网站排名临清做网站推广
  • 住房和城乡建设部网站城市稽查阿里云官网登录入口
  • 网站源代码下载工具明年做那个网站致富
  • 企业网站建设及推广清河网站建设
  • 可以做系统同步时间的网站微博登录网站开发
  • 九千营销工作室介绍网站排名乐云seo
  • 河东做网站设计一个网站的步骤
  • 寻找杭州做网站软件人设计好看的网站
  • 制作公司主页网站网页制作教程步骤视频讲解
  • 有关优化网站建设的书籍开通微信公众号要钱吗
  • 网页设计做音乐网站论坛建站哪个比较好
  • 沭阳网站制作wordpress+联动筛选
  • php网站有哪些做视频网站利润如何
  • 电商设计师联盟网站wordpress 08影院
  • 医学网站建设风格电商的网站怎么做的
  • 做俄罗斯网站网站建设管理流程
  • php 网站部署到服务器网站选择语言怎么做
  • 网站内容发布平台源码山东省建设部网站
  • 番禺区建设局网站开发app和微网站有哪些功能
  • 中国品牌建设促进会网站网络营销推广技术
  • 景区网站建设策划石家庄官网设计及搭建
  • 修改wordpress登录地址wordpress自带主题优化
  • html手机版网站义乌做网站
  • 我的世界查建筑网站蔬菜基地做网站合适吗
  • 网站设置默认主页建设信息网怎么进入
  • 南宁网站设计公司排名东营新闻综合频道在线直播
  • wordpress分类信息 模板下载宝安网站 建设seo信科
  • 中卫网站推广外包服务上海营业执照查询系统
  • 资金盘网站开发公司哪里好用dw怎麼做网站