happyjdbc
项目地址:https://github.com/yuancihang/happyjdbc
简化jdbc操作,提供更现代化的api, 支持分库分表
public class DataExample { public static void main(String[] args) throws SQLException { DataAccess.getInstance().addDataSource("local", buildDataSource()); sampleShare(); } private static DataSource buildDataSource() throws SQLException{ return new DataSourceBuilder() .setDbName("my") .setHost("localhost") .setPort(3306) .setUsername("root") .setPassword("123456") .build(); } public static void sampleUniq() throws SQLException{ int result = DataAccess.getInstance() .execute(new OpUniq<Integer>("local", "select c2 from t1 where c1=?", null, 1){}) .uniqResult(); System.err.println(result); T1 t1 = DataAccess.getInstance() .execute(new OpUniq<T1>("local", "select * from t1 where c1=?", null, 1){}) .uniqResult(); System.err.println(t1); Map<String, Object> map = DataAccess.getInstance() .execute(new OpUniq<Map<String, Object>>("local", "select * from t1 where c1=?", null, 1){}) .uniqResult(); for(String name : map.keySet()){ System.err.println(name + "=" + map.get(name)); } } public static void sampleList() throws SQLException{ List<Integer> result = DataAccess.getInstance() .execute(new OpList<Integer>("local", "select c2 from t1", null){}) .listResult(); System.err.println(result); List<T1> t1 = DataAccess.getInstance() .execute(new OpList<T1>("local", "select * from t1", null){}) .listResult(); System.err.println(t1); } public static void sampleUpdate() throws SQLException{ int result = DataAccess.getInstance() .execute(new OpUpdate("local", "update t1 set c2=? where c1=?", null, 3, 1)) .uniqResult(); System.err.println(result); long id = DataAccess.getInstance() .execute(new OpInsertReturnId("local", "insert into t1(c2,c3) value(?,?)", null, 10, 10)) .uniqResult(); System.err.println(id); } public static void sampleTransaction() throws SQLException{ // dbInstance必须一致 List<OpResult<?>> resultList = DataAccess.getInstance().executeTransaction(Arrays.asList( new OpUpdate("local", "update t1 set c2=? where c1=?", null, 4, 1), new OpUpdate("local", "update t1 set c2=? where c1=?", null, 6, 3) )); for(OpResult<?> opResult : resultList){ System.err.println(opResult.uniqResult()); } } public static void sampleShare() throws SQLException{ // table : user_0 ~ user_31 // field: id, name DbShare.getInstance().addRule("user", "'user_'+(shareParam % 32)"); int result = DataAccess.getInstance() .execute(new OpUpdate("local", "update user set name=? where id=?", 32, "zhang", 32)) .uniqResult(); System.err.println(result); } public static class T1{ private long c1; private int c2; private int c3; public long getC1() { return c1; } public void setC1(long c1) { this.c1 = c1; } public int getC2() { return c2; } public void setC2(int c2) { this.c2 = c2; } public int getC3() { return c3; } public void setC3(int c3) { this.c3 = c3; } @Override public String toString(){ return c1+","+c2+","+c3; } } }
maven
<dependency> <groupId>com.github.yuancihang</groupId> <artifactId>happyjdbc</artifactId> <version>1.2</version> </dependency>
gradle
compile 'com.github.yuancihang:happyjdbc:1.2'
相关推荐
4. **实验性质项目**:开发者用于尝试新技术或新想法的小型项目。 ### 四、如何有效利用Unity开源项目 1. **评估项目质量**:在开始学习之前,先大致浏览项目,了解其结构和功能,判断是否符合自己的需求。 2. **...
看过awesome-go项目, 汇总了很多go开源项目。 但是awesome-go收集了太全了, 而且每个项目没有详细描述。 因此我自己根据go语言中文社区提供的资料,还有互联网企业架构设计中的常见组件分类, 共精心挑选了100多个...
基于VC++和MFC的一些优秀开源项目列表 包括7-Zip,eMule,FileZilla,MiKTeX,Nokia Composer等优秀项目,有兴趣的同行可以参考参考。
QT开源项目源码是软件开发领域中的宝贵资源,尤其对于想要深入理解图形用户界面(GUI)编程、跨平台应用开发以及C++编程实践的开发者来说,具有极高的学习价值。QT是一个广泛使用的开源框架,由Qt公司开发并维护,它...
项目概述:基于Python Flask的在线成绩发布学习平台是一个开源项目,...该项目旨在为广大用户提供一个便捷的在线学习环境,集中管理和发布学生的成绩信息,其开源性质允许并鼓励用户根据自身需求进行定制化修改和扩展。
蓝湖移动端辅助工具是一款专为开发者设计的开源项目,旨在简化移动端开发过程中控件属性的复制和粘贴操作。此工具的最新版本为v1.0.2,它能够极大地提高开发效率,尤其是在处理iOS和Android平台上的布局时。通过一键...
在Java的生态系统中,存在诸多著名的开源项目,这些项目各有特色,为Java开发人员提供了丰富的开发工具和应用架构。以下是对一些Java著名开源项目的详细介绍,它们分别在不同的开发领域中扮演着重要角色。 首先,...
原来的网上的开源项目很多都跑不起来,这个项目,经本人修改,经测试在android4.0系统上运行已经没问题,研究了下,发现对需要做视频通话的人来讲还是有很大帮助,特此贡献出来,供大家研究学习,压缩文件是在linux...
在 IT 领域,开源项目一直扮演着重要的角色,它们不仅推动了技术的发展,也为开发者提供了学习和实践的平台。对于游戏爱好者来说,GitHub 上有许多有趣的开源游戏项目,能够让我们深入了解游戏开发的过程,甚至参与...
Android 开源项目 Demo 本工程主要用于 Android 优秀开源项目实现原理解析 的 Demo 代码托管 添加规范 各项目需要新建一个属于自己的文件夹,用于后续上传该开源库使用示例工程代码 该文件夹以开源库名-demo命名,...
PC远程登录手机 登录之后,必然涉及到按键的模拟等操作。 三个开源的软件一个是SmartDog Studio的Remote Control Add-on 另一个是Webkey 最后一个是Android自带monkey
OpenTSN4.0开源项目的新特性:(1)交换平面深度解耦,硬件代码由TSS(时间敏感交换),TSE(时间敏感端),HCP(硬件控制点)和OEM(Opensync MAC)实现。(2)集成了TSN硬件测试工具流量规划生成器TSNBuilder、TSN...
【人人开源项目】是一个基于Java技术栈的权限管理系统,它主要使用了SSM(Spring、SpringMVC、MyBatis)框架,这是一个经典的后端开发技术组合,广泛应用于企业级应用开发。该项目的设计目的是提供一个可参考的权限...
GitHub开源项目SlidingMenu的类库,导入之后可以直接使用 教程地址:http://blog.csdn.net/yangyu20121224/article/details/9255829
教你如何用Github找开源项目(保姆级教程)教你如何用Github找开源项目(保姆级教程)教你如何用Github找开源项目(保姆级教程)教你如何用Github找开源项目(保姆级教程)教你如何用Github找开源项目(保姆级教程)教你...
为知笔记开源项目程序源码,实现云笔记功能需要自己搭建服务器 为知笔记开源项目程序源码,实现云笔记功能需要自己搭建服务器 为知笔记开源项目程序源码,实现云笔记功能需要自己搭建服务器 为知笔记开源项目程序...
Java项目HTTPDNSLib开源源码Java项目HTTPDNSLib开源源码Java项目HTTPDNSLib开源源码Java项目HTTPDNSLib开源源码Java项目HTTPDNSLib开源源码Java项目HTTPDNSLib开源源码Java项目HTTPDNSLib开源源码Java项目HTTPDNSLib...
17届全国大学生智能汽车竞赛无线充电组开源项目 17届全国大学生智能汽车竞赛无线充电组开源项目 17届全国大学生智能汽车竞赛无线充电组开源项目 17届全国大学生智能汽车竞赛无线充电组开源项目 17届全国大学生智能...
panda开源项目,panda开源项目,panda开源项目
开源项目 开源项目 开源项目 开源项目 开源项目