Meine Umgebung ist:
Frühlings-Boot + Mybatis + Oracle 10g + Jdk1.8Orakel Cache Chaos mit Mybatis Abfrageergebnisse (kann nicht die neueste erhalten)
Ich habe ein Bildband in Oracle wie folgt benannt:
+---------+------+--------+
| book_id | name | number |
+---------+------+--------+
| 1 | b1 | 123 |
| 2 | b2 | 123 |
| 3 | b3 | 2343 |
+---------+------+--------+
3 rows in set (0.00 sec)
ich habe es ihm zu arbeiten und angezeigt erfolgreich mit dem Mapper i .Aber schrieb, nachdem ich 2 weitere Datensätze in dieser Tabelle mit plsql einfügen, ich habe immer noch die gleichen 3 Datensätze statt alle 5 (wie unten) wenn ich es mit mybatis mapper abfrage.
+---------+------+--------+
| book_id | name | number |
+---------+------+--------+
| 1 | b1 | 123 |
| 2 | b2 | 123 |
| 3 | b3 | 2343 |
| 4 | b4 | 22343 |
| 5 | b5 | 43 |
+---------+------+--------+
5 rows in set (0.00 sec)
Dann ändere ich die Cache-Strategie in Orakel wie folgt.
alter table book nocache
Es funktionierte wieder! Alle 5 Datensätze angezeigt werden die Mybatis mapper.But warum erfolgreich mit? Soll ich jedes Mal klar Orakel Cache? Diese right.Is fühlt sich nicht eine bessere Lösung? Jede Antwort wäre hilfreich. thx
application.properties
# Spring
spring.resources.static-locations=classpath:/static/
# MyBatis
mybatis.configuration.map-underscore-to-camel-case=true
mybatis.configuration.local-cache-scope=statement
# DataSource 1
spring.datasource.db1.url=jdbc:oracle:thin:@*******
spring.datasource.db1.username=***
spring.datasource.db1.password=***
spring.datasource.db1.driver-class-bookName=oracle.jdbc.OracleDriver
Mapper
@Mapper
@Qualifier("bookMapper")
public interface BookMapper {
@Select({"select * from book"})
@Options(useCache = false)
@Results({
@Result(property = "bookId",column = "book_id"),
@Result(property = "bookName",column = "book_name"),
@Result(property = "bookNumber",column = "book_number")
})
List<BookEntity> getALL();
// insertBook();
}
Entität
public class BookEntity {
long bookId;
String bookName;
int bookNumber;
//getters and setters
}
Bitte fügen Sie Ihren Code hinzu. Es ist sehr schwer zu verstehen, wenn man nur Text betrachtet. Zeigen Sie Ihre Mapper und Config-Klasse –
Auch würde ich vorschlagen, in der Dao-Ebene zu debuggen, ob Sie alle Datensätze nach dem Hinzufügen in der db/ –
bekommen Mein Code jetzt hinzugefügt. Können Sie mir helfen pls. – xuqh