wangbing 5 years ago
parent cf84d78ef0
commit d8e41e4139

@ -5,7 +5,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>xyz.wbsite</groupId>
<artifactId>wbsqlite</artifactId>
<artifactId>wsqlite</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>

@ -1,8 +1,10 @@
package xyz.wbsite.wsqlite;
import java.io.File;
import java.sql.*;
/**
* Client
* xyz.wbsite.wsqlite.Client
*
* @author wangbing
*/

@ -1,5 +1,6 @@
import anonation.Varchar;
package xyz.wbsite.wsqlite;
import xyz.wbsite.wsqlite.anonation.TableField;
import java.io.File;
import java.lang.reflect.Field;
import java.sql.SQLException;
@ -9,7 +10,7 @@ import java.util.List;
import java.util.Map;
/**
* Client
* xyz.wbsite.wsqlite.Client
*
* @author wangbing
*/
@ -41,11 +42,17 @@ public class ObjectClient extends Client {
Field[] fields = object.getDeclaredFields();
for (Field f : fields) {
if (f.isAnnotationPresent(Varchar.class)) {
Varchar bind = f.getAnnotation(Varchar.class);
if (f.isAnnotationPresent(TableField.class)) {
TableField bind = f.getAnnotation(TableField.class);
int length = bind.value();
if (f.getType() == String.class) {
sql.append(f.getName().toUpperCase());
sql.append(" VARCHAR(" + length + "),");
} else if (f.getType() == Boolean.class || f.getType() == boolean.class) {
sql.append(f.getName().toUpperCase());
sql.append(" BOOLEAN,");
}
}
}
@ -79,10 +86,14 @@ public class ObjectClient extends Client {
fieldsSql.append(f.getName().toUpperCase());
Object value = f.get(po);
if (value instanceof String) {
if (f.getType() == String.class) {
valueSql.append("'");
valueSql.append(value);
valueSql.append("'");
} else if (f.getType() == Boolean.class || f.getType() == boolean.class) {
valueSql.append("'");
valueSql.append(String.valueOf(value));
valueSql.append("'");
} else {
valueSql.append(value);
}
@ -153,10 +164,14 @@ public class ObjectClient extends Client {
sql.append(" = ");
Object value = f.get(po);
if (value instanceof String) {
if (f.getType() == String.class) {
sql.append("'");
sql.append(value);
sql.append("'");
} else if (f.getType() == Boolean.class || f.getType() == boolean.class) {
sql.append("'");
sql.append(String.valueOf(value));
sql.append("'");
} else {
sql.append(value);
}
@ -254,9 +269,18 @@ public class ObjectClient extends Client {
for (int i = 0; i < fs.size(); i++) {
Field f = fs.get(i);
f.setAccessible(true);
if (f.getType() == String.class) {
String string = resultSet.getString(f.getName());
f.set(o, string);
} else if (f.getType() == Boolean.class || f.getType() == boolean.class) {
boolean b = resultSet.getBoolean(f.getName());
f.set(o, b);
} else {
String string = resultSet.getString(f.getName());
f.set(o, string);
}
}
rsList.add(o);
} catch (InstantiationException e) {
e.printStackTrace();
@ -273,7 +297,7 @@ public class ObjectClient extends Client {
private List<Field> getFields(Class aClass) {
List<Field> fs = new ArrayList<>();
for (Field f : aClass.getDeclaredFields()) {
if (f.isAnnotationPresent(Varchar.class)) {
if (f.isAnnotationPresent(TableField.class)) {
fs.add(f);
}
}

@ -1,4 +1,4 @@
package anonation;
package xyz.wbsite.wsqlite.anonation;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
@ -7,7 +7,7 @@ import java.lang.annotation.Target;
@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
public @interface Varchar {
public @interface TableField {
int value() default 20;
}

@ -1,13 +1,23 @@
package entity;
package xyz.wbsite.wsqlite.entity;
import anonation.Varchar;
import xyz.wbsite.wsqlite.anonation.TableField;
public class User {
@Varchar(40)
@TableField(40)
private String name;
@Varchar(40)
@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;

@ -1,11 +1,12 @@
import entity.User;
import xyz.wbsite.wsqlite.ObjectClient;
import xyz.wbsite.wsqlite.entity.User;
import java.io.File;
import java.sql.*;
import java.util.ArrayList;
import java.util.List;
public class SqliteTest {
public class WsqliteTest {
public static void main(String[] args) {
try {
List<Class> arrayList = new ArrayList();
Loading…
Cancel
Save

Powered by TurnKey Linux.