java 操作sqllite的数据库

介绍

   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驱动

posted @ 2014-01-26 11:06  Cyning  阅读(1907)  评论(1编辑  收藏  举报