JDBC:
Java Data Base Connectivity是一种执行SQL语句的JAVA API 接口,可以为多种关系型数据库提供统一的访问。
dao层访问数据库的一般流程
//加载驱动Class.forName(driverPath);
//建立连接DriverManager.getConnection(url,username,pwd);
//url的书写格式 "jdbc:mysql://loclhost:3306/database_name"
//预编译connection.createStatement or connection.prepareStatement
//执行execute(sql)依据是否有结果集返回布尔值
//or executeUpdate(sql)执行增删改
//or executeQuery(sql)执行查找
调用executeQuery(sql) 会返回一个ResultSet类型的集合resultSet
使用循环遍历resultSet 应当注意该集合的下标从1开始
resultSet.next()依据是否存在下一个值返回一个布尔值
connectio.setAutoCommit(false);设置停止自动提交事务
使用try来监视整个事务 catch中一旦捕捉到异常就进行rollback
Statement
预编译可以防止sql注入,比直接编译更安全。
在进行预编译时,在sql语句中使用占位符?来替代合适的筛选条件的位置 。
注意使用空格 防止sql语句出错
// 使用方法setObject(key,value)key从1开始 or setSting(key,value)....
//往编译的sql语句中插入值
JDBC的架构
两层架构
Java应用程序通过JDBC访问数据库
三层架构
在两层架构中间引入服务层
多层架构的复杂结构可以实现更加强大的功能,比如访问控制,也可以将实现化整为零将整个应用的部署分散开