Day_10使用JDBC连接数据库和Java代码JDBC:Connection在我们程序中是非常珍贵的,所以我们在编写代码的时候,我们一般不轻易的多次创建Connection对象
DriverManager:驱动管理类
Statement:执行SQL语句
重点操作数据库的步骤
第二步,连接数据库
第三步,创建执行SQL语句的对象
String sql="Sql语句"
第四步,编写SQL语句,\\执行SQL语句
查询数据用exectueQuery
修改\添加\删除用exectueupdate
第五步,预编译
第六步,为SQL语句设置值
第七步,执行Sql语句
执行增删\修改 ps.executeUpDate
// 执行SQL语句返回值 int row = statement.executeUpdate();
判断执行成功的 然后输出语句: 执行成功
- */
public void demoProp3() {
Connection conn = null;
PreparedStatement statement = null;
try {
// 获取连接
conn = JDBCUtils.getConnection();
// 编写SQL语句
String sql = "delete from user where id=?";
// 预编译Sql语句
statement = conn.prepareStatement(sql);
// 设置参数
statement.setString(1, "2");
// 执行SQL语句返回值
int row = statement.executeUpdate();
if (row > 0) {
System.out.println("删除成功!");
}
} catch (Exception e) {
e.printStackTrace();
} finally {
JDBCUtils.release(statement, conn);
}
}
查询数据需要遍历结果集(注意:一定要定义结果集对象
// 定义接收结果集的对象 ResultSet rs = null;)
- @Test
/**
* 数据库的查询操作
*/
public void demo2() {
// 定义数据库连接的接收对象
Connection conn = null;
// 定义接收预编译对象的SQL语句
PreparedStatement patmt = null;
// 定义接收结果集的对象
ResultSet rs = null;
try {
// 获得连接;
conn = JDBCUtils.getConnection();
// 编写SQL语句
String sql = "select * from user";
// 预编译SQL语句
patmt = conn.prepareStatement(sql);
//执行数据
rs = patmt.executeQuery();
while (rs.next()) {
System.out.println(rs.getInt("id") + rs.getString("username") + " " + rs.getString("password") + " "
+ rs.getString("nickname"));
}
} catch (Exception e) {
e.printStackTrace();
} finally {
JDBCUtils.release(rs, patmt, conn);
}
}
重点提取配置信息到配置文件属性文件
格式: 扩展明是.properties
内容: key =value
- properties prop= new Properties();
prop.load(new FileIntputStream("src/db.properties"));
//key 键值是自己定义的
properties.getProperty(String key);
XML文件
PreparedStatement的用法在preparedStatement中有传参数的时候,我们要用 ? 号占位符
在prepareStatement中的预编译中,如果用到模糊查询,我们需要在设置参数的时候来设置百分号%%
例如:
-
//编写SQL语句
String sql="delete from user where id=?"; -