【发布时间】:2017-12-19 23:59:32
【问题描述】:
我找不到针对我的 oracle 数据库运行 select * 语句的最简单方法。我要做的就是查看表中的某个字段是打开还是关闭,然后执行一些验证。我的应用程序是在 Spring Boot 上构建的,但我知道有几种方法可以查询表并将值映射到一些 pojo。我的 application.properties 中有 jdbc 连接详细信息
【问题讨论】:
标签: java spring-boot jdbc spring-data
我找不到针对我的 oracle 数据库运行 select * 语句的最简单方法。我要做的就是查看表中的某个字段是打开还是关闭,然后执行一些验证。我的应用程序是在 Spring Boot 上构建的,但我知道有几种方法可以查询表并将值映射到一些 pojo。我的 application.properties 中有 jdbc 连接详细信息
【问题讨论】:
标签: java spring-boot jdbc spring-data
这很简单。您没有显示任何代码结构或其他信息,所以我冒昧地假设一些事情。
首先,我相信您的启动器类具有所需的配置,例如 oracle 数据源提供程序 bean
@Bean(name = "dataSource")
@Primary
@ConfigurationProperties(prefix = "spring.datasource")
public OracleDataSource oracleDataSource() throws SQLException {
OracleDataSource dataSource = new OracleDataSource();
dataSource.setUser(userName);
dataSource.setPassword(password);
dataSource.setURL(dataSourceUrl);
dataSource.setImplicitCachingEnabled(true);
dataSource.setFastConnectionFailoverEnabled(true);
dataSource.setDriverType(driverClass);
return dataSource;
}
属性文件将具有所需的连接详细信息,因此我相信您已将属性文件中的所需变量引用到相应的用户名、密码字符串。
完成排序后,您需要创建所需的 DAO 和实体类。
创建一个DAO包,最好是一个接口
@Repository
public interface YourDao {
List<SampleClass> getRowsfromDB(String foobar) throws exception
}
你的 SampleClass 就是你的实体 POJO
@Table(name = "TABLE_NAME")
public class SampleClass implements Serializable{
private static final long serialVersionUID = 175721653757515959L;
@Id
@Column(name = "COL1")
private Long columnOne;
@Column(name = "COL2")
private String column2;
...generate getters and setters
}
完成此操作后,在 DAO IMPL 类中创建一个类型化查询。这是一个简单的方法,你可以通过谷歌搜索。
如果这是您正在寻找的方向,请告诉我您是否需要更多帮助。
【讨论】:
我认为你可以这样做:
public interface UserDataRepository extends JpaRepository<UserData, Long> {
@Query(value = "SELECT flag FROM user_data", nativeQuery = true)
public List<Object[]> findFlags();
}
System.out.println("data"+ userDataRepository.findFlags());
希望这会有所帮助!
【讨论】: