spring引导应用程序中的java内存sqlite不工作

qvk1mo1f  于 2021-07-15  发布在  Java
关注(0)|答案(0)|浏览(258)

我试图在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)

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题