我试图在spring启动应用程序中将sqlite设置为内存中的数据库。但是当我试图查询数据库时,它会给我一个错误“没有这样的表”
有人能推荐一下我做错了什么吗?我只需要在内存中使用sqlite,我们只在项目中使用jdbc。
这是我的密码:
应用程序属性
spring.datasource.url=jdbc:sqlite:memory
spring.datasource.username=
spring.datasource.password=
spring.datasource.platform=sqlite
spring.datasource.driver-class-name=org.sqlite.JDBC
myrepo.java文件
@Repository
public class MyRepo{
@Autowired
private NamedParameterJdbcTemplate namedJdbc;
public String getUserName() throws Exception{
String userName = null;
String sql = "SELECT username FROM emp WHERE username=:name";
MapSqlParameterSource paramSource = new MapSqlParameterSource();
paramSource.addValue("name", "tuser");
userName = this.namedJdbc.query(sql, paramSource, (rs) -> {
String name = null;
while (rs.next()) {
name = rs.getString("username").trim();
return name;
}
return null;
});
return userName;
}
}
userdaotest.java文件
@SpringBootTest
public class UserDaoTest {
@Autowired
private MyRepo rep;
@Test
public void testFindByname() throws Exception{
rep.getUserName();
}
}
我在src/main/resources下还有schema.sql和data.sql文件
架构.sql
DROP TABLE IF EXISTS emp;CREATE TABLE IF NOT EXISTS emp(username VARCHAR(20), empId BIGINT, PRIMARY KEY(empId) )
数据.sql
INSERT INTO emp(username,empId) VALUES ('tuser',1001);
我得到的例外:
PreparedStatementCallback; uncategorized SQLException for SQL [SELECT username FROM Chats WHERE username=?]; SQL state [null]; error code [1]; [SQLITE_ERROR] SQL error or missing database (no such table: Chats)
暂无答案!
目前还没有任何答案,快来回答吧!