【问题标题】:Easy way to query a table and map to pojo查询表和映射到 pojo 的简单方法
【发布时间】:2017-12-19 23:59:32
【问题描述】:

我找不到针对我的 oracle 数据库运行 select * 语句的最简单方法。我要做的就是查看表中的某个字段是打开还是关闭,然后执行一些验证。我的应用程序是在 Spring Boot 上构建的,但我知道有几种方法可以查询表并将值映射到一些 pojo。我的 application.properties 中有 jdbc 连接详细信息

【问题讨论】:

    标签: java spring-boot jdbc spring-data


    【解决方案1】:

    这很简单。您没有显示任何代码结构或其他信息,所以我冒昧地假设一些事情。

    首先,我相信您的启动器类具有所需的配置,例如 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 类中创建一个类型化查询。这是一个简单的方法,你可以通过谷歌搜索。

    如果这是您正在寻找的方向,请告诉我您是否需要更多帮助。

    【讨论】:

      【解决方案2】:

      我认为你可以这样做:

      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());
      

      希望这会有所帮助!

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-09-11
        • 2019-09-27
        • 1970-01-01
        • 1970-01-01
        • 2023-03-26
        • 2017-01-02
        • 1970-01-01
        • 2021-11-20
        相关资源
        最近更新 更多