老师帮忙瞅一哈,谢谢!

老师帮忙瞅一哈,谢谢!


package com.imooc.jdbc.exercise;


import java.sql.Connection;

import java.sql.PreparedStatement;

import java.sql.ResultSet;


import org.junit.Test;


import com.imooc.jdbc.utils.JDBCUtils;


/**

 * PreparedStatement的使用

 * 

 * @author 86573

 *

 */

public class JDBCExercise4 {

@Test

/**

* 1、首先将表格中的三条数据添加到数据库

*/

public void demo1() {

Connection conn = null;

PreparedStatement pstmt = null;

String[][] str = { { "Java零基础", "Java", "Java基础语法" }, { "Java Web", "Java", "JSP和Servlet" },

{ "前端小白", "前端", "HTML/CSS/JS" } };

for (int i = 0; i < str.length; i++) {

try {

// 获得连接:

conn = JDBCUtils.getConnection();

// 编写SQL:

String sql = "insert into course values (null,?,?,?,now())";

// 预处理SQL:

pstmt = conn.prepareStatement(sql);

// 设置具体参数的值:

pstmt.setString(1, str[i][0]);

pstmt.setString(2, str[i][1]);

pstmt.setString(3, str[i][2]);

// 执行SQL:

int num = pstmt.executeUpdate();

if (num > 0) {

System.out.println("保存成功!" + (i + 1));

} else {

System.out.println("保存失败!" + (i + 1));

}

} catch (Exception e) {

e.printStackTrace();

} finally {

// 释放资源

JDBCUtils.release(pstmt, conn);

}

}

}


@Test

/**

* 2、显示所有数据

*/

public void demo2() {

Connection conn = null;

PreparedStatement pstmt = null;

ResultSet rs = null;

try {

// 获得连接:

conn = JDBCUtils.getConnection();

// 编写SQL:

String sql = "select * from course;";

// 预处理SQL:

pstmt = conn.prepareStatement(sql);

// 设置参数:

// 执行SQL:

rs = pstmt.executeQuery();

// 判断结果集

while (rs.next()) {

int id = rs.getInt("id");

String name = rs.getString("name");

String category = rs.getString("category");

String desp = rs.getString("desp");

String createTime = rs.getTime("createTime").toString();

System.out.println(id + "   " + name + "   " + category + "   " + desp + "   " + createTime);

}

} catch (Exception e) {

e.printStackTrace();

} finally {

JDBCUtils.release(rs, pstmt, conn);

}

}


@Test

/**

* 3、查询课程名称为Java零基础的数据并显示

*/

public void demo3() {

Connection conn = null;

PreparedStatement pstmt = null;

ResultSet rs = null;

try {

// 获得连接:

conn = JDBCUtils.getConnection();

// 编写SQL:

String sql = "select * from course where name = ?;";

// 预处理SQL:

pstmt = conn.prepareStatement(sql);

// 设置参数:

pstmt.setString(1, "Java零基础");

// 执行SQL:

rs = pstmt.executeQuery();

// 判断结果集

while (rs.next()) {

int id = rs.getInt("id");

String name = rs.getString("name");

String category = rs.getString("category");

String desp = rs.getString("desp");

String createTime = rs.getTime("createTime").toString();

System.out.println(id + "   " + name + "   " + category + "   " + desp + "   " + createTime);

}

} catch (Exception e) {

e.printStackTrace();

} finally {

JDBCUtils.release(rs, pstmt, conn);

}

}


@Test

/**

* 4、将Java零基础的课程描述改为Java语法

*/

public void demo4() {

Connection conn = null;

PreparedStatement pstmt = null;

try {

// 获得连接:

conn = JDBCUtils.getConnection();

// 编写SQL:

String sql = "update course set desp = ? where name = ?";

// 预编译SQL:

pstmt = conn.prepareStatement(sql);

// 设置参数:

pstmt.setString(1, "Java语法");

pstmt.setString(2, "Java零基础");

// 执行SQL:

int num = pstmt.executeUpdate();

if (num > 0) {

System.out.println("更新成功!");

} else {

System.out.println("更新失败!");

}

} catch (Exception e) {

e.printStackTrace();

} finally {

JDBCUtils.release(pstmt, conn);

}

}


@Test

/**

* 5、删除Java Web这门课程

*/

public void demo5() {

Connection conn = null;

PreparedStatement pstmt = null;

try {

// 获得连接:

conn = JDBCUtils.getConnection();

// 编写SQL:

String sql = "delete from course where name = ?";

// 预编译SQL:

pstmt = conn.prepareStatement(sql);

// 设置参数:

pstmt.setString(1, "Java Web");

// 执行SQL:

int num = pstmt.executeUpdate();

if (num > 0) {

System.out.println("删除成功!");

} else {

System.out.println("删除失败!");

}

} catch (Exception e) {

e.printStackTrace();

} finally {

JDBCUtils.release(pstmt, conn);

}

}


@Test

/**

* 6、按创建时间倒序排序显示所有数据

*/

public void demo6() {

Connection conn = null;

PreparedStatement pstmt = null;

ResultSet rs = null;

try {

// 获得连接:

conn = JDBCUtils.getConnection();

// 编写SQL:

String sql = "select * from course order by createTime desc;";

// 预处理SQL:

pstmt = conn.prepareStatement(sql);

// 设置参数:

// 执行SQL:

rs = pstmt.executeQuery();

// 判断结果集

while (rs.next()) {

int id = rs.getInt("id");

String name = rs.getString("name");

String category = rs.getString("category");

String desp = rs.getString("desp");

String createTime = rs.getTime("createTime").toString();

System.out.println(id + "   " + name + "   " + category + "   " + desp + "   " + createTime);

}

} catch (Exception e) {

e.printStackTrace();

} finally {

JDBCUtils.release(rs, pstmt, conn);

}

}


}


正在回答

登陆购买课程后可参与讨论,去登陆

1回答

同学完成的不错,给同学一个小的建议,在插入时,连接可以放在for循环的外面,这样就不需要重复获取和释放链接了

http://img1.sycdn.imooc.com//climg/5d80416e094a9b3b08270197.jpg

祝学习愉快~

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师