我最近尝试了 Postgres。将其安装在本地(PostgreSQL 13.0)上。创建了一个 Maven 项目并使用了 Spring Data JPA,效果很好。而当我尝试使用 Gradle 项目时,我无法连接到数据库并不断收到以下错误。
org.postgresql.util.PSQLException:不支持身份验证类型 10。检查您是否已将 pg_hba.conf 文件配置为包含客户端的 IP 地址或子网,并且它正在使用驱动程序支持的身份验证方案。在 org.postgresql.core.v3.ConnectionFactoryImpl.doAuthentication(ConnectionFactoryImpl.java:614) ~[postgresql-42.1.4.jar:42.1.4] 在 org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java: 222) ~[postgresql-42.1.4.jar:42.1.4] 在 org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:49) ~[postgresql-42.1.4.jar:42.1.4] 在 org. postgresql.jdbc.PgConnection.(PgConnection.java:194) ~[postgresql-42.1.4.jar:42.1.4] at org.postgresql.Driver.makeConnection(Driver.java:450) ~[postgresql-42.1.4. jar:42.1.4] 在 org.postgresql.Driver。
我也尝试使用 JDBCTemplate。不起作用
修改了参考这篇文章的 pg_hba.cfg 文件- 不起作用
使用已弃用的 Lib - 也不起作用。
请建议我解决这个问题。
我的代码和配置:
@Configuration
public class DataSourceConfig {
@Bean
public DriverManagerDataSource getDataSource() {
DriverManagerDataSource dataSourceBuilder = new DriverManagerDataSource();
dataSourceBuilder.setDriverClassName("org.postgresql.Driver");
dataSourceBuilder.setUrl("jdbc:postgresql://localhost:5432/postgres");
dataSourceBuilder.setUsername("postgres");
dataSourceBuilder.setPassword("root");
return dataSourceBuilder;
}
}
@Component
public class CustomerOrderJDBCTemplate implements CustomerOrderDao{
private DataSource …Run Code Online (Sandbox Code Playgroud) 我在SQL Developer中执行以下查询.
SELECT * FROM Person where person_name='rahul' order by created_time desc limit 10;
Run Code Online (Sandbox Code Playgroud)
当我执行它时,SQL Developer给我以下错误.
ORA-00933: SQL command not properly ended
00933. 00000 - "SQL command not properly ended"
*Cause:
*Action:
Run Code Online (Sandbox Code Playgroud)
我使用以下链接作为参考.
https://www.techonthenet.com/sql/select_limit.php
我已经试过了
SELECT * FROM Person where person_name='rahul' order by created_time desc OFFSET 5 ROWS FETCH NEXT 10 ROWS ONLY;
ORA-00933: SQL command not properly ended
00933. 00000 - "SQL command not properly ended"
*Cause:
*Action:
Error at Line: 1 Column: 75
Run Code Online (Sandbox Code Playgroud)
请注意,OFFSET不被视为关键字.
我正在尝试实施manual offset commit在 上收到的消息kafka。我已将偏移量提交设置为false,但偏移量值不断增加。
不知道是什么原因。需要帮助解决问题。
下面是代码
应用程序.yml
spring:
application:
name: kafka-consumer-sample
resources:
cache:
period: 60m
kafka:
bootstrapServers: localhost:9092
options:
enable:
auto:
commit: false
Run Code Online (Sandbox Code Playgroud)
KafkaConfig.java
@Bean
public ConsumerFactory<String, String> consumerFactory() {
Map<String, Object> config = new HashMap<>();
config.put(ConsumerConfig.BOOTSTRAP_SERVERS_CONFIG, bootstrapServers);
config.put(ConsumerConfig.GROUP_ID_CONFIG, groupId);
config.put(ConsumerConfig.KEY_DESERIALIZER_CLASS_CONFIG, StringDeserializer.class);
config.put(ConsumerConfig.VALUE_DESERIALIZER_CLASS_CONFIG, StringDeserializer.class);
config.put(ConsumerConfig.ENABLE_AUTO_COMMIT_CONFIG, false);
return new DefaultKafkaConsumerFactory<>(config);
}
@Bean
public ConcurrentKafkaListenerContainerFactory<String, String> kafkaListenerContainerFactory() {
ConcurrentKafkaListenerContainerFactory<String, String> factory = new ConcurrentKafkaListenerContainerFactory();
factory.setConsumerFactory(consumerFactory());
return factory;
}
Run Code Online (Sandbox Code Playgroud)
KafkaConsumer.java
@Service
public class KafkaConsumer {
@KafkaListener(topics = …Run Code Online (Sandbox Code Playgroud) 以下代码在java中的Class String中.我不明白为什么两个不同字符串中的字符被比较两次.首先做大写,如果失败则做小写.
我的问题是,是否需要?如果是,为什么?
public static final Comparator<String> CASE_INSENSITIVE_ORDER
= new CaseInsensitiveComparator();
private static class CaseInsensitiveComparator
implements Comparator<String>, java.io.Serializable {
// use serialVersionUID from JDK 1.2.2 for interoperability
private static final long serialVersionUID = 8575799808933029326L;
public int compare(String s1, String s2) {
int n1 = s1.length();
int n2 = s2.length();
int min = Math.min(n1, n2);
for (int i = 0; i < min; i++) {
char c1 = s1.charAt(i);
char c2 = s2.charAt(i);
if (c1 != c2) {
c1 …Run Code Online (Sandbox Code Playgroud) 最近我遇到了Java 8的新语法,可用于将列表转换为集合:
Set<Integer> myset = mylist.stream().collect(Collectors.toSet()));
Run Code Online (Sandbox Code Playgroud)
我想知道使用这种方法将列表转换为传统方式的集合的优势(通过将其作为参数传递给HashSet).
我是 Xquery 的新手。我正在处理一些需要将新的 XML 元素插入到现有 XML 中的事情。
前任:
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
Run Code Online (Sandbox Code Playgroud)
上面的 xml 需要通过添加新的 Element 地址来更新。
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
<address>Address</address>
</note>
Run Code Online (Sandbox Code Playgroud)
这需要使用 XQuery 来完成。
请指教。
java ×4
apache-kafka ×1
collections ×1
comparator ×1
gradle ×1
mysql ×1
postgresql ×1
spring-boot ×1
spring-kafka ×1
string ×1
unicode ×1
xml ×1
xquery ×1