当前位置: 首页 > 知识库问答 >
问题:

将JPA Spring Boot与SQL服务器一起使用

尚棋
2023-03-14

我想通过STS在Spring Boot中使用JPA和SQL Server。这是我的表:

马文

<dependencies>

    <dependency>
    <groupId>com.hynnet</groupId>
    <artifactId>sqljdbc-chs</artifactId>
    <version>4.0.2206.100</version>
    </dependency>
    <dependency>
    <groupId>commons-lang</groupId>
    <artifactId>commons-lang</artifactId>
    <version>2.2</version>
    </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jdbc</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-thymeleaf</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

application.properties

spring.datasource.driver-class-  name=com.microsoft.sqlserver.jdbc.SQLServerDriver
spring.datasource.url=jdbc:sqlserver://localhost:1433;databaseName=quanlybanhang
spring.datasource.username=sa
spring.datasource.password=1
spring.jpa.hibernate.ddl-auto=create
spring.datasource.initialize=true
spring.jpa.database=SQL_SERVER

模型.Account.class

  @Entity
  @Table(name="taikhoan",uniqueConstraints=@UniqueConstraint(columnNames = {    "tendangnhap" }) )
 public class Account {
 @Id @GeneratedValue(strategy=GenerationType.AUTO)
 private int id;
 @NotNull

private String tendangnhap;
@NotNull
private String matkhau;
public Account(String tendangnhap, String matkhau) {
    super();
    this.tendangnhap = tendangnhap;
 this.matkhau = matkhau;
}
public Account() {
    super();
}
public int getId() {
    return id;
}
public void setId(int id) {
    this.id = id;
}
public String getTendangnhap() {
    return tendangnhap;
}

public void setTendangnhap(String tendangnhap) {
    this.tendangnhap = tendangnhap;
}
public String getMatkhau() {
    return matkhau;
}
public void setMatkhau(String matkhau) {
    this.matkhau = matkhau;
}   
}

接口账户

public interface AccountDAO extends JpaRepository<Account, Integer>{

}

ServiceAccount.class

@Service
public class ServerAccount {
    @Autowired
    AccountDAO server;
    public void them(Account acc){
        server.save(acc);   
    }
    public List<Account> lietke(){

        return server.findAll();    
    }
}

服务帐户类

@Service
public class ServerAccount {
    @Autowired
    AccountDAO server;

    Account acc=new Account("khang", "1");

    public void addAccount(){
        server.save(acc);
    }


    public List<Account> lietke(){

        return server.findAll();    
    }

}

我在控制器中调用了方法add帐户(),这是我得到的异常

"java.lang.NoClassDefFoundError: org/spingFramework/orm/jpa/support/Per的注释BeanPost处理器"

“原因:java.lang.ClassNotFoundException:org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor”

请帮我修复这个异常。谢谢!!!

共有1个答案

云镜
2023-03-14

从您错过的依赖项(检查您使用的java版本):

 <dependency>
        <groupId>com.microsoft.sqlserver</groupId>
        <artifactId>mssql-jdbc</artifactId>
        <version>6.5.2.jre8-preview</version>
        <scope>test</scope>
    </dependency>

并在应用程序属性中更正以下行:

spring.datasource.driver-class-  name=com.microsoft.sqlserver.jdbc.SQLServerDriver

spring.datasource.driverClassName=com.microsoft.sqlserver.jdbc.SQLServerDriver
spring.jpa.hibernate.dialect=org.hibernate.dialect.SQLServer2012Dialect
 类似资料:
  • 我是个很新的程序员。我在工作中的任务之一是让我们的定制工具创建草稿电子邮件,并将其放入运行该工具的用户的草稿电子邮件文件夹中。我们目前使用Exchange Server 2010(但正在迁移到Exchange Online)。 这个链接讨论了UseDefaultCredentials,但我似乎不知道如何实现它。我创建了一个名为service的ExchangeService对象,并使用以下凭据与Ex

  • 我目前正在尝试学习微服务架构。我一直在尝试开发一个 Spring 启动应用程序。我刚刚在我的应用程序中实现了配置服务器。在我实现配置服务器之前,liquibase 在这些属性上工作正常。 实现后,我的服务没有找到db.changelog-master.xml文件。db.changelog目录在我的服务资源下。我应该如何更改“更改日志”属性?

  • 根据这里和那里的文档,我设法设置了一个授权服务器,该服务器提供使用非对称密钥签名的JWT访问令牌,资源服务器使用公钥的本地副本在本地验证这些令牌。到现在为止,一直都还不错。 我的最终目标是让资源服务器在授权服务器上使用JWKSendpoint,并使用JWT中的“kid”头在JWKS中查找正确的密钥并在本地进行验证,从而支持密钥轮换。我发现了如何使授权服务器公开JWKSendpoint,以及如何为资

  • 我正在尝试使用tika包来解析文件。Tika已成功安装,使用cmd中的代码运行 我在Jupyter中的代码是: 然而,我收到以下错误: 2018-07-25 10:20:13,325[MainThread][WARNI]无法看到启动日志消息;正在重试...2018-07-25 10:20:18,329[MainThread][WARNI]无法看到启动日志消息;正在重试...2018-07-25 1

  • 问题内容: 我对WireMock完全陌生。 到目前为止,我一直在使用通过SOAPUI进行模拟响应。我的用例很简单: 只需将SOAP XML请求发送到不同的端点(http:// localhost:9001 / endpoint1 ),然后返回固定的XML响应。但是MockWrire必须作为独立服务部署到专用服务器上,该服务器将充当从中提供模拟响应的中心位置。 只是想要一些开始的建议。如我所见,Wi

  • 我目前正在为我的工作研究Windows服务总线,并且已经设法非常快速地使用NetMessaging作为传输类型启动了一个测试系统。但是,今天我尝试切换到AMQP作为传输机制,但我似乎无法让它工作-它成功地根据我的连接字符串创建了一个MessagingFactory,但当我尝试创建队列时失败了,给我错误: 令牌提供者在访问“https://{local机器名}: 5671/TestServiceBu