终于又到周日了~~一直以来盼望的周日啊可惜了
明天和后天分别加了一科考试 旅游日语+实用日语翻译~~ 考完以后再来一次英语考试 和一个论文 咱的二学历就完成了~~~ 老师给了说是60分的题 可是一看感觉完全和学的内容不相干~~==! 上次考试也是说是给题 结果一个都没有一样的~~幸亏现在科技发达 否则真的会死在那里~~ 祈祷明天考试题比较简单吧 顺便考场信号比较好~~ 周一依然是5页单词 几页语法等待考 现在上家族实在是费事啊 帖子要发几次才能成功~~刷主页的速度现在十分慢~~快疯了~~~ 估计最近签到也有点费事了 有木有想要帮忙的~~~ 数据库学的还是比较快的 今天就已经讲了JDBC了~~ 照着这个进度 过几天就是web开发了~~好期待 附上今天的学习成果~ 老师说要利用则个周末把这个代码敲熟悉~~又要累的半死了 附上代码 这样显得帖子内容很多 方便那些手机看帖的人 ~~~ package fei; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.ArrayList; import java.util.List; /** * @author Administrator * * 数据库处理类 演示查询 插入 删除 修改记录 */ public class StudentDAO { /** * @author Administrator * * 查询单条记录 */ public StudentVo selectById(int id) { //1 声明需要创建的对象 Connection conn = null;//(与特定数据库的连接(会话)。在连接上下文中执行 SQL 语句并返回结果) PreparedStatement stmt = null;//(表示预编译的 SQL 语句的对象) ResultSet rs = null; StudentVo vo = null; String sql = " SELECT STUDENTID,NAME,AGE,DEPART " + " FROM STUDENT " + " WHERE STUDENTID = " + id + " "; try { // 2 连接数据库 conn = DBConn.getConnection();//(DBConn 是自定义数据库连接类) //3 创建语句 stmt = conn.prepareStatement(sql);//(创建一个 PreparedStatement 对象来将参数化的 SQL 语句发送到数据库) //4 执行SQL语句 rs = stmt.executeQuery();//(在此 PreparedStatement 对象中执行 SQL 查询,并返回该查询生成的 ResultSet 对象) while (rs.next()) {//(将光标从当前位置向前移一行) //创建数据传输类对象,用于储存数据 vo = new StudentVo(); int temp = rs.getInt("STUDENTID");//( 以 Java 编程语言中 int 的形式获取此 ResultSet 对象的当前行中指定列的值) vo.setStudentid(temp); vo.setName(rs.getString("NAME"));//( 以 Java 编程语言中 String 的形式获取此 ResultSet 对象的当前行中指定列的值。) vo.setAge(rs.getInt("AGE")); vo.setDepart(rs.getString("DEPART")); } } catch (Exception e) { System.out.println("查询失败"); e.printStackTrace(); } finally { try { //关闭相关对象,释放资源 rs.close(); stmt.close(); conn.close(); } catch (Exception e1) { e1.printStackTrace(); } } return vo; } /** * @author Administrator * * 查询多条记录 */ public List selectByDept(String dept) { //1 声明需要创建的对象 Connection conn = null; Statement stmt = null; ResultSet rs = null; List list = new ArrayList(); //拼字符串时注意sql语法:varchar2的字段对应的变量要用单引号引起,number型/date型不用(目标是拼出一个正确的sql语句) String sql = " SELECT STUDENTID,NAME,AGE,DEPART " + " FROM STUDENT " + " WHERE DEPART = '" + dept + "' "; System.out.println(sql); try { // 2 连接数据库 conn = DBConn.getConnection(); //3 创建语句 stmt = conn.createStatement();//( 创建一个 Statement 对象来将 SQL 语句发送到数据库。) //4 执行SQL语句 rs = stmt.executeQuery(sql);//(在此 PreparedStatement 对象中执行 SQL 查询,并返回该查询生成的 ResultSet 对象) while (rs.next()) { StudentVo vo = new StudentVo(); vo.setStudentid(rs.getInt("STUDENTID")); vo.setName(rs.getString("NAME")); vo.setAge(rs.getInt("AGE")); vo.setDepart(rs.getString("DEPART")); list.add(vo); } } catch (Exception e) { System.out.println("查询失败"); e.printStackTrace(); } finally { try { rs.close(); stmt.close(); conn.close(); } catch (Exception e1) { e1.printStackTrace(); } } return list; } /** * @author Administrator * * 插入单条记录 */ public int insertStudent(StudentVo vo) { //1 声明需要创建的对象 Connection conn = null; PreparedStatement pstmt = null; int flg = 0; //拼字符串时注意sql语法:varchar2的字段对应的变量要用单引号引起,number型/date型不用(目标是拼出一个正确的sql语句) String sql = "INSERT INTO STUDENT ( STUDENTID,NAME,AGE,DEPART) " + " VALUES (?, ?, ?, ?)";//(???????????) //拷贝打印出的字符串到sqlplus中执行,可以检查错误 System.out.println(sql); try { // 2 连接数据库 conn = DBConn.getConnection(); //设置为不自动提交 conn.setAutoCommit(false);//(将此连接的自动提交模式设置为给定状态) //3 创建语句 pstmt = conn.prepareStatement(sql); pstmt.setInt(1,vo.getStudentid());//( 将指定参数设置为给定 Java int 值。) pstmt.setString(2,vo.getName()); pstmt.setInt(3,vo.getAge()); pstmt.setString(4,vo.getDepart()); //4 执行SQL语句 flg = pstmt.executeUpdate(); conn.commit();//(使所有上一次提交/回滚后进行的更改成为持久更改,并释放此 Connection 对象当前持有的所有数据库锁。) } catch (Exception e) { try { conn.rollback(); } catch (SQLException e1) { e1.printStackTrace(); } System.out.println("插入失败"); e.printStackTrace(); } finally { try { conn.setAutoCommit(true); pstmt.close(); conn.close(); } catch (Exception e1) { e1.printStackTrace(); } } return flg; } /** * @author Administrator * * 删除记录 */ public int deleteStudent(int id) { //1 声明需要创建的对象 Connection conn = null; Statement stmt = null; int flg = 0; String sql = "DELETE STUDENT WHERE STUDENTID = " + id + " "; // System.out.println(sql); try { // 2 连接数据库 conn = DBConn.getConnection(); //设置为不自动提交 conn.setAutoCommit(false); //3 创建语句 stmt = conn.createStatement(); //4 执行SQL语句 flg = stmt.executeUpdate(sql); conn.commit();//(使所有上一次提交/回滚后进行的更改成为持久更改,并释放此 Connection 对象当前持有的所有数据库锁。) } catch (Exception e) { try { conn.rollback();//(取消在当前事务中进行的所有更改,并释放此 Connection 对象当前持有的所有数据库锁。) } catch (SQLException e1) { e1.printStackTrace(); } System.out.println("删除失败"); e.printStackTrace(); } finally { try { conn.setAutoCommit(true); stmt.close(); conn.close(); } catch (Exception e1) { e1.printStackTrace(); } } return flg; } /** * @para int id 记录的studentid * * 更改单条记录 */ public int updateStudent(int id) { //1 声明需要创建的对象 Connection conn = null; PreparedStatement pstmt = null; int flg = 0; String sql = "UPDATE STUDENT SET NAME =?,AGE= ? ,DEPART=? WHERE STUDENTID = ? "; // System.out.println(sql); try { // 2 连接数据库 conn = DBConn.getConnection(); //设置为不自动提交 conn.setAutoCommit(false); //3 PreparedStatement对象,设置参数 pstmt = conn.prepareStatement(sql); pstmt.setString(1, "Bill"); pstmt.setInt(2, 99); pstmt.setString(3, "Java"); pstmt.setInt(4, id); //4 执行SQL语句 flg = pstmt.executeUpdate(); conn.commit(); } catch (Exception e) { try { conn.rollback();//((取消在当前事务中进行的所有更改,并释放此 Connection 对象当前持有的所有数据库锁。)) } catch (SQLException e1) { e1.printStackTrace(); } System.out.println("更改失败"); e.printStackTrace(); } finally { try { conn.setAutoCommit(true); pstmt.close(); conn.close(); } catch (Exception e1) { e1.printStackTrace(); } } return flg; } } |
|
沙发#
发布于:2011-04-15 21:30
不要给我看程序,代码什么的最讨厌了
|
|
|
2楼#
发布于:2011-04-15 21:32
这些东西我看不懂啊喂~小舞最近也是各种忙啊~手机给我充值!
|
|
|
3楼#
发布于:2011-04-15 21:34
那我低调的回下贴…
科技发达是什么意思- - |
|
|
4楼#
发布于:2011-04-15 21:34
代码什么的完全看不懂啊
|
|
|
5楼#
发布于:2011-04-15 21:44
==小舞现在每次出现都是用这种让人头晕的方法了~~~~~信号神马的.....嘛,只能祈祷移动,电信不抽吧
|
|
6楼#
发布于:2011-04-15 21:49
前段时间也蛋疼地在数据库里查了一下活了多少天,震惊了一下,这个还是不查的好
|
|
7楼#
发布于:2011-04-15 21:52
靠代码来提高存在感么
|
|
|
8楼#
发布于:2011-04-15 22:05
表示祝小舞考好~~~
表示看不懂啊= = |
|
|
9楼#
发布于:2011-04-15 22:23
……你们太有才了…- -
|
|
|
10楼#
发布于:2011-04-15 22:27
看什么都表示很晕。。
|
|
|
11楼#
发布于:2011-04-15 22:29
这样啊,原来这样可以提升存在感的说呀!!嗯,一旦接受了这种设定,看起来确实很有存在感了呢
|
|
|
12楼#
发布于:2011-04-15 22:34
再次感慨年轻真好。。
代码什么都是浮云。。 |
|
13楼#
发布于:2011-04-15 22:46
卧槽,小舞,这种提升方式。。。你又何必呢。。。
|
|
14楼#
发布于:2011-04-15 22:50
这个很不错啊
|
|
15楼#
发布于:2011-04-16 00:14
代码看不懂,那个7503天是什么意思?
|
|
16楼#
发布于:2011-04-16 15:47
傲娇少女我感到鸭梨很大啊>< 我们最近也要期中考了..内牛满面..
|
|
17楼#
发布于:2011-04-16 16:12
完全都看不懂阿...
|
|
|
18楼#
发布于:2011-04-16 20:15
完全看不懂 头晕了
|
|
|
19楼#
发布于:2011-04-17 15:09
乃一天好能学啊……那张图是微博应用吧
|
|