dbutils

mybatis教程1【基本使用】

可紊 提交于 2019-12-04 21:42:40
什么是MyBatis? MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。 mybatis和hibernate的比较 mybatis hibernate 半自动ORM框架 全自动ORM框架 必须写sql 可以不写sql 事务处理 事务处理 缓存都支持 缓存都支持,二级缓存比mybatis更好 入门案例 创建maven工程,添加对应jar包 <dependencies> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.4.6</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.27</version> </dependency> </dependencies>

01-dbutils源码之AbstractQueryRunner

假如想象 提交于 2019-12-03 14:54:10
今天中午吃饭时,听了公司架构师的一些话,意思是这样的:每天花一点时间看开源项目的源码,一开始看不懂没关系,继续看,即使看懂了3行代码,也是一种收获。来北京之后,自己也有一段时间看过一些项目的源码,但是断断续续的,一个项目看一点,那个项目看一点,没有形成整体的思维。现在重新开始看和整理,能看懂多少,就记录多少吧。 第一次写阅读源码的笔记,先选了个较简单的dbutils。 先来介绍下dbutils,去了官网弄了些文字过来。红色的那句看懂了,就大概知道dbutils是干什么的了。搞IT,英文很重要的,所以我不翻译了。看不懂的,还是去学习下英文吧。 All right, let us get started ! ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- Commons DbUtils: JDBC Utility Component The Commons DbUtils library is a small set of classes designed to make working with

第二篇,整体架构dbutils dao篇

天大地大妈咪最大 提交于 2019-12-03 14:31:41
如果您喜欢sql而不是hql,或者不喜欢用hibernate,jroo提供了一个通过sql操作数据库的dao,可满足您对sql的喜爱。 jroo采用dbutils操作sql,sql语句可写在java类中或外部xml文件中,或在页面上sql语句,哪种方式都可满足您的喜爱。 在页面上写sql的方式,可见演示程序的“系统管理”>“sql/hql管理”菜单。 dbutils的dao接口BaseDbutilsDao中的方法有: public interface BaseDbutilsDao { /** * 执行insert/update/delete语句 * @param sql * @param params * @return * @throws Exception */ public int update(SqlBuilder sqlBuilder) throws Exception; /** * 外部sql,执行insert/update/delete语句 * @param queryName * @param paramMap * @return * @throws Exception */ public int update(String queryName,Map<String,?> paramMap) throws Exception; /** * 批量执行指定的SQL语句

小酒一杯品源码-DbUtils代码解读

老子叫甜甜 提交于 2019-12-03 08:49:56
ORM一直是Web开发一个热点话题,DbUtils则是给出了一个相当简洁的答案。DbUtils的嵌套也不深,而且主动的API调用也非常符合程序员的思维(Hibernate和iBatis这种隐藏了大多数细节的框架,连找到个入口都要费半天劲)。 话说最常用的CRUD,使用JDBC最痛的无非是将ResultSet转换为JavaBean。DbUtils则是正好命中这个要害,使用 ResultSetHandler 机制来解决这个问题。 之前用过Spring JDBC Template,差不多也是这个机制。 DbUtils 的亮点则是 BeanHandler ,可以无需手写转换函数,自动根据class生成一个handler。 BeanProcessor 的核心代码做了几件事: 提取Bean的字段信息,结果集的字段信息,并作映射; 对Bean的字段做类型转换 字段映射的代码: protected int[] mapColumnsToProperties(ResultSetMetaData rsmd, PropertyDescriptor[] props) throws SQLException { int cols = rsmd.getColumnCount(); int[] columnToProperty = new int[cols + 1]; Arrays.fill

xUtils 源码解析

廉价感情. 提交于 2019-12-03 00:33:29
1. 功能介绍 xUtils 一个 Android 公共库框架,主要包括四个部分:View,Db, Http, Bitmap 四个模块。 View 模块主要的功能是通过注解绑定 UI,资源,事件。 Db 模块是一个数据库 orm 框架, 简单的语句就能进行数据的操作。 Http 模块主要访问网络,支持同步,异步方式的请求,支持文件的下载。 Bitmap 模块是加载图片以及图片的处理, 支持加载本地,网络图片。而且支持图片的内存和本地缓存。 2. 详细设计 2.1 View 模块 2.1.1 总体设计 流程和关系较少, 请看下面的详细分析 2.1.2 流程图 2.1.3 核心类功能介绍 请先了解 注解 , 动态代理 可以帮助到您, 如果已经了解请忽略。 注解和反射知识是这个模块的主要内容 1.ViewUtils.java View 和各种事件的注入以及资源的注入。 (1)主要函数 private static void injectObject(Object handler, ViewFinder finder) 第一个参数 Object handler 代表的是需要注入的对象, 第二个参数是需要注入 View(这个 View 就是 handler 的成员变量)所在的 View 或者 Activity 的包装对象。 该方法完成了 View 和各种事件的注入以及资源的注入

common-dbutils用法总结

匿名 (未验证) 提交于 2019-12-03 00:15:02
DBUtils 1. DBUtils简介 DBUtils是Apache Commons组件中的一员,开源免费! DBUtils是对JDBC的简单封装,但是它还是被很多公司使用! DBUtils的Jar包:dbutils.jar 2. DBUtils主要类 DbUtils:都是静态方法,一系列的 close() 方法; QueryRunner: update() :执行insert、update、delete; query() :执行select语句; batch() :执行批处理。 3. QueryRunner之更新 QueryRunner的 update() 方法可以用来执行insert、update、delete语句。 创建QueryRunner 构造器: QueryRunner() update()方法 int update(Connection con, String sql, Object… params) public void fun1 ( ) throws SQLException { QueryRunner qr = new QueryRunner ( ) ; String sql = "insert into user values(?,?,?)" ; qr . update ( JdbcUtils . getConnection ( ) , sql , "u1

spring boot创建mvc项目demo

匿名 (未验证) 提交于 2019-12-02 23:57:01
1、创建spring boot工程   file-new-project 选择spring Initializr模板-填写项目名称-选择spring web starter-选择工程路径-finish   在src/main/下创建webapp文件夹 <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> </dependency> <dependency> <groupId>org.apache.tomcat.embed</groupId> <artifactId>tomcat-embed-jasper</artifactId> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency> <dependency> <groupId>commons-dbutils</groupId> <artifactId>commons-dbutils</artifactId> <version>1.7</version> </dependency> 3、配置application.properties spring.mvc.view

DBUtils框架的使用(下)

匿名 (未验证) 提交于 2019-12-02 23:55:01
刚才讲了使用QueryRunner插入、修改、更新数据,现在来学习一下使用QueryRunner进行数据库表查询。 通过QueryRunner类的query()方法即可完成数据库表的查询操作,但是在查询的时候需要实现ResultSetHandler接口来将结果集封装成对象。可以通过自己实现接口,但很显然,我们应该使用DBUtils工具包提供的实现类来实现封装。 在DBUtils框架中,共提供了九个ResultSetHandler的实现类。 ArrayHandler:把结果集中的第一行数据转成对象数组。 ArrayListHandler:把结果集中的每一行数据都转成一个对象数组,再存放到List中。 BeanHandler:将结果集中的第一行数据封装到一个对应的JavaBean实例中。 BeanListHandler:将结果集中的每一行数据都封装到一个对应的JavaBean实例中,存放到List里。 ColumnListHandler:将结果集中某一列的数据存放到List中。 MapHandler:将结果集中的第一行数据封装到一个Map里,key是列名,value就是对应的值。 MapListHandler:将结果集中的每一行数据都封装到一个Map里,然后再存放到List KeyedHandler(name):将结果集中的每一行数据都封装到一个Map里(List )

##DBUtils工具类的正确使用(一)

匿名 (未验证) 提交于 2019-12-02 23:42:01
DBUtils工具类(一) 2.1 概述 DBUtils 是java中数据库操作的使用工具 DBUtils封装了JDBC操作 简化了JDBC操作 可以少些代码 QueryRunner 中提供了sql语句操作的API CREATE TABLE product( pid INT PRIMARY KEY AUTO_INCREMENT, pname VARCHAR(20), price INT, category_cid VARCHAR(20) ); INSERT INTO product(pname,price,category_cid)VALUES('华为',4999,'soo1'), ('小米',1234,'soo1'), ('劲霸男装',120,'soo2'), ('红蜻蜓',300,'soo2'), ('香奈儿',800,'soo3'), ('大宝',10,'soo3'), ('果冻',20,'soo4'), ('饼干',3,'soo4'); SELECT*FROM product; update(String sql, Object ...prams) DML增删改 2.5 apache公司的commons组件 ---》jdbc6部---》3步(jdbc) QueryRunner 中提供了sql语句操作的API 增删 改查 update query

DBUtils框架的使用(上)

匿名 (未验证) 提交于 2019-12-02 21:52:03
昨天做了这么多的铺垫,当然就是为了引出今天的DBUtils框架了,它的实现原理跟我们编写的简易框架是类似的。 话不多说,进入正题。 commons-dbutils 是 Apache 组织提供的一个开源 JDBC工具类库,它是对JDBC的简单封装,学习成本极低,并且使用dbutils能极大简化jdbc编码的工作量,同时也不会影响程序的性能。因此dbutils成为很多不喜欢hibernate的公司的首选。 jar包下载地址:链接:https://pan.baidu.com/s/1BKtq_VoBw52qyIJr6c_CZg 提取码:skrf 复制这段内容后打开百度网盘手机App,操作更方便哦 API介绍: org.apache.commons.dbutils.QueryRunner --- 核心操作类 org.apache.commons.dbutils.ResultSetHandler org.apache.commons.dbutils.DbUtils --- 工具类 QueryRunner 类简单化了SQL查询,它与ResultSetHandler组合在一起使用可以完成大部分的数据库操作,能够大大减少编码量。 QueryRunner类提供了两个构造方法: 默认的构造方法 需要一个 javax.sql.DataSource 来作参数的构造方法。