快速操作数据层框架:FastQuery
创始人
2025-01-29 02:11:45
0次

FastQuery 快速操作数据层框架

FastQuery 基于Java语言.他的使命是:简化Java操作数据层.做为一个开发者,仅仅只需要设计编写DAO接口即可,其内部采用ASM动态生成实现,执行快. 因此,代码简洁而优雅.从而,大幅度提升开发效率.

FastQuery 主要特性如下:

  1. 设计优雅,配置简单,简易上手.
  2. 采用ASM动态生成字节码,因此支持编译前预处理,可***限度减少运行期的错误.显著提升程序的强壮性.
  3. 支持安全查询,防止SQL注入.
  4. 支持与主流连接池框架集成,如集成c3p0,dbcp等等
  5. 支持 @Query 查询,使用 @Condition ,可实现动态 where 条件查询.
  6. 查询结果集支持JSON类型
  7. 支持AOP,注入拦截只需简单几个注解,如: @Before , @After

运行环境要求

jdk1.8+

配置文件

jdbc-config.xml

用来配置支持jdbc. 注意:如果采用连接池,该配置文件可以不要.

  1.  
  2.     
  3.          
  4.             
  5.         com.mysql.jdbc.Driver    
  6.         jdbc:mysql://192.168.1.1:3306/xk?user=xk&password=abc123 
  7.          
  8.  
  9.          
  10.             
  11.         com.mysql.jdbc.Driver   
  12.         dbname   
  13.         username   
  14.         userpasswd     
  15.         3306    
  16.         192.168.1.1  
  17.      
  18.  

c3p0-config.xml

支持c3p0配置,详情配置请参照c3p0官网的说明: http://www.mchange.com/projects/c3p0/ .

  1.  
  2.     
  3.          
  4.         
  5.         com.mysql.jdbc.Driver    
  6.         jdbc:mysql://192.168.1.1:3306/xk    
  7.         xk    
  8.         abc123    
  9.         50    
  10.         100    
  11.         50    
  12.         1000 
  13.         0    
  14.         5       
  15.            
  16.  

fastquery.json

配置数据源的作用范围 

  1. // @author xixifeng (fastquery@126.com)  
  2. // 配置必须遵循标准的json语法.  
  3. [  
  4.     // config目前支持的可选值有"jdbc","c3p0"  
  5.     {  
  6.         "config": "c3p0",            // 表示由c3p0负责提供数据源  
  7.         "dataSourceName": "xk-c3p0", // 数据源的名称  
  8.         "basePackages": [            // 该数据源的作用范围  
  9.             "org.fastquery.example.StudentDBService"  
  10.         ]  
  11.     },  
  12.  
  13.     /*  
  14.      再配置一个数据源作用域  
  15.     */  
  16.     {  
  17.         "config" : "jdbc",            // 表示由jdbc驱动负责提供数据源  
  18.         "dataSourceName": "shtest_db",  
  19.         "basePackages": [ // 该数据源的作用范围  
  20.             "org.fastquery.example.DataAcquireDbService"  
  21.         ]  
  22.     }  
  23. ] 

一个完整的入门例子

  • 准备一个实体 
  1. public class Student  
  2. {  
  3.   private String no;  
  4.   private String name;  
  5.   private String sex;  
  6.   private Integer age;  
  7.   private String dept;  
  8.   // getter /setter 省略...  
  9. } 
  • DAO接口
  1. public interface StudentDBService extends QueryRepository {  
  2. @Query("select * from student")  
  3. JSONArray findAll();  
  4. @Query("select * from student")  
  5. Student[] find();        
  6. } 
  • 使用DAO接口. 
  1. StudentDBService studentDBService = FQuery.getRepository(StudentDBService.class);  
  2. JSONArray jsonArray = studentDBService.findAll();  
  3. Student[] students = studentDBService.find(); 

 

相关内容

热门资讯

PHP新手之PHP入门 PHP是一种易于学习和使用的服务器端脚本语言。只需要很少的编程知识你就能使用PHP建立一个真正交互的...
网络中立的未来 网络中立性是什... 《牛津词典》中对“网络中立”的解释是“电信运营商应秉持的一种原则,即不考虑来源地提供所有内容和应用的...
各种千兆交换机的数据接口类型详... 千兆交换机有很多值得学习的地方,这里我们主要介绍各种千兆交换机的数据接口类型,作为局域网的主要连接设...
粉嫩如何诠释霸道 东芝M805... “霸道粉”是个什么玩意东芝M805拿过来的时候,笔者扑哧笑了,不是笑这款笔记本,而是笑这款产品的颜色...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
什么是大数据安全 什么是大数据... 在《为什么需要大数据安全分析》一文中,我们已经阐述了一个重要观点,即:安全要素信息呈现出大数据的特征...
全面诠释网络负载均衡 负载均衡的出现大大缓解了服务器的压力,更是有效的利用了资源,提高了效率。那么我们现在来说一下网络负载...
如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
只需三步,让你掌握阿尔法路由器... 请参照以下阿尔法路由器设置方法,通过浏览器进入及设置宽带路由器。经过这三个步骤的设置,基本上能够熟悉...
30分钟搞定iOS自定义相机 最近公司的项目中用到了相机,由于不用系统的相机,UI给的相机切图,必须自定义才可以。就花时间简单研究...