数据库模块大致包含的模块如下:
数据库模块Bean
这个模块对应的jar包是 com.angroid.bean
, 这个包主要的作用是统一规范框架中对类的操作例如:
public interface Bean {
/**
* 是否包含关键字
* @param name
* @return
*/
public boolean contains(String name);
/**
* 获取关键字对应的值
* @param name
* @return
*/
public Object get(String name);
/**
* 设置关键字对应的值
* @param name
* @param value
*/
public void set(String name, Object value);
/**
* 设置对象中对应key的值
* @param object
* @param name
*/
public void setAll(Object object, String ... name);
/**
* 获取关键字的集合
* @return
*/
public Set<String> keySet();
/**
* 获取自身的值
* @return
*/
public Object get();
public Map toMap();
}
所有实现该Bean接口的,都能提供 get
、 set
等等方法。这样做的好处在于统一了获取,设置的接口。
db
db模块位于com.angroid.db
的jar包中,他主要完成下列工作
- 数据库配置、连接、打开、释放
- sql查询(Orlace or Mysql)
- sql语句分析
- 将查询结果封装成便于程序员操作的数据类型(Map之类)
jar包结构如下:
│ BeanPersistence.java
│ ColumnMetaData.java -- 映射数据库表中每个字段到类的属性
│ DataSource.java --负责数据库的初始化、配置以及打开
│ MetaData.java -- 元数据,记录数据库表的列属性
│ NQL.java
│ ObjectPersistence.java
│ SQL.java
│ SQLExecutor.java --负责执行sql查询语句并且封装好查询结果
│ SQLExecutor2.java
│ SQLMetaData.java
│ SQLParser.java --解析sql语句
│ SQLRunnable.java
│ SQLText.java
│ TableMetaData.java -- 元数据,记录数据库表的各种属性
dojo
dojo模块位于 com.angroid.dojo
模块,它主要完成的是对查询的拼接。例如:
//数据库中有一张表: danmaku,含有字段 id(int),content(varchar)
//单一结果查询
Danmaku danmaku = new Danmaku().idEqual(45).contentEqual("123").get();
其中 dojo就是负责将 Danmaku().idEqual(45).contentEqual("123").get();
转化为sql语句中 select * from danmaku where id=45 and content="123"
并且调用 db模块的sql查询。
Autogenerate
Autogenerate 是框架的一个工具包,位于com.angroid.autogenerate
,负责创建目标数据库中表到java类的映射,并且封装好了一些常用的查询
网友评论