DB层代码全自动生成!带1、2级缓存策略。支持数据库sqlserver/mysql/db2/Oracle
*2级采用redis进行缓存
*对象序列化采用的fastjson
*数据库操作采用的DBUtil
已完成功能
* 生成器 insert、update、delete、select
* DAO中有根据数据库设计时索引的大部分部查询方法
* BEAN中有根据数据库设计时主外键的关联查询
* 聚集索引分页查询Mysql已经添加(DAO中)
* 中文数据库支持
* 所有的SQL方法操作都有重载方法,便于更好的适应系统需求
* 带有自定义表的SQL方法的初衷是操作日志库的
后面任务安排
#支持联合主键
#支持异步
#支持批处理
#添加一级缓存
#集成2级缓存(redis)
工具方法的封装
SK_Map、SK_List、SK_Random、SK_Date等等
任务调度器的封装
*可以更有效、更直接的操作我们的定时任务
现在只实现了数据库层的生成,cache层正在努力开发中。。。
如果你有什么更好的想法请与我联系 QQ:695990439
本着一个最快速开发Java服务器的原则 后期还会封装网络层 封装基于Netty实现!
源代码 http://git.oschina.net/695990439/SandKing
支持打包成Jar生成!!!
1.[代码]DB代码生成
/**
* 生成代码
* SK_Config.getDataSource() 数据源
* new SK_Config() 一个数据源的配置
* "src/com/sandking/db" 生成源码的路径
* SK_Generate.getConfiguration() 一个选择模板的方式
*/
SK_Generate.run(SK_Config.getDataSource(), new SK_Config(),
"src/com/sandking/db", SK_Generate.getConfiguration());
2.[代码]任务调度器
public class MyTask extends JobTask{
public MyTask(Date runTime, Object obj, String groupName, String jobName) {
super(runTime, obj, groupName, jobName);
}
@Override
public void execution(JobTask jobTask) {
System.out.println("任务执行");
}
}
public static void main(String[] args) throws InterruptedException {
MyTask mytask = new MyTask(SK_Date.addMillisSecond(5000, new Date()),
null, "Group", "task1");
// 添加一个任务
TaskManager.addJob(mytask);
// 删除一个任务
TaskManager.deleteJob("Group", "task1");
// 修改一个任务
TaskManager.updateJob("Group", "task1", SK_Date.addDay(1, new Date()));
}
3.[代码]更新操作
User user = UserImp.getById(1);
//需要更新的字段必须调用setXX2方法,否则update不会执行更新
//添加此方法的原因是因为在支持查询的时候DButils在转换对象调用了原有的set函数
user.setAge2(23);
UserDao.update(user);