用反射写出与apache的增删改查框架差不多的框架,优化了上次写的代码
package top.yibobo.util;
import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.sql.ResultSet;
public class ResultSetHandler {
private ResultSetHandler(){}
/**
* 一个工具
* 将一个对象和ResultSet结果集传入进来
* 可 ...
Read more »
JDBC获取结果集与数据库的元数据
连接.getMetaData()获取数据库的元对象
结果集.getMetaData()获取结果集的元对象
import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
/**
* 结果集的元数据
*
* @au ...
Read more »
JDBC调用过程与函数代码实现
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.SQLException;
import java.sql.Types;
public class TestProcedure {
/**
* 过程:sql={call proc_name(?,?...)}
* 函数:sql={?=call name(?,?...)}
* @param args
*/
public static void main(String[] args) {
Connec ...
Read more »
JDBC批处理代码实现
没什么用,记录一下
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.sql.Statement;
public class TestBatch {
public static void main(String[] args) throws SQLException {
Connection conn = DBUtil.getConnection();
/*conn.setAutoCommit(fal ...
Read more »
用反射写出和apache中的Query方法(返回查询出的对象集合的那一个)功能相同的方法
用Apache的包那么舒服,自己也手痒了想写个玩玩
写了大概俩小时= = 期间遇到好多问题简直心态爆炸,好歹还是摸索出来了
颤抖的运行main方法、一次次的异常、刺眼的红字屡屡的嘲笑我
最后一次运行时。终于得出了我想要的结果,那一瞬间成就感简直爆炸,我能感受到大脑的多巴胺分泌迅速升高
不多说了贴代码:
packa ...
Read more »
用apache来玩JDBC
pojo层emp对象
import java.sql.Date;
public class Emp {
private int empno;
private String ename;
private String job;
private int mgr;
private Date hiredate;
private double sal;
private double comm;
private int deptno;
public Emp() {
super();
}
public Emp(int empno, String ename, Stri ...
Read more »
java设计模式_工厂模式
工厂模式
工厂模式主要是实现了创建和调用者的分离
核心本质:
实例化对象,用工厂方法代替new操作
将选择实现类、创建对象统一管理和控制。从而将调用者跟我们的实现类解耦
工厂模式(factory)大概分为三种:
简单工厂模式:
用来生产同一等级结构中的任意产品(对于增加新的产品,需要修改 ...
Read more »
java设计模式_单例模式
单例模式
核心作用:
保证一个类只有一个实例,并且提供一个访问该实例的全局访问点
常见的几种单例模式实现方式
饿汉式(线程安全,调用效率高。但是不能延时加载。)
懒汉式(线程安全,调用效率不高。但是可以延时加载)
双重检测锁式(由于JVM底层内部模型原因,偶尔会出现问题。不建议使用)
静态内部类 ...
Read more »
PL/SQL 触发器
触发器是当特定事件出现时自动执行的存储过程
特定事件可以是执行更新的DML语句和DDL语句
触发器不能被显式调用
触发器的功能:
自动生成数据
自定义复杂的安全权限
提供审计和日志记录
启用复杂的业务逻辑
创建触发器的语法:
CREATE [OR REPLACE] TRIGGER trigger_name
AFTER | BEFORE | INSTEAD OF
[INSERT] [ ...
Read more »
PL/SQL程序包的创建和调用
代码实现
--程序包:包规范、包主体
create or replace package pk_test
is
deptrec dept%rowtype;
--增加部门信息的函数
function add_dept(
dept_no number,
dept_name varchar2,
dept_loc varchar2)
return number;
--根据部门编号删除部门信息的函数
function delete_dept(dept_no number)
ret ...
Read more »