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'
相关推荐
看过awesome-go项目, 汇总了很多go开源项目。 但是awesome-go收集了太全了, 而且每个项目没有详细描述。 因此我自己根据go语言中文社区提供的资料,还有互联网企业架构设计中的常见组件分类, 共精心挑选了100多个...
qt的开源项目源码qt的开源项目源码qt的开源项目源码qt的开源项目源码
。net开源项目。net开源项目。net开源项目。net开源项目。net开源项目。net开源项目。net开源项目
C#开源项目信息汇总
基于VC++和MFC的一些优秀开源项目列表 包括7-Zip,eMule,FileZilla,MiKTeX,Nokia Composer等优秀项目,有兴趣的同行可以参考参考。
本教程描述了Java领域最著名的开源项目
android开源项目.rarandroid开源项目.rarandroid开源项目.rarandroid开源项目.rarandroid开源项目.rarandroid开源项目.rar
分享6个国内优秀Java后台管理框架的开源项目,建议收藏!.docx分享6个国内优秀Java后台管理框架的开源项目,建议收藏!.docx分享6个国内优秀Java后台管理框架的开源项目,建议收藏!.docx分享6个国内优秀Java后台管理框架...
android开源项目源码,完整商城项目源码(服务端+客户端) 内附开发文档,以及商城效果图 ECServer_D为服务端,ECClient_D为客户端
目录 Qt官网下载/文档 Qt知名社区 Qt技术博客1 Qt开源框架 KDE/Qt Qt Github精品收藏1 -- IDE ...Qt sourceforge精品项目 Qt Git Client GUI Qt开发的大型开源软件 Qt开发环境搭建: Qt基础知识: C++学习书籍推荐:
20个Java开源项目源码打包下载,Java 是一种面向对象的编程语言,用于构建移动、桌面、Web 和嵌入式应用程序。
Android开源项目汇总 Android 开源项目软件apk Android 开源项目软件apk=============最全的自定义控件等等===========
自己收藏的几十个开源项目(28G设计资料),适用于毕业设计.docx自己收藏的几十个开源项目(28G设计资料),适用于毕业设计.docx自己收藏的几十个开源项目(28G设计资料),适用于毕业设计.docx自己收藏的几十个开源项目(28G...
百度云自取,里面有90几套项目开源资源,没有整理过。
常用阿里开源项目合集
Activiti7的开源项目,用于二次开发!
.Android开源项目分类汇总,汇总了大部分的开源项目,欢迎大家下载学习。
Java开源项目Hibernate包作用详解 Java开源项目Hibernate包作用详解 Java开源项目Hibernate包作用详解 Java开源项目Hibernate包作用详解Java开源项目Hibernate包作用详解
“流行的c++语言开源项目”中列举了当下比较流行的c++开源项目,想开源码提升自己的可以看看。