JAVA-JDBC完成CRUD的操作进阶
程序员文章站
2022-04-24 08:13:17
...
1.1 需求
对分类管理使用JDBC完成CRUD操作
JDBC:Java数据库的连接
驱动:需要导入jar包。
【JDBC开发的步骤】
1.注册驱动
2.获得连接
3.获得执行SQL语句的对象
4.释放资源
【JDBC封装】
public class jdbcUtils {
private static final String driver;
private static final String url;
private static final String user;
private static final String password;
static{
InputStream inputStream = null;
try {
inputStream = new FileInputStream("src/JDBC_Enhance_Utils/jdbc.properties");
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Properties properties = new Properties();
try {
properties.load(inputStream);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
driver = properties.getProperty("driver");
url = properties.getProperty("url");
user = properties.getProperty("user");
password = properties.getProperty("password");
}
/*
* 注册驱动的方法
* */
public static void loadDriver(){
try {
Class.forName(driver);
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/*
* 获得连接的方法
* */
public static Connection getConnection(){
loadDriver();
Connection connection = null;
try {
connection = (Connection) DriverManager.getConnection(url,user,password);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return connection;
}
/*
* 释放资源的方法
* */
public static void release(ResultSet rs ,Statement st ,Connection conn){
if (rs != null) {
try {
rs.close();
} catch (Exception e2) {
// TODO: handle exception
}
}
if (st != null) {
try {
st.close();
} catch (Exception e2) {
// TODO: handle exception
}
}
if (conn != null) {
try {
conn.close();
} catch (Exception e2) {
// TODO: handle exception
e2.printStackTrace();
}
}
}
public static void release(Statement st,Connection conn){
if (st != null) {
try {
st.close();
} catch (Exception e2) {
// TODO: handle exception
}
}
if (conn != null) {
try {
conn.close();
} catch (Exception e2) {
// TODO: handle exception
e2.printStackTrace();
}
}
}
}
public class testJdbcUtils {
@Test
public void test01(){
Connection connection = null;
PreparedStatement preparedStatement = null;
ResultSet resultSet = null;
try {
connection = jdbcUtils.getConnection();
String sql = "select * from user";
preparedStatement = (PreparedStatement) connection.prepareStatement(sql);
resultSet = (ResultSet) preparedStatement.executeQuery();
while (resultSet.next()) {
System.out.println(resultSet.getInt("cid")+"\t"+resultSet.getString("cname"));
}
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}finally {
jdbcUtils.release(resultSet, preparedStatement, connection);
}
}
}
1.3总结JDBC的API
【Connection】
->创建执行Sql的操作
statement — createStatement()
prepareStatement — prepareStatement(String Sql)
prepareCall:Oracle调用数据库存储的过程 — prepareCall(String Sql)
->进行事务的管理
setAutoCommit()
commit()
rollback()
【Statement】
->执行SQL语句
executeQuery(String SQl)
executeUpdate(String SQl)
execute(String SQl)
-> 执行批处理
addBatch()
clearBatch()
executeBatch()
【ResultSet】
->获得处理结果
getXXX(int idx)
getXXX(String name)
->默认情况下,next();
正常情况下,结果集只能向下。
上一篇: 使用Xmanager远程Aix系统
下一篇: #后端#项目#自定义接口异常处理
推荐阅读
-
用C#对ADO.NET数据库完成简单操作的方法
-
国产操作系统来了 已经完成对龙芯平台的适配
-
JS实现的添加弹出层并完成锁屏操作示例
-
Android之采用execSQL与rawQuery方法完成数据的添删改查操作详解
-
打印机操作无法完成错误代码0x00000015的解决办法
-
无法保存打印机 操作无法完成错误(错误0x000006d9)的错误提示解决方法
-
在ASP.NET Core 2.0上操作MongoDB就是能这么的简便酷爽(自动完成分库分表)
-
电脑分区时出现"磁盘上没有足够的空间完成此操作"的解决办法
-
(摘)timeout Timeout时间已到.在操作完成之前超时时间已过或服务器未响应的几种情况
-
使用jQuery 操作table 完成单元格合并的实例