package li.dao.sqlite;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;
import javax.sql.DataSource;
import li.annotation.Inject;
import li.ioc.Ioc;
import li.test.BaseTest;
import li.util.Log;
import org.junit.Before;
import org.junit.Test;
public class SqliteTest extends BaseTest {
private static final Log log = Log.init();
@Inject
Account accountDao;
@Before
public void before() {
Account account = new Account();
account.set("id", System.currentTimeMillis() / 10000).set("username", "uuu_" + System.currentTimeMillis()).set("password", "ppp").set("email", "eee").set("status", 1);
accountDao.insert(account);
}
@Test
public void test() {
log.debug(accountDao.list(page.setPageSize(3), "WHERE 1=1 ORDER BY id DESC"));
System.out.println(accountDao.getDataSource());
}
// @Test
public void create_table() {
String sql = "CREATE TABLE t_account" + //
"(id INTEGER PRIMARY KEY AUTOINCREMENT," + //
"username varchar(255) UNIQUE NOT NULL ," + //
"password varchar(255) NOT NULL," + //
"email varchar(255) NOT NULL," + //
"status int NOT NULL DEFAULT 1)";
try {
log.debug(Ioc.get(DataSource.class, "sqlite").getConnection().prepareStatement(sql).executeUpdate());
} catch (SQLException e) {
e.printStackTrace();
}
}
public void connection() throws Throwable {
Class.forName("org.sqlite.JDBC");
Connection connection = DriverManager.getConnection("jdbc:sqlite:../../Program Files/sqlite/db/forum.db");
Statement statement = connection.createStatement();
ResultSet resultSet = statement.executeQuery("SELECT * FROM user where 1=2");
ResultSetMetaData meta = resultSet.getMetaData();
for (int columnCount = (null == meta ? -1 : meta.getColumnCount()), i = 1; i <= columnCount; i++) {
log.debug(meta.getColumnName(i));
}
}
}