数据库
文章平均质量分 75
openBlog
openBlog
展开
-
HQL中左连接,右连接,内连接
左连接:left join 如A left join B 即取出A表的所有数据,由on条件关联的B表数据,有则显示,没有则为空;右连接:right join如 A right join B 即取出B表的所有数据,由on条件关联的A表数据,有则显示,没有则为空;所以:A left join B 与 B right join A 是一样的效果内连接:inne原创 2014-01-21 11:54:08 · 600 阅读 · 0 评论 -
扩展commons dbutils的JavaBean转换方式
引言:最近又用到dbutils,之前一直用Map映射的方式取出select的结果再手工做转换。有写过一篇文章说MapHandler方式的一个缺陷:关于commons dbutils组件的一个小缺陷分析 ,用这种方式,在项目不大的情况下,写一些Map到JavaBean的转换代码工作量不大,但是在数据库表过多并且表中的字段过多的情况下,这种重复的setter感觉有点烦。于是又重新思考了BeanHand转载 2014-03-30 23:02:54 · 1347 阅读 · 0 评论 -
Commons DbUtis源码阅读四
在读BasicRowProcessor类时,它有两个方法(toBean和toBeanList)都将最终的处理工作交给了BeanProcessor,所以,今天来拜读一下此类, 在读此类的时候,决定换个方式,就一个方法慢慢的展开分析,这样或许也会更有趣味和吸引力吧: Java代码 public T toBean(ResultSet rs, Class type) thr转载 2014-03-31 00:56:02 · 529 阅读 · 0 评论 -
Commons DbUtils源码阅读三
继续我们的DbUtils组件的阅读研究吧。 RowProcessor的实现子类:BasicRowProcessor Java代码 /** * RowProcessor接口的实现类 */ public class BasicRowProcessor implements RowProcessor { /** * 默认转换器转载 2014-03-31 01:13:31 · 584 阅读 · 0 评论 -
Commons DbUtils源码阅读二
DbUtils组件的整个代码结构做了一个简单的疏导,现在来看看一些比较核心的接口: 1)RowProcessor Java代码 /** * RowProcessor的实现类将ResultSet转换为其它的各种对象. * 具体的实现细节可查看:BasicRowProcessor */ public interface RowProcessor转载 2014-03-31 02:10:50 · 515 阅读 · 0 评论 -
Commons DbUtils源码阅读一
想起读源码了! 主要是出于这几个方面的考虑: 1)提高自己的编码及代码阅读能力和水平; 2)学习大师们写代码所用到的设计模式以及思路。 选择阅读Dbutils主要有以下缘由: 1)开源中国社区http://www.oschina.net/ ,站长红薯大哥数据的提取就是用的这个开源项目,并且省了很多映射,有较大的编码灵活性; 2)项目不大,代码少,转载 2014-03-31 02:11:46 · 564 阅读 · 0 评论 -
Commons DbUtils QueryLoader查询Map缓存
QueryLoader类,是一个从一个文件加载查询到一个Map的简单的类。然后,当需要的时候,你从Map中选择一些查询。当然了,这个方法的实现是比较简单的。现看看文件载入的源代码: Java代码 /** * 载入一个查询命名和SQL值映射的Map集合. * 此Map被缓存以便以后相同路径的请求可以返回被缓存的Map * Loads a Map of query原创 2014-03-31 02:19:50 · 813 阅读 · 0 评论 -
Mysql外键操作
ALTER TABLE yourtablename ADD [CONSTRAINT 外键名] FOREIGN KEY [id] (index_col_name, ...) REFERENCES tbl_name (index_col_name, ...) [ON DELETE {CASCADE | SET NULL | NO ACTION | RESTRICT}]原创 2014-03-31 02:21:44 · 499 阅读 · 0 评论 -
一套Oracle SQL练习题及答案
create table student(sno varchar2(10) primary key,sname varchar2(20),sage number(2),ssex varchar2(5));create table teacher(tno varchar2(10) primary key,tname varchar2(20));create t原创 2014-04-08 22:50:30 · 890 阅读 · 0 评论 -
Commons DbUtils源码阅读五
关于DbUtils,我们深入剖析了对ResultSet解析处理的两个核心类:BeanProcessor和BasicRowProcessor,可以说,这两个类,是对ResultSet的解析有了一个完整的支持。虽然真正做解析工作的是这两个类,但用户对ResultSet的解析是通过接口ResultSetHandler的这个实现类来封装解决的。但要解析的是,我们也得通过SQL语句获取ResultSet对象转载 2014-03-31 00:22:19 · 657 阅读 · 0 评论 -
DBUtils – BeanProcessor扩展,支持自定义字段映射
ApacheCommos的DbUtils是一个简单好用的轻量级的数据库操作工具,该项目的主页是:http://commons.apache.org/dbutils/,关于它的信息可以从那里获取.在进行查询自动类映射的时候domain类的属性必须和数据库中名称一样,但是如果数据库的表名使用带下划线的设计,domain类中的属性也要使用下划线,看起来很不雅观,而且使用hibernate工具自动转载 2014-03-30 23:09:42 · 710 阅读 · 0 评论 -
MySQL外键约束方式
如果表A的主关键字是表B中的字段,则该字段称为表B的外键,表A称为主表,表B称为从表。外键是用来实现参照完整性的,不同的外键约束方式将可以使两张表紧密的结合起来,特别是修改或者删除的级联操作将使得日常的维护工作更加轻松。这里以MySQL为例,总结一下3种外键约束方式的区别和联系。 这里以用户表和用户组表为例,这是一个典型的多对一关系,多个用户对应于一个用户组。原创 2014-03-30 22:06:24 · 460 阅读 · 0 评论 -
mysql sql语句大全
1、说明:创建数据库CREATE DATABASE database-name2、说明:删除数据库drop database dbname3、说明:备份sql server--- 创建 备份数据的 deviceUSE masterEXEC sp_addumpdevice 'disk','testBack', 'c:\mssql7backup\MyNw原创 2014-01-14 19:03:48 · 558 阅读 · 0 评论 -
Jndi技术
jndi技术:public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 写 jndi的代码 Connection conn = null; PreparedStatement stmt = n原创 2014-03-06 19:54:55 · 588 阅读 · 0 评论 -
JDBC事务管理
JDBC事务管理package c.cn.itcast.transaction;import java.sql.Connection;import java.sql.SQLException;import java.sql.Savepoint;import java.sql.Statement;import org.junit.Test;import b.cn.itcast.ut原创 2014-03-06 20:41:07 · 730 阅读 · 0 评论 -
MyDataSource自定义的数据源
MyDataSource自定义数据源/* * * 1. 一次性 初始化 10 个连接放到 池子中 . * 2. 当 客户端调用 getConection 方法, 就返回一个连接给 调用者 * 3. 当连接 不再使用的 时候 ,提供一个方法 , 可以让这个连接放回到 池子中. * */public class MyDataSource implements原创 2014-03-06 20:46:47 · 2254 阅读 · 0 评论 -
JDBC Demo
JDBC Demo/*create database day13;use day13;create table user( id int primary key auto_increment, name varchar(20), password varchar(30));insert into user values(null, 'zs','123');inser原创 2014-03-06 20:50:41 · 657 阅读 · 0 评论 -
数据库 元数据的 api 学习
一:Connection的MetaData操作@Test public void testDataBaseMeta() throws Exception{ Connection conn = JdbcUtils.getConnection(); // 获得数据库的元数据 DatabaseMetaData dbmd = conn.getMetaData();原创 2014-03-06 20:55:37 · 708 阅读 · 0 评论 -
DBUtils框架(自定义)
一:DBAssist类(框架入口文件)package f.cn.itcast.dbassist;import java.sql.Connection;import java.sql.ParameterMetaData;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLExcept原创 2014-03-06 20:59:49 · 726 阅读 · 0 评论 -
C3P0简单配置
C3P0简单配置public void test(){ComboPooledDataSource cpds = new ComboPooledDataSource(); //可以加载配置文件信息 //ComboPooledDataSource cpds = new ComboPooledDataSource("robbin");Connection conn = null;PreparedStat原创 2014-03-06 19:43:56 · 610 阅读 · 0 评论 -
数据库事务中的脏读,虚读和不可重复读
脏读 dirty reads:当事务读取还未被提交的数据时,就会发生这种事件。举例来说:Transaction 1 修改了一行数据,然后 Transaction 2 在 Transaction 1 还未提交修改操作之前读取了被修改的行。如果 Transaction 1 回滚了修改操作,那么 Transaction 2 读取的数据就可以看作原创 2014-04-25 22:36:15 · 1054 阅读 · 0 评论