1 Star 0 Fork 53

framework-collection / rexdb

forked from rex / rexdb 
加入 Gitee
与超过 800 万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
CHANGRLOG.md 3.87 KB
一键复制 编辑 Web IDE 原始数据 按行查看 历史
aohanhongzhi 提交于 2020-02-24 23:12 . 自动建表的功能

ChangeLog

框架架构图

已知问题

  1. 模糊查询的时候,?作为参数标记 参考文件SqlUtil.java的62行,validate方法.
  2. 加上自动建表的功能
  3. null就不更新 ,update不需要拼接了,直接null不更新,更新就直接 'null'字符串
  4. 自增返回id, 好像这种方便也不是很有必要,反而会让框架更加繁琐。性能降低

2020/02/21

Change

  1. 框架核心 DBTemplate
  2. javassit字节码框架使用用来动态生成类的,java自带的reflect是使用生成的动态类.

2020/02/20

Change

反射与prepareStatement研究, 通过PropertyDescriptor反映射调用set和get方法

2019/12/16

Change

  • Java中的驼峰式命名与数据库中的分隔符,如果不按照下面这种方式,可能导致数据无法正常映射。

2019/12/15

Change

2019/11/25

ChangeLg

  • 自定义查询学习,raw语句查询 org.rex.db.sqlite.SqliteTest

2019/11/20

有感

确实不得不承认框架非常优秀,配置文件的加载方式值得学习,作为一个被人使用的框架,日志部分设计的也是良苦用心。

感叹之余,发信自己在代码中越陷越深,没有全局观。以至于像深陷泥潭而无法自拔。对于一个框架没有像自己了解SpringMVC那样清晰的概念,很难无法自拔之后很难读懂框架整个运行机制是什么。弄来弄去,把我自己看的越来越晕。发现自己在框架自造上路还很长。

sonarqube检查

一共9.1K行代码。代码快到1W了。还是有点多。

框架要求

  1. raw sql,例如查询数据库条数
  2. 查询insert之后的id,也就是增加并返回id。select last_insert_raw()
           public static int insert(AreaTemplateModel customerModel)  {
               // 插入之前需要做唯一性检查,保证唯一
               String sql = "INSERT or ignore INTO "+tableName+"(name, profile,area_template_id) VALUES (#{name}, #{profile},#{areaTemplateId})";
               int i = 0;
               int id=-1;
               try {
                   i = DB.update(sql, customerModel);
               } catch (DBException e) {
                   e.printStackTrace();
               }
       
               log.info("{}",customerModel);
               // 新增并返回id,下面这个语句不可以单独查询,否则结果一直是0
       //      https://blog.csdn.net/imxiangzi/article/details/81151797
               String sql1= "select last_insert_rowid() from "+tableName;
               sql1="select * from "+tableName+" where rowid = last_insert_rowid()";
       
               try {
       //            RMap<String, ?> i1 = DB.call(sql1);
                   List<RMap> list = DB.getMapList(sql1);
                   log.info("{}",list);
                   RMap<String,?> map= list.get(0);
                   id= (Integer) map.get("id");
               } catch (DBException e) {
                   e.printStackTrace();
               }
       
               log.info("影响行数:{}", i);
               // 影响行数
               return id;
           }
Java
1
https://gitee.com/framework-collection/rexdb.git
git@gitee.com:framework-collection/rexdb.git
framework-collection
rexdb
rexdb
dev

搜索帮助