sinsertb.java

来自「主要对各种数据库性能进行测试」· Java 代码 · 共 115 行

JAVA
115
字号
package sqlite;
 
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException; 

public class SInsertB extends ServerFactory {
	ExecSql  exec;
	String table = "user";
	Configure config = new Configure();
	String dbtype = config.getProperty("dbtype");
	public SInsertB()
	{ 
		exec = new ExecSql();
		this.init();
	}

	@Override
	public int Exec() {
		try {
			int count = 0;
			String sql = "select count(*) from sqlite_master where type='table' and name='"+table+"'";
			ResultSet rs =exec.select(conn, sql);
			while(rs.next())
			{
				count = rs.getInt(1);
			}
			if(count <= 0)
			{
				sql = "create table "+table+" (userid integer ,username varchar(30),password varchar(30))";
				exec.exec(conn, sql);
			} 
			exec.closeResult(rs);
	        System.out.println("建表成功!"); 
			this.addUser();
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		// TODO Auto-generated method stub


		return 0;
	}

	void addUser()
	{
		System.out.println("step into addUser ");
		try { 
			int num = 100000;
			String nn = config.getProperty("recnum");
			if(nn!=null)
				num = Integer.parseInt(nn);
			long lstart = System.currentTimeMillis();
			conn.setAutoCommit(false);
			PreparedStatement st = conn.prepareStatement("INSERT INTO user VALUES(?,?,?,?,?,?,?,?,?,?)");
			for(int i= 0 ;i <num;i++)
			{
	             st.setInt(1, i);
	             st.setString(2, "abcdefghijklmnopqrst"+i);
	             st.setString(3, "abcdefghijklmnopqrst"+i);
	             st.setString(4, "abcdefghijklmnopqrst"+i);
	             st.setString(5, "abcdefghijklmnopqrst"+i);
	             st.setString(6, "abcdefghijklmnopqrst"+i);
	             st.setString(7, "abcdefghijklmnopqrst"+i);
	             st.setString(8, "abcdefghijklmnopqrst"+i);
	             st.setString(9, "abcdefghijklmnopqrst"+i);
	             st.setString(10, "abcdefghijklmnopqrst"+i);
	             st.executeUpdate();
				//sql="insert into "+table+" values("+i+",'user"+i+"','pwd"+i+"')";		
				//exec.insert(conn, sql);
			}
			conn.commit();
			long lend = System.currentTimeMillis();
			System.out.println("use time ="+(lend-lstart)+"ms");
			//exec.closeStmt();
			//exec.closeConn(conn);
			if(st!=null)
			{
				st.close();
				st = null;
			}
			if(conn!=null)
			{
				conn.close();
				conn = null;
			}
			//freeConnection();

		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}finally{
			freeConnection("sqlite");
		}

	}
	
	@Override
	public int init() {
		// TODO Auto-generated method stub
		if(!initConnection("sqlite"))
		{
			System.out.println("create database connection failed!");
			return -1;
		}
		return 0;
	}
	public static void main(String[] args)
	{
		SInsertA as = new SInsertA();
		as.Exec();
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?