介绍
sqllite是一个小型数据库,不依赖于数据库服务器,操作它可以像操作本地的文本文件一样。在Android中是用来存储数据到本地的,java中可能也会有用到sqllite需要。
详细
sqllite就是一个数据库,操作上和sql server等其他数据库都遵循sun公司推出的接口,所以其他的不多说,直接贴代码吧:
public static void main(String[] args) {
// 加载驱动
ResultSet rs = null;
// 得到连接 会在你所填写的目录建一个你命名的文件数据库
Connection conn = null;
try {
Class.forName("org.sqlite.JDBC");
} catch (ClassNotFoundException e) {
System.out.println("数据库驱动未找到!");
}
try {
conn = DriverManager.getConnection("jdbc:sqlite:./zieckey.db", null, null);
// 设置自动提交为false
conn.setAutoCommit(false);
Statement stmt = conn.createStatement();
// 判断表是否存在
ResultSet rsTables = conn.getMetaData().getTables(null, null, "student", null);
if (rsTables.next()) {
System.out.println("表存在,创建表的事情不要做了");
} else {
stmt.executeUpdate("create table student (id text,name text);");
}
stmt.executeUpdate("insert into student values (1,'hehe');");
stmt.executeUpdate("insert into student values (2,'xixi');");
stmt.executeUpdate("insert into student values (3,'haha');");
// 提交
conn.commit();
// 得到结果集
rs = stmt.executeQuery("select * from student;");
ResultSetMetaData rsmd = rs.getMetaData();
System.out.println("rsmd = " + rsmd.getTableName(1));
int columnCount = rsmd.getColumnCount();
System.out.println("columnCount = " + columnCount);
String cName = rsmd.getColumnLabel(1);
String cType = rsmd.getColumnClassName(2);
System.out.println("cName = " + cName);
System.out.println("cType = " + cType);
while (rs.next()) {
System.out.println("id = " + rs.getString("id"));
System.out.println("name = " + rs.getString("name"));
}
} catch (SQLException e) {
e.printStackTrace();
System.out.println("SQL异常!");
} finally {
if (rs != null) {
try {
rs.close();
rs = null;
} catch (SQLException e) {
e.printStackTrace();
}
}
if(conn != null){
try {
rs.close();
rs = null;
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
这个需要一个sqllite的jdbc驱动。