wangbing 5 years ago
parent d8e41e4139
commit a1485440f3

@ -1,6 +1,7 @@
package xyz.wbsite.wsqlite;
import xyz.wbsite.wsqlite.anonation.TableField;
import java.io.File;
import java.lang.reflect.Field;
import java.sql.SQLException;
@ -52,6 +53,20 @@ public class ObjectClient extends Client {
} else if (f.getType() == Boolean.class || f.getType() == boolean.class) {
sql.append(f.getName().toUpperCase());
sql.append(" BOOLEAN,");
} else if (f.getType() == Byte.class || f.getType() == byte.class ||
f.getType() == Short.class || f.getType() == short.class ||
f.getType() == Character.class || f.getType() == char.class ||
f.getType() == Integer.class || f.getType() == int.class ||
f.getType() == Long.class || f.getType() == long.class) {
sql.append(f.getName().toUpperCase());
sql.append(" INTEGER,");
} else if (f.getType() == Float.class || f.getType() == float.class ||
f.getType() == Double.class || f.getType() == double.class) {
sql.append(f.getName().toUpperCase());
sql.append(" REAL,");
} else if (f.getType() == Byte[].class || f.getType() == byte[].class) {
sql.append(f.getName().toUpperCase());
sql.append(" BLOB,");
}
}
}
@ -94,8 +109,23 @@ public class ObjectClient extends Client {
valueSql.append("'");
valueSql.append(String.valueOf(value));
valueSql.append("'");
} else {
} else if (f.getType() == Byte.class || f.getType() == byte.class ||
f.getType() == Short.class || f.getType() == short.class ||
f.getType() == Character.class || f.getType() == char.class ||
f.getType() == Integer.class || f.getType() == int.class ||
f.getType() == Long.class || f.getType() == long.class) {
valueSql.append("'");
valueSql.append(value);
valueSql.append("'");
} else if (f.getType() == Float.class || f.getType() == float.class ||
f.getType() == Double.class || f.getType() == double.class) {
valueSql.append("'");
valueSql.append(value);
valueSql.append("'");
} else if (f.getType() == Byte[].class || f.getType() == byte[].class) {
valueSql.append("'");
valueSql.append(value);
valueSql.append("'");
}
if (i != fs.size() - 1) {
fieldsSql.append(",");
@ -172,8 +202,23 @@ public class ObjectClient extends Client {
sql.append("'");
sql.append(String.valueOf(value));
sql.append("'");
} else {
} else if (f.getType() == Byte.class || f.getType() == byte.class ||
f.getType() == Short.class || f.getType() == short.class ||
f.getType() == Character.class || f.getType() == char.class ||
f.getType() == Integer.class || f.getType() == int.class ||
f.getType() == Long.class || f.getType() == long.class) {
sql.append("'");
sql.append(value);
sql.append("'");
} else if (f.getType() == Float.class || f.getType() == float.class ||
f.getType() == Double.class || f.getType() == double.class) {
sql.append("'");
sql.append(value);
sql.append("'");
} else if (f.getType() == Byte[].class || f.getType() == byte[].class) {
sql.append("'");
sql.append(value);
sql.append("'");
}
if (i != fs.size() - 1) {
sql.append(",");
@ -271,11 +316,35 @@ public class ObjectClient extends Client {
f.setAccessible(true);
if (f.getType() == String.class) {
String string = resultSet.getString(f.getName());
f.set(o, string);
String v = resultSet.getString(f.getName());
f.set(o, v);
} else if (f.getType() == Boolean.class || f.getType() == boolean.class) {
boolean b = resultSet.getBoolean(f.getName());
f.set(o, b);
boolean v = resultSet.getBoolean(f.getName());
f.set(o, v);
} else if (f.getType() == Byte.class || f.getType() == byte.class) {
byte v = resultSet.getByte(f.getName());
f.set(o, v);
} else if (f.getType() == Short.class || f.getType() == short.class) {
short v = resultSet.getShort(f.getName());
f.set(o, v);
} else if (f.getType() == Character.class || f.getType() == char.class) {
short v = resultSet.getShort(f.getName());
f.set(o, (char)v);
} else if (f.getType() == Integer.class || f.getType() == int.class) {
int v = resultSet.getInt(f.getName());
f.set(o, v);
} else if (f.getType() == Long.class || f.getType() == long.class) {
long v = resultSet.getLong(f.getName());
f.set(o, v);
} else if (f.getType() == Float.class || f.getType() == float.class) {
float v = resultSet.getFloat(f.getName());
f.set(o, v);
} else if (f.getType() == Double.class || f.getType() == double.class) {
double v = resultSet.getDouble(f.getName());
f.set(o, v);
} else if (f.getType() == Byte[].class || f.getType() == byte[].class) {
byte[] v = resultSet.getBytes(f.getName());
f.set(o, v);
} else {
String string = resultSet.getString(f.getName());
f.set(o, string);

@ -0,0 +1,107 @@
package xyz.wbsite.wsqlite.entity;
import xyz.wbsite.wsqlite.anonation.TableField;
public class Example {
@TableField(40)
private String s;
@TableField
private boolean b;
@TableField
private byte[] bs;
@TableField
private byte b1;
@TableField
private short s1;
@TableField
private char c1;
@TableField
private int age;
@TableField
private long id;
@TableField
private float f1;
@TableField
private double d1;
public String getS() {
return s;
}
public void setS(String s) {
this.s = s;
}
public boolean isB() {
return b;
}
public void setB(boolean b) {
this.b = b;
}
public byte[] getBs() {
return bs;
}
public void setBs(byte[] bs) {
this.bs = bs;
}
public byte getB1() {
return b1;
}
public void setB1(byte b1) {
this.b1 = b1;
}
public short getS1() {
return s1;
}
public void setS1(short s1) {
this.s1 = s1;
}
public char getC1() {
return c1;
}
public void setC1(char c1) {
this.c1 = c1;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
public float getF1() {
return f1;
}
public void setF1(float f1) {
this.f1 = f1;
}
public double getD1() {
return d1;
}
public void setD1(double d1) {
this.d1 = d1;
}
}

@ -1,37 +0,0 @@
package xyz.wbsite.wsqlite.entity;
import xyz.wbsite.wsqlite.anonation.TableField;
public class User {
@TableField(40)
private String name;
@TableField(40)
private String password;
@TableField
private boolean valid;
public boolean isValid() {
return valid;
}
public void setValid(boolean valid) {
this.valid = valid;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}

@ -1,5 +1,5 @@
import xyz.wbsite.wsqlite.ObjectClient;
import xyz.wbsite.wsqlite.entity.User;
import xyz.wbsite.wsqlite.entity.Example;
import java.io.File;
import java.sql.*;
@ -10,27 +10,44 @@ public class WsqliteTest {
public static void main(String[] args) {
try {
List<Class> arrayList = new ArrayList();
arrayList.add(User.class);
ObjectClient h = new ObjectClient(new File("D:\\test.db"),arrayList);
arrayList.add(Example.class);
ObjectClient h = new ObjectClient(new File("D:\\test.db"), arrayList);
System.out.println("测试 insert");
User user = new User();
user.setName("wangbing");
user.setPassword("test");
h.insert(User.class, user);
Example example = new Example();
example.setS("wangbing");
example.setB(false);
example.setBs(null);
example.setB1((byte) 1);
example.setS1((short) 1);
example.setC1((char) 1);
example.setAge(1);
example.setId(1L);
example.setF1(0.1f);
example.setD1(0.1);
h.insert(Example.class, example);
System.out.println("测试 select");
List<User> select = h.select(User.class,1,10);
List<Example> select = h.select(Example.class, 1, 10);
System.out.println(select.size());
System.out.println("测试 update");
user.setName("==");
user.setPassword("==");
int update = h.update(User.class, user);
example.setS("wangbing");
example.setB(false);
example.setBs(null);
example.setB1((byte) 1);
example.setS1((short) 1);
example.setC1((char) 1);
example.setAge(1);
example.setId(1L);
example.setF1(0.1f);
example.setD1(0.1);
int update = h.update(Example.class, example);
System.out.println(update);
System.out.println("测试 delete");
int delete = h.delete(User.class,"NAME = '=='");
int delete = h.delete(Example.class, "s = 'wangbing'");
System.out.println(delete);
} catch (ClassNotFoundException e) {

Loading…
Cancel
Save

Powered by TurnKey Linux.