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

广东网站建设开发公司东莞网站建设公司排名

广东网站建设开发公司,东莞网站建设公司排名,打开网页链接,成都专业制作网站公司前言 Spring Boot是一个基于Spring框架的快速开发框架,它可以简化Spring应用的配置和部署过程。JPA(Java Persistence API)是Java持久化规范的一种实现,它提供了一种统一的方式来访问和管理数据库。MySQL和达梦数据库都是常用的关…

前言

Spring Boot是一个基于Spring框架的快速开发框架,它可以简化Spring应用的配置和部署过程。JPA(Java Persistence API)是Java持久化规范的一种实现,它提供了一种统一的方式来访问和管理数据库。MySQL和达梦数据库都是常用的关系型数据库,在Spring Boot中兼容这两种数据库可以让我们根据实际需求选择合适的数据库进行开发。

一、添加依赖

在pom.xml文件中添加Spring Boot和JPA的依赖项。同时,根据需要添加MySQL和达梦数据库的驱动依赖。

        <!-- DB 相关 --><!-- mysql数据库连接 --><!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java --><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId></dependency><dependency><groupId>com.dameng</groupId><artifactId>DmJdbcDriver18</artifactId></dependency><dependency><groupId>com.dameng</groupId><artifactId>DmDialect-for-hibernate5.3</artifactId></dependency><dependency><!--注意:只有这个版本的hibernate兼容达梦数据库 --><groupId>org.hibernate</groupId><artifactId>hibernate-core</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-jdbc</artifactId></dependency><!-- JPA 相关依赖 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-jpa</artifactId><exclusions><exclusion><artifactId>hibernate-core</artifactId><groupId>org.hibernate</groupId></exclusion></exclusions></dependency>

二、配置数据库连接

在application.properties或application.yml文件中配置数据库连接信息,包括URL、用户名和密码等。
根据active随意切换MySQL和达梦数据库。

1.application.yaml

server:port: 8678shutdown: gracefulspring:profiles:active: mysql
#    active: dm

2.application-dm.yaml

spring:datasource:driver-class-name: dm.jdbc.driver.DmDriverurl: jdbc:dm://127.0.0.1:5236/P_API?zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=utf-8username: p_apipassword: p_apiopen-in-view: falseproperties:hibernate:dialect: org.hibernate.dialect.DmDialectdbcp2:test-on-borrow: truevalidation-query: SELECT 1jpa:#    database: mysqldatabase-platform: org.hibernate.dialect.DmDialectproperties:hibernate:#模式名称default_schema: PROCESSON_APIdialect: org.hibernate.dialect.DmDialect#        hbm2ddl:#          #和上面spring.jpa.hibernate.ddl-auto类似#          auto: update#        #和上面spring.jpa.show-sql类似#        show_sql: truetemp:use_jdbc_metadata_defaults: false

3.application-mysql.yaml

spring:datasource:driver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://192.168.10.136:3306/p_api?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai&allowMultiQueries=trueusername: rootpassword: 123456jpa:database: mysqldatabase-platform: org.hibernate.dialect.MySQL8Dialectproperties:hibernate:#模式名称default_schema: p_apidialect: org.hibernate.dialect.MySQL8Dialect#        hbm2ddl:#          #和上面spring.jpa.hibernate.ddl-auto类似#          auto: update#        #和上面spring.jpa.show-sql类似#        show_sql: truetemp:use_jdbc_metadata_defaults: false

三、创建实体类

使用JPA的注解在Java类中定义实体类,定义表名和字段的映射关系。

@Entity
@Table(name = "sys_user")
@Data
@AllArgsConstructor
@NoArgsConstructor
public class User implements Serializable {@Id@GeneratedValue(strategy = GenerationType.IDENTITY)private Long id;@Column(name = "user_name", length = 64)private String userName;@Column(length = 64)private String account;@Column(length = 64)private String mobile;@Column(length = 64)private String email;@Column(length = 16)private String role;@Column(length = 128)private String salt;@Column(length = 128)private String passwordMd5;}

四、创建Repository接口

创建一个继承自JpaRepository的接口,用于定义数据库操作方法。

@Repository
public interface UserRepository extends JpaRepository<User, Long> {Optional<User> findByAccount(String account);
}

五、编写业务逻辑

在Service中编写业务逻辑,并调用Repository接口中定义的方法进行数据库操作。

@Service
@Slf4j
public class LoginServiceImpl implements LoginService {@Resourceprivate UserRepository userRepository;@Transactional(rollbackFor = Exception.class)@Overridepublic R login(HttpServletResponse response, String account, String password) {Subject subject = SecurityUtils.getSubject();UsernamePasswordToken token = new UsernamePasswordToken(account, password);try{subject.login(token);} catch (UnknownAccountException uae){return R.error(GlobalErrorCodeConstants.ERROR_CODE_ACCOUNT_NOT_EXIST);} catch (AuthenticationException ae){return R.error(GlobalErrorCodeConstants.ERROR_CODE_PASSWORD_INCORRECT);}if (subject.isAuthenticated()){long timeout = subject.getSession().getTimeout();log.info("Login success {}", timeout);} else{token.clear();return R.error(GlobalErrorCodeConstants.ERROR_CODE_PASSWORD_INCORRECT);}Object sessionId = subject.getSession().getId();
//        response.setHeader("authToken", sessionId.toString());Map<Object, Object> map = Maps.newConcurrentMap();map.put("authToken", sessionId.toString());return R.success(map);}
}

总结

通过以上步骤,我们可以实现在Spring Boot中同时兼容MySQL和达梦数据库的JPA开发。在运行应用时,可以根据配置文件中的数据库连接信息自动连接到对应的数据库。同时,使用JPA可以提供一种统一的方式来进行数据库操作,无论是MySQL还是达梦数据库,都可以使用相同的代码进行访问和管理。这样可以提高开发效率并减少代码量。

http://www.hkea.cn/news/793441/

相关文章:

  • 贵阳做网站公司网站热度查询
  • 做课件最好的素材网站考拉seo
  • 网站建设玖首选金手指seo网站优化收藏
  • 台州卓远做网站好不好广州seo教程
  • dz网站数据备份bt磁力猪
  • github 可以做网站吗360seo
  • 杭州 企业门户网站建设爱链
  • dj那个网站做的好长沙公司网络营销推广
  • 设计师培训招生视频黑帽seo联系方式
  • 做网上贸易哪个网站好西宁网站seo
  • 电子烟网站建设杯子软文营销300字
  • 广州企业网站制作怎么做营销推广
  • 网站建设服务器在香港郑州网站建设专业乐云seo
  • 河北建设工程交易信息网海口关键词优化报价
  • 全国网站建设公司有多少家微信朋友圈广告投放收费标准
  • 免费做网站公司黑帽seo排名技术
  • apk连接wordpress上海seo
  • 企业建网站租用服务器好还是买一个好石家庄网站关键词推广
  • wordpress文件解析外贸网站优化
  • 建设工程竣工备案网站百度保障中心人工电话
  • 韶关城乡建设部网站首页营销型网站建设策划书
  • 建设银行手机银行下载官方网站谷歌浏览器网页版入口在哪里
  • 网站建设 好域名注册信息
  • 公众号微网站建设认证哪个推广网站好
  • 爬取1024上传到wordpress蔡甸seo排名公司
  • 流感吃什么药更好seo的方法
  • 营销型网站建设市场seo黑帽技术有哪些
  • 扬中做网站的公司seo虚拟外链
  • 永川集团网站建设免费网站seo诊断
  • 国外 上海网站建设网络营销推广方式案例