JSP访问数据库

一、JDBC


① 定义:在Java技术系列中,访问数据库的技术叫做JDBC,它提供了一系列的API,让Java语言
编写的代码连接数据库,对数据库的数据进行添加 删除 修改 查询。
② JDBC中以下类或接口
java.sql.Connection: 负责连接数据库
java.sql.Statement: 负责执行数据库SQL语句
java.sql.ResultSet: 负责存放查询结果
③ JDBC的4个操作
(1) 通过JDBC连接到ODBC,并获取连接对象
Class.forName("sun.jdbc.odbc.jdbcOdbcDriver");
Connection conn = DriverManager.getConnection("jdbc:odbc:DSSchool[数据源名]")
(2) 使用Statement接口运行SQL语句
Statement stat=conn.createStatement();
stat.executeQuery(SQL语句)//查询
stat.executeUpdate(SQL语句)//添加 删除或者修改
(3) 处理SQL语句运行结果
(4) 关闭数据库连接
stat.close()
conn.close()
④ int i=stat.executeUpadate(sql);
它返回一个整型,意思为这条sql语句执行受影响的行数
⑤ 查询数据
查询格式: ResultSet rs=stat.executeQuery(sql)
查询的结果放入ResultSet中,实际上是一个小表格
rs.next() 可以将游标移到下一行,它的返回值是一个bool类型如果有下一行返回true
ResultSet的getXXX(列名||编号)方法得到这一行的某个数据 XXX是该列的数据类型 【此方法获取数据只能1次】
⑥ 使用 PreparedStatement
引出:以添加数据为例,在很多情况下,具体需要添加的值,是由客户自己输入的,因此,应该是一个个变量。
该情况下,SQL语句的写法就比较麻烦,而且依赖了变量,比较容易出错
preparedStatement 它在sql语句中使用了?代替了需要插入的参数
用preparedStatement的setString(n,参数)
例:PreparedStatement ps=conn.prepareStatement(sql);
ps.setString(1,stuno);
⑦ 在银行转账时扣款和收款要同时进行 一方出错要回滚 同时完成后才提交
(1) 默认情况下,executeUpdate函数会在数据库中提交改变的结果,此时,可以用Connection
来定义该函数是否自动提交改变结果,并进行事物的提交或者回滚
利用try catch语句
try{ con.setAutoCommit(false); stat.excuteUpdate(sql1); stat.excuteUpdate(sql2); conn.commit(); }
catch{ conn.rollback();//出错时回滚 }


posted @ 2020-03-05 14:18  厂长在线养猪  Views(308)  Comments(0Edit  收藏  举报