package erlang
|
ok = esqlite3:exec("CREATE TABLE IF NOT EXISTS ${tableName} (
|
<#list columns as column>
|
${column.fieldName?right_pad(30)} TEXT,<#if column_has_next> <#else>${" "}</#if>
|
</#list>
|
PRIMARY KEY(id)
|
);", Db),
|
|
|
|
package com.basic.security.model;
|
|
import org.greenrobot.greendao.annotation.Entity;
|
import com.basic.security.model.ModelAdapter;
|
import java.util.ArrayList;
|
import java.util.List;
|
import org.greenrobot.greendao.annotation.Generated;
|
import org.greenrobot.greendao.annotation.Id;
|
import org.greenrobot.greendao.annotation.Property;
|
|
@Entity(nameInDb = "${tableName}")
|
public class ${className} extends BaseModel {
|
|
<#list columns as column>
|
// ${column.label}
|
<#if column.fieldName=="id">
|
@Id
|
<#else>
|
@Property(nameInDb = "${column.fieldName}")
|
</#if>
|
private String ${column.fieldName};
|
</#list>
|
|
public static ${className} from${className}Doc(MutableDocument ${className?uncap_first}Doc) {
|
if (${className?uncap_first}Doc != null) {
|
${className} ${className?uncap_first} = new ${className}();
|
try {
|
<#list columns as column>
|
${("${className?uncap_first}.${column.setterMethodName}(${className?uncap_first}Doc.getString(DocFieldNames.${column.columnName}));")?right_pad(100)} // ${(column_index+1)} ${column.label}
|
</#list>
|
} catch (Exception e) {
|
e.printStackTrace();
|
}
|
return ${className?uncap_first};
|
}
|
return null;
|
}
|
|
public static MutableDocument to${className}Doc(${className} ${className?uncap_first}) {
|
if (${className?uncap_first} != null) {
|
MutableDocument ${className?uncap_first}Doc = new MutableDocument();
|
try {
|
<#list columns as column>
|
${("${className?uncap_first}Doc.setString(DocFieldNames.${column.columnName}, ${className?uncap_first}.${column.getterMethodName}());")?right_pad(100)} // ${(column_index+1)} ${column.label}
|
</#list>
|
} catch (Exception e) {
|
e.printStackTrace();
|
}
|
return ${className?uncap_first}Doc;
|
}
|
return null;
|
}
|
|
<#list columns as column>
|
/**
|
* Get ${column.label}
|
<#list column.remarkLines as remarkLine>
|
* ${remarkLine}
|
</#list>
|
*/
|
<#if column.columnType == "BLOB" || column.columnType == "CLOB">
|
@Lob
|
</#if>
|
<#if column.isVersion>
|
@Version
|
</#if>
|
public String ${column.getterMethodName}() {
|
if (${column.fieldName} == null) {
|
return "";
|
}
|
return ${column.fieldName};
|
}
|
|
/**
|
* Set ${column.label}
|
<#list column.remarkLines as remarkLine>
|
* ${remarkLine}
|
</#list>
|
*/
|
public void ${column.setterMethodName}(String ${column.fieldName}) {
|
<#if column.fieldType=="String" && 1!=1>
|
this.${column.fieldName} = ${column.fieldName} == null ? null : ${column.fieldName}.trim();
|
<#else>
|
this.${column.fieldName} = ${column.fieldName};
|
</#if>
|
}
|
|
</#list>
|
|
public String toInsertSql() {
|
return "INSERT OR REPLACE INTO ${tableName} ("+
|
<#list columns as column>
|
"${("${column.fieldName}${column.comma}\"")?right_pad(60)}+<#if column_has_next> <#else>${" "}</#if>// ${(column_index+1)} ${column.label}
|
</#list>
|
") VALUES( "+
|
<#list columns as column>
|
${("\"'\"+${column.getterMethodName}()+\"'${column.comma}\"")?right_pad(60)}<#if column_has_next>+ <#else>${""}</#if>// ${(column_index+1)} ${column.label}
|
</#list>
|
+")";
|
}
|
|
public String toUpdateSql() {
|
return "UPDATE ${tableName} SET "+
|
<#list columns as column>
|
"${("${column.fieldName}='\"+${column.getterMethodName}()+\"'${column.comma}\"")?right_pad(60)}+<#if column_has_next> <#else>${" "}</#if>// ${(column_index+1)} ${column.label}
|
</#list>
|
" WHERE id='"+getId()+"'";
|
}
|
|
public String toDeleteSql(String ${tableName}Id) {
|
return "DELETE FROM ${tableName} "+
|
" WHERE id='"+${tableName}Id+"'";
|
}
|
|
public String toString() {
|
List<String> list = new ArrayList<>();
|
<#list columns as column>
|
String ${column.fieldName} = ${column.getterMethodName}();
|
if (${column.fieldName} != null && !"".equals(${column.fieldName}.trim())) {
|
list.add("${column.label}=" + ${column.fieldName});
|
}
|
</#list>
|
return list.toString();
|
}
|
|
public static final class FieldNames {
|
<#list columns as column>
|
/**
|
* ${column.label}
|
*/
|
public static final String ${column.fieldName} = "${column.fieldName}";
|
</#list>
|
}
|
|
public static final class DocFieldNames {
|
<#list columns as column>
|
/**
|
* ${column.label}
|
*/
|
public static final String ${column.columnName} = "${column.columnName}";
|
</#list>
|
}
|
}
|
|
|
|
package com.basic.security.manager.impl.sqlite;
|
|
import com.basic.security.model.${className};
|
import com.couchbase.lite.QueryBuilder;
|
|
import java.util.ArrayList;
|
import java.util.List;
|
|
public class Sl${className}Manager extends SlBaseManager {
|
|
public static List<${className}> find${className}List() {
|
List<${className}> ${className?uncap_first}List = new ArrayList<>();
|
try {
|
if (daoSession != null) {
|
org.greenrobot.greendao.query.QueryBuilder<${className}> queryBuilder = daoSession.queryBuilder(${className}.class);
|
if (queryBuilder != null) {
|
${className?uncap_first}List = queryBuilder.list();
|
}
|
}
|
} catch (Exception e) {
|
e.printStackTrace();
|
}
|
return ${className?uncap_first}List;
|
}
|
|
public static ${className} find${className}ById(String ${className?uncap_first}Id) {
|
try {
|
if (daoSession != null) {
|
return daoSession.load(${className}.class, ${className?uncap_first}Id);
|
}
|
} catch (Exception e) {
|
e.printStackTrace();
|
}
|
return null;
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
package com.basic.security.manager.impl.sqlite.test;
|
|
import org.junit.Before;
|
import org.junit.Test;
|
|
import com.basic.security.manager.erlang.ErBaseManger;
|
import com.basic.security.model.${className};
|
|
public class Er${className}ManagerTest extends ErBaseManger {
|
|
@Before
|
public void before() {
|
createOtpConnection();
|
}
|
|
@Test
|
public void save${className}() {
|
${className} ${className?uncap_first} = new ${className}();
|
${className?uncap_first}.setId("1");
|
saveInCluster(${className?uncap_first});
|
}
|
|
@Test
|
public void update${className}() {
|
${className} ${className?uncap_first} = new ${className}();
|
${className?uncap_first}.setId("1");
|
updateInCluster(${className?uncap_first});
|
}
|
|
@Test
|
public void delete${className}() {
|
deleteInCluster(${className}.class, "1");
|
}
|
|
}
|
|
|
|
|
|
|
package com.basic.security.manager.impl.sqlite.test;
|
|
import com.basic.security.manager.BaseManager;
|
import com.basic.security.manager.impl.sqlite.Sl${className}Manager;
|
|
import org.junit.Before;
|
import org.junit.Test;
|
|
import org.junit.runner.RunWith;
|
import org.robolectric.RobolectricTestRunner;
|
import org.robolectric.annotation.Config;
|
|
@RunWith(RobolectricTestRunner.class)
|
@Config(manifest= Config.NONE)
|
public class Sl${className}ManagerTest extends SlBaseManager {
|
|
@Before
|
public void before() {
|
initDaoSessionForTest();
|
}
|
|
@Test
|
public void find${className}List() {
|
System.out.println("find${className}List="+ Sl${className}Manager.find${className}List());
|
}
|
|
@Test
|
public void find${className}ById() {
|
System.out.println("find${className}List="+Sl${className}Manager.find${className}ById("1"));
|
}
|
|
}
|
|
|
|
|
package end
|