Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/master'
Browse files Browse the repository at this point in the history
  • Loading branch information
Ellen2018 committed Dec 30, 2020
2 parents 3316e0a + 29f8a7b commit 984c059
Show file tree
Hide file tree
Showing 3 changed files with 66 additions and 6 deletions.
12 changes: 6 additions & 6 deletions AutoDesignOperate.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@

# 1.简介

  因为笔者考虑掉导入此框架后代码简洁优雅性问题,所以加入了一个动态代理的机制,这个接口一方面为了让代码更加简洁,另一方面让您的数据库操纵业务化,那么怎样业务化呢?就是笔者提供了一系列注解,帮您完成很多数据库表增删改查乃至更多的操作问题,而且代码写起来非常简洁。
  因为笔者考虑到导入此框架后代码简洁优雅性问题,所以加入了一个动态代理的机制,这个接口一方面为了让代码更加简洁,另一方面让您的数据库操纵业务化,那么怎样业务化呢?就是笔者提供了一系列注解,帮您完成很多数据库表增删改查乃至更多的操作问题,而且代码写起来非常简洁。

# api介绍

Expand Down Expand Up @@ -113,13 +113,13 @@

  从名字上来看它就是用来更新数据的,它规定的返回值为null(笔者后期可以改成int类型来记录您修改的数据个数,后面版本再修改吧),代码示例:

@TotalUpdateSql("UPDATE Student SET my_name = '@newName' WHERE my_name = '@oldName';")
void update(@Value("newName") String newName,@Value("oldName") String oldName);
@Update(valueSql = "name = '@newName'", whereSql = "sid = @sid")
void updateStudentNameById(@Value("sid") int sid, @Value("newName") String newName);

调用时:

//相当于执行了:UPDATE Student SET my_name = 'Ellen2020' WHERE my_name = 'Ellen2018';
myAutoDesignOperate.update("Ellen2020","Ellen2018");
//相当于执行了:UPDATE Student SET name = 'Ellen2020' WHERE sid = 3;
myAutoDesignOperate.updateStudentNameById(3,"Ellen2020");

- @Delete

Expand Down Expand Up @@ -156,4 +156,4 @@

- @Value

  这个注解的作用就不用笔者解释了吧,看懂上面就知道了它的用法。
  这个注解的作用就不用笔者解释了吧,看懂上面就知道了它的用法。
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@

[![](https://jitpack.io/v/Ellen2018/DhcSQLite.svg)](https://jitpack.io/#Ellen2018/DhcSQLite)

**当前最新版本:1.1.26**

  首先你需要在项目的build.gradle中配置以下代码:

allprojects {
Expand Down
58 changes: 58 additions & 0 deletions ZxyTable.md
Original file line number Diff line number Diff line change
Expand Up @@ -415,6 +415,64 @@ Father类:
}
return null;
}
# 2.2的补充

**以上关于ZxyTable的Api文档适用于1.1.24及其以下版本**

public class NewStudentTable extends ZxyTable<Student,MyAutoDesignOperate> {

private SQLiteDatabase db;

public NewStudentTable(SQLiteDatabase db, String tableName) {
super(db, tableName);
}

public NewStudentTable(SQLiteDatabase db) {
super(db);
}

public NewStudentTable(ZxyLibrary zxyLibrary, String tableName) {
super(zxyLibrary, tableName);
}

public NewStudentTable(ZxyLibrary zxyLibrary) {
super(zxyLibrary);
}


@Override
protected Object resumeDataStructure(String classFieldName, Class fieldClass, String json) {
if(classFieldName.equals("fathers")){
Type founderSetType = new TypeToken<Father[]>() {}.getType();
Father[] fathers = new Gson().fromJson(json, founderSetType);
return fathers;

}
return null;
}

/**
* 库内部公共设置
*
* @param commonSetting
*/
@Override
protected void setting(CommonSetting commonSetting) {
super.setting(commonSetting);
//是否设置为多线程模式
//true:设置为多线程模式,false:设置为非多线程模式
commonSetting.setMultiThreadSafety(true);
//设置库内部的Json解析器为Gson
commonSetting.setJsonLibraryType(JsonLibraryType.Gson);
//设置库内部的Json解析器为FastJson
commonSetting.setJsonLibraryType(JsonLibraryType.FastJson);
//设置库内部的Json解析为自定义的MyJsonFormat
commonSetting.setJxFormat(new MyJxFormat());
}
}

Api改动的区别是:把getJsonLibraryType() & getJsonFormat()等这两个方法合并到setting(CommonSetting commonSetting)方法中了,通过CommonSetting 可以设置数据库能否应对多线程环境,已经它的内部解析器,可以指定自定义的,也可以指定Json或者是FastJson。


# 3.详细操作
Expand Down

0 comments on commit 984c059

Please sign in to comment.