发表于: 2017-06-27 20:56:58
1 1094
今天完成的事情:
1. 对JDBC进行整理和深入学习
明天计划的事情:
继续深入学习JDBC
遇到的问题:
1. Drivermanager.registerdriver()的驱动使用方法是什么?链接数据库的方法和Class.forName()一样什么?
未解决,百度没有具体的实例
收获:
1. 梳理了JDBC的连接过程,明白每一部分的作用
1. 导入JDBC包,import java.sql.*;
2. 创建URL,USER,PASS
3. 加入JDBC驱动程序
mysql 为:Class.forName("com.mysql.jdbc.Driver")
4. 创建连接对象
Connrction conn = null;
5. 用DriverManager.getConnection()连接数据库
conn = DriverManager.getConnection(URL,USER,PASS)
6.1 建立SQL语句
string sql = “SELECT id,name,study_type FROM day”;
7.1 使用Statement发送SQL命令,并从数据库接受数据
Statement stmt = conn.createStatement(sql);
8.1 获得结果集
ResultSet rs = stmt.executeQuery(sql);
9.1 读取返回信息
while(rs.next())
{
String name = rs.getString("name");
String id = rs.getString("id");
String study_type = rs.getString("study_type");
System.out.print("名字: "+ name);
System.out.print(" id: "+ id);
System.out.print(" 方向: "+ study_type);
System.out.print("\n");
}
10.1 关闭Statement对象
Statement stmt = null;
try {
stmt = conn.createStatement();
. . .
}
catch (SQLException e) {
. . .
}
finally {
stmt.close();
}
6.1 建立SQL语句
string sql = “String sql = "INSERT INTO day(name, sex, age, id, email, mobile)"+
"values("+"?,?,?,?,?,?)";
7.2 使用 PreparedStatement发送SQL命令,并从数据库接受数据,运行时接受输入参数
PreparedStatement ptmt = conn.prepareStatement(sql);
8.2 传递参数
private Integer id;
private String name;
private Integer sex;
private Integer age;
private String email;
private String mobile
//数字1,2,3....为参数 ? 符号的占位符, 在执行SQL语句之前,必须为每个参数(占位符)提供值。
ptmt.setString(1, g.getname());
ptmt.setInt(2, g.getSex());
ptmt.setInt(3, g.getAge());
ptmt.setInt(4, g.getid())
ptmt.setString(5, g.getEmail());
ptmt.setString(6, g.getMobile());
9.2 执行
ptmt.execute();
(若为UPDATE语句则为: int rows = ptmt.executeUpdate();)
10.2关闭PreparedStatement对象
PreparedStatement ptmt = null;
try {
String SQL = "Update ";
ptmt = conn.prepareStatement(SQL);
. . .
}
catch (SQLException e) {
. . .
}
finally {
ptmt.close();
}
参考资料
JDBC Statements, PreparedStatement和CallableStatement语句
PS:JDBC的东西好多,得好好看看
评论