本帖最后由 小石姐姐 于 2018-5-23 14:34 编辑
JDBC高级
JDBC开发流程
step1:注册驱动:Class.forName()
step2:获得连接:Connection conn = DriverManger.getConnection(url,username,password)// Connection java.sql包下的
step3:编写SQL语句,String sql ="",以前的值的地方用占位符代替 ?就是占位符
step4:预编译sql并且获得可执行sql语句的对象PreparedStatement ps = conn.prepareStatemet(String sql)
step5:为sql语句设置值,用值代替sql语句中的? ps.setXXX(int n,值) n:代表第几个问号的意思,n从1开始
step6:执行sql语句
如果是查询:ResutSet rs = ps.executeQuery()
遍历结果集:
while(rs.next()){
rs.getXXX(String columnName)/rs.getObject(String columnName) ;
//columnName默认是表地段名,如果取了别名,用别名
}
如果是增删改:int num = ps.executeUpdate() ;// num 代表影响的行数
step7:释放资源 工具类的抽取:
Properties对象的使用
Properties prop = new Properties();
prop.load(new FileInputStream(String path));
prop.getProperty(String key)
属性文件:.properties
key=value
aaa=adfadf
bbb=dafda 背后的思想:程序的解耦和 JDBC的事务管理 事务的管理的对象:Connection conn 事务管理的核心的思想: 逻辑上的一组操作使用的是同一个Connection对象 事务管理的核心步骤: 开启事务:conn.setAutoCommit(false) 业务逻辑的操作 所有的业务逻辑操作都成功后提交事务:conn.commit() 一旦有异常回滚事务:conn.rollback()
|