用于本机查询的Spring jpa数据库连接



我有一个spring应用程序,它必须连接到sql server数据库。没有@Entity类,也没有@Repository,因为应用程序不知道表和表的列。我已经创建了一个类,并使用实体管理器来执行查询,但我不确定在这种情况下这是否是最佳选择:

@Service
public class MyRepo {
private final EntityManager entityManager;
public MyRepo(@Qualifier("myEntityManagerFactory") EntityManager _entityManager){
entityManager = _entityManager;
}
public void execQuery(){
String queryStr = "select TOP (10) * from [MyTable]";
Query query = entityManager.createNativeQuery(queryStr);
List<Object> queryRes = query.getResultList();
}

}

我的问题是,在我的场景中,创建一个";经典的";连接到数据库而不是创建实体管理器(因为没有实体(
类似于:

Connection con=DriverManager.getConnection("connection string","user","password");
Statement stmt=con.createStatement();  
ResultSet rs=stmt.executeQuery("select TOP (10) * from [MyTable]");  

非常感谢你的建议。

您滥用JPA只是为了保持连接。

你应该选择JdbcTemplate

不要使用Spring Data JPA的启动器,而是使用spring-boot-starter-jdbc(不是SpringDataJDBC(。注入一个JdbcTemplateNamedParameterJdbcTemplate,并使用它们来执行SQL代码。

最新更新