ORM尝试一 总体思路

一 连接数据库

使用JDBC连接数据库,代码如下:

private static final String url = "jdbc:mysql://localhost:3306/dbName";
private static final String driverName = "org.gjt.mm.mysql.Driver";

private static DataBaseUtil instance;
private Connection con;

/**
 * private constructor
 */
private DataBaseUtil() {
    if (con == null) {
        try {
            Class.forName(driverName).newInstance();
            con = DriverManager.getConnection(url, userName, passWord);
            if (con != null) {
                System.out.println("connect success!");
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

/**
 * Get the single instance of this class
 * 
 * @return instance
 */
public static DataBaseUtil getInstance() {
    if (instance == null) {
        instance = new DataBaseUtil();
    }
    return instance;
}

DataBaseUtil辅助类使用单例模式,而Connection对象在该类内部才能直接使用。

二 操作数据库的思路

1 建表

利用反射获取类名,成员变量的类型和名称。

根据类名,变量类型和名称,拼接出SQL语句。

2 QUERY

无条件查询,直接使用拼接字符串。

有条件查询,将条件放在包含一个key-value的对象中,再拼接出SQL语句。

填充对象:

根据属性类型,调用resultSet的各种get方法获取属性值,

同样根据属性类型,反射调用对象的setter。

3 UPDATE

传入更新的对象,以及一个包含key-value的对象,拼接出SQL语句。

传入更新的对象,以及包含key-value的对象的数组,拼接出SQL语句。

4 DELETE

直接传入要删除的对象,拼接出SQL语句。

5 INSERT

传入要插入的对象,

根据对象的属性类型,获取到getter,利用反射调用,获取属性值。

获取对象的属性名称(也就是列名)。

拼接SQL语句。

6 存储过程

传入存储过程的名称和参数个数,拼接SQL语句,返回CallableStatement对象。

后续会持续更新。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值