2017《JAVA技术》第八次作业

Java第八次作业--数据库编程

(一)学习总结

1.用思维导图对本周的学习内容进行总结。

参考资料: XMind。
2.通过实验内容中的具体实例说明在执行executeUpdate()方法和executeQuery()方法中使用动态参数时,为什么要使用PreparedStatement接口而不使用Statement,比较使用两种接口的不同之处。
executeQuery()方法

执行数据库更新的SQL语句,如INSETR、UPDATE、DELETE等语句,返回更新的记录数。

conn = JDBCUtils.getConnection(1);
stmt = conn.createStatement();
String sql = "select no,type,age,number,price from pet";
rs = stmt.executeQuery(sql);
executeUpdate()方法

执行数据库查询操作,返回一个结果集对象。

conn = JDBCUtils.getConnection(1);
String sql = "insert into pet(no,type,age,number,price) values (?,?,?,?,?)";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, pet.getNo());
pstmt.setString(2, pet.getType());
pstmt.setString(3, pet.getAge());
pstmt.setString(4, pet.getNumber());
pstmt.setString(5,pet.getPrice());
int num = pstmt.executeUpdate();

PreparedStatement属于预处理操作,与直接使用Statement不同的是,preparedStatement在操作时是在数据表中准备好了一条SQL语句,但此时SQL语句的具体内容暂时不设置采用"?"占位形式出现,而是之后在设置。

import java.sql.Connection;
import java.sql.DriverManager;
public class PreparedStatement {
	public static final String DBDRIVER="org.git.mm.mysql.Driver";
	public static final String DBURL="jbc:mysql://localhost:3306/mldn";
	public static final String DBUSER="root";
	public static final String DBPASS="root";
	public static void main(String []args) throws Exception{
		Connection conn=null;
		PreparedStatement a=null;
		String name="sa";
		int age=12;
		String sql="INSERT INTO user(name,age)"+"VALUES(?,?)";
		conn=DriverManager.getConnection(DBURL,DBUSER,DBPASS);
		a=conn.prepareStatement(sql);
		a.getString(1,name);
		a.getString(2,age);
		a.executeUpdate();
		a.close();
		conn.close();		
	}

}

3.其他需要总结的内容。
PreparedStatement中setDate()方法:
此方法设置日期内容注意的是后面Date类型变量是java.sql.Date,而不是java.util.Date.要将java.util.Date类型的内容变成java.sql.Date类型的内容。

String birthday ="1997-1-3";
java.util.Date temp=null;
temp=new SimpleDateFormat("yyyy-mm-dd").parse(birthday);//将字符串变成java.util.Date类型
java.sql.Date bir =new java.sql.Date(temp.getTime());//通过java.util.Date取得具体日期,变成java.sql.Date类型

(二)实验总结

实验内容:
使用JDBC实现实验七的宠物商店
完成实验内容,代码上传到码云,注意,务必将创建数据库的脚本文件随项目文件一起上传,在随笔中分析程序设计思路,用PowerDesigner画出类图结构,并对完成实验内容过程中遇到的问题、解决方案和思考等进行归纳总结,注意代码中必须有必要的注释。

格式如下:
程序设计思路
1.WelcomeFrame类来设置用户的登录界面,设置构造方法添加组件,
2Animals类即是设置登录界面成功后里面存放数据,添加删除,的组件。
3.AnimalItem类来设置动物基本属性的get()和set()方法,
4.Admin类来设置管理员对数据的取得删除等操作,
5.Service类就是用户进行添加删除修改操作时要进行的,对用户进行的操作进行判断并执行,如果编号与原有的宠物编号相同则不能进行修改和添加数据。
不用设计数据类,因为已经在数据库里创建插入数据。
1.在sql中新建的登录名root和密码root
2.在数据库和java连接插入数据时采用占位的形式

String sql = "insert into animals (number,name,age,num,price) values (?,?,?,?,?)";

3.增加退出系统

   private JButton exitBtn = new JButton("退出系统");

(三)代码托管

码云commit历史截图
上传实验项目代码到码云,在码云项目中选择“统计-commits”,设置搜索时间段,搜索本周提交历史,并截图。

posted on 2017-05-18 11:51  昨夜蔷薇  阅读(138)  评论(0)    收藏  举报