如何在Tomcat 6中配置SQLite?

你能否提供一下如何在tomcat 6中使用sqlite? 我正在使用Xerial sqlite jdbc驱动程序。 在我的应用程序中,我有多个sqlite数据库(.db文件),并且需要连接到不同的sqlite数据库,具体取决于用户登录的内容? 我在哪里可以将所有.db文件放在webapp根目录中或系统中的任何位置或WEB-INF中?

谢谢,

我们所做的非常相似。 遗憾的是,您无法在Tomcat上创建SQLite连接池,因为SQLite为每个用户都有一个数据库文件。

只需复制TOMCAT_HOME/lib文件夹中的jar文件,但不能通过JNDI调用连接。 你必须做这样的事情:

 /** * * @param driverClassName * @param url * @param user * @param password * @throws SQLException * @throws Exception */ public DefaultJdbcTransaction(String driverClassName, String url, String user, String password) throws SQLException { super(); // TODO Auto-generated constructor stub try { Class.forName(driverClassName).newInstance(); if (user == null && password == null) { connection = DriverManager.getConnection(url); } else { connection = DriverManager.getConnection(url, user, password); } } catch (InstantiationException e) { // TODO Auto-generated catch block throw new SQLException(e); } catch (IllegalAccessException e) { // TODO Auto-generated catch block throw new SQLException(e); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block throw new SQLException(e); } } 

其中url="jdbc:sqlite:/path/to/sqlite/file/userId.db"driverClassName="org.sqlite.JDBC"和( user = password = null )。

我正在使用sqlitejdbc-v056.jar

希望这可以帮助

我刚刚使用Tomcat 7配置sqlite3。现在一切正常,所以我想分享我的设置。
– 下载位于sqlite-jdbc-3.7.2.jar(或最新版本)的JDBC驱动程序(org.sqlite.JDBC)。 https://bitbucket.org/xerial/sqlite-jdbc/downloads
并将其复制到yourTomcat / lib
– 您可以将sqlite数据库复制到任何您想要的位置。 对于我的设置,我在tomcat安装下创建了一个’dbs’目录,并将其放在那里。

现在设置你的应用程序。 如果您没有META-INF / context.xml文件,请创建一个。 这是一个最小的文件:

      

然后将以下内容添加到WEB-INF / web.xml:

  Reviews Database jdbc/yourdb javax.sql.DataSource Container  

在这一点上,你应该好好去。 下面是一些访问数据库的示例代码(我有一个表’admin’,列”username’):

 public String getName() { LOG.info("getting name : " + this.name); try { Context ctx = new InitialContext(); DataSource ds = (DataSource)ctx.lookup("java:comp/env/jdbc/yourdb"); Connection conn = ds.getConnection(); Statement stat = conn.createStatement(); ResultSet rs = stat.executeQuery("select username from admin"); this.name = rs.getString(1); } catch (SQLException se) { LOG.info(se.toString()); } catch (NamingException ne) { LOG.info(ne.toString()); } return this.name; } 

注意:默认情况下,tomcat的某些发行版没有附带tomcat.dbcp,如果遇到问题,可能更容易引用commons附带的dbcp类,org.apache.commons.dbcp.BasicDataSourceFactory。 我有tomcat.dbcp这个问题没有包含在我的tomcat7安装中,一旦我在context.xml中切换了引用,一切正常。