当前位置: 首页 > news >正文

【无标题】Statement对象详解

代码实现

1.提取工具类

package com.yang.yang.lesson02.utils;
​
import java.io.IOException;
import java.io.InputStream;
import java.sql.*;
import java.util.Properties;
​
public class jdbcUtils {
​private static String driver =null;private static String url =null;private static String username =null;private static String password =null;static{try{InputStream in = jdbcUtils.class.getClassLoader().getResourceAsStream("db.properties");Properties properties = new Properties();properties.load(in);properties.getProperty("driver");properties.getProperty("url");properties.getProperty("username");properties.getProperty("password");//1.驱动只用加载一次Class.forName(driver);
​} catch (IOException | ClassNotFoundException e) {throw new RuntimeException(e);}}//获取连接public static Connection getConnection() throws SQLException {return DriverManager.getConnection(url, username, password);}
​//释放连接资源public static void release(Connection conn, Statement st, ResultSet rs){if (rs!=null){try {rs.close();} catch (SQLException e) {throw new RuntimeException(e);}
​
​}if(st!=null){try {st.close();} catch (SQLException e) {throw new RuntimeException(e);}}if(conn!=null){try {conn.close();} catch (SQLException e) {throw new RuntimeException(e);}}
​}
​}

2.编写增删改的方法,excuteUpdate

package com.yang.yang.lesson02.utils;
​
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
​
public class TestInsert {public static void main(String[] args) {Connection conn = null;Statement st = null;ResultSet rs = null;try {conn = jdbcUtils.getConnection();//获取数据库连接st= conn.createStatement();//获得sql的执行对象String sql = "insert into users(id,'NAME','PASSWORD','email','birthday')"+"VALUES (4,'yangyang','123456','223525365@qq.com','1020-2-2')" ;int i = st.executeUpdate(sql);if (i > 0){System.out.println("插入成功");}} catch (SQLException e) {throw new RuntimeException(e);}finally {jdbcUtils.release(conn,st,rs);
​}}
}

package com.yang.yang.lesson02.utils;
​
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
​
public class TestDelete {public static void main(String[] args) {Connection conn = null;Statement st = null;ResultSet rs = null;try {conn = jdbcUtils.getConnection();//获取数据库连接st= conn.createStatement();//获得sql的执行对象String sql = "DELETE FROM users WHERE id = 4" ;int i = st.executeUpdate(sql);if (i > 0){System.out.println("删除成功");}} catch (SQLException e) {throw new RuntimeException(e);}finally {jdbcUtils.release(conn,st,rs);
​}}}
}

package com.yang.yang.lesson02.utils;
​
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
​
public class TestUpdate {public static void main(String[] args) {Connection conn = null;Statement st = null;ResultSet rs = null;try {conn = jdbcUtils.getConnection();//获取数据库连接st= conn.createStatement();//获得sql的执行对象String sql = "UPDATE users SET NAME = 'yangyang' ,'email'='2345778@qq.com' WHERE id =1" ;int i = st.executeUpdate(sql);if (i > 0){System.out.println("更新成功");}} catch (SQLException e) {throw new RuntimeException(e);}finally {jdbcUtils.release(conn,st,rs);
​}}}
}

3.查询

package com.yang.yang.lesson02.utils;
​
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
​
public class TestSelect {public static void main(String[] args) {Connection conn = null;Statement st = null;ResultSet rs = null;try {conn  = jdbcUtils.getConnection();conn.createStatement();//SQl String sql = "select * from users where id =1";rs= st.executeQuery(sql);//查询完毕会返回一个结果集while (rs.next()){System.out.println(rs.getString("NAME"));}} catch (SQLException e) {throw new RuntimeException(e);}finally {jdbcUtils.release(conn,st,rs);}}
}

相关文章:

  • 【Win32 API】 lstrlenA()
  • java.sql.BatchUpdateException: Incorrect string value: ‘\xF0\x9F\x91\x91**...‘
  • ROS中的里程计与IMU的消息类型解读
  • Python 类型注释 - typing
  • 如何确定微服务的粒度与边界
  • C++抽象类与多态实战解析
  • 算法训练第八天
  • Vue Router 导航方法完全指南
  • 【使用 Loki + Promtail + Grafana 搭建轻量级容器日志分析平台】
  • dxf、dwg中文字矩阵变换
  • 安装 Nginx
  • QT链接其他项目的C++文件报链接错误
  • sifli 52 反馈standby待机rc10k 15秒校准起来后,底电流会变大
  • 交叉熵的意义
  • Linux-linux和windows创建新进程的区别以及posix_spawn
  • 04.两数之和
  • 数据库同步是什么意思?数据库架构有哪些?
  • 《AI角色扮演反诈技术解析:原理、架构与核心挑战》
  • Linux基础开发工具——yum工具
  • QML技术优势
  • 预付网站制作费怎么做凭证/辽宁网站seo
  • 视屏网站制作/自助建站系统开发
  • b2b电子商务网站的收益模式不包括/百度搜一下
  • 番禺 建网站 360元/网络排名优化软件
  • wordpress超级主题/全能优化大师
  • 个人网站需要备案吗/南京seo网络推广