JDBC01
2022/2/16 6:12:14
本文主要是介绍JDBC01,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
JDBC基本介绍
基本介绍
好处
直接访问数据库:
使用jdbc访问数据库——面向接口编程
JDBC模拟
/** * @author 紫英 * @version 1.0 * @discription 模拟JDBC */ public interface JDBCInterface { //连接方法 public Object getConnection(); // crud方法 public void crud(); // 关闭连接 public void close(); } ================================== /** * @author 紫英 * @version 1.0 * @discription mysql实现jdbc接口 */ public class MysqlJdbcImpl implements JDBCInterface { @Override public Object getConnection() { System.out.println("mysql 链接"); return null; } @Override public void crud() { System.out.println("mysql增删改查"); } @Override public void close() { System.out.println("mysql增删改查"); } } ================================= /** * @author 紫英 * @version 1.0 * @discription oracle实现jdbc接口 */ public class OracleJdbcImpl implements JDBCInterface{ @Override public Object getConnection() { System.out.println("oracle 链接"); return null; } @Override public void crud() { System.out.println("oracle crud"); } @Override public void close() { System.out.println("oracle close"); } } =============================== /** * @author 紫英 * @version 1.0 * @discription 测试类 */ public class JdbcTest { public static void main(String[] args) { JDBCInterface jdbcInterface = new MysqlJdbcImpl(); // 接口的多态 jdbcInterface.getConnection(); jdbcInterface.crud(); jdbcInterface.close(); jdbcInterface = new OracleJdbcImpl(); jdbcInterface.getConnection(); jdbcInterface.crud(); jdbcInterface.close(); } }
JDBC API
- java.sql接口
- javax.sql接口
程序编写步骤
JDBC快速入门案例
1.先将mysql的jar包添加到项目中
在项目下创建一个文件夹比如 lib,将 mysql.jar 拷贝到该目录下,点击 add to project ..加入到项目中
2.代码实现
package com.recorder.jdbc; import com.mysql.jdbc.Driver; import java.sql.Connection; import java.sql.SQLException; import java.sql.Statement; import java.util.Properties; /** * @author 紫英 * @version 1.0 * @discription Jdbc快速入门案例 */ public class Jdbc01 { public static void main(String[] args) throws SQLException { //1. 注册驱动,创建 driver 对象 Driver driver = new Driver();//new com.mysql.jdbc.Driver.v //2. 得到连接 // (1) jdbc:mysql:表示协议,通过 jdbc 的方式连接 mysql(写死的)// (2) localhost 主机,也可以是 ip 地址 // (3) 3306 表示 mysql 监听的端口 // (4) db01 连接到 mysql dbms 的哪个数据库 // (5) mysql 的连接本质就是前面学过的 socket 连接 String url = "jdbc:mysql://localhost:3306/db01";//要链接的数据库地址 //将 用户名和密码放入到 Properties 对象 Properties properties = new Properties(); //user 和 password 是规定好,后面的值根据实际情况写 properties.setProperty("user","root"); properties.setProperty("password","123456"); Connection connect = driver.connect(url, properties); //连接数据库
//3. 执行 sql //statement 用于执行静态 SQL 语句并返回其生成的结果的对象 Statement statement = connect.createStatement(); String sql = "insert into Dog values(null,'大黄')"; // 如果是 dml 语句,返回的就是影响行数 int i = statement.executeUpdate(sql); System.out.println(i > 0 ? "添加成功" : "添加失败"); //4. 关闭连接资源 statement.close(); connect.close(); } }
获取数据库连接 5 种方式
第一种
缺点:静态加载,灵活性差,依赖性强
第二种方法
优点:使用反射加载Driver类,动态加载,更加灵活减少依赖性,还可以读取配置文件中的数据
第三种方法
使用DriverManager替代driver进行统一管理,扩展性更好,无需创建properties对象,更加灵活
第四种方法(使用最多)
第五种方式(第四种的改进,推荐使用)
ResultSet
Statement
SQL注入
PreparedStatement
JDBCAPI梳理
这篇关于JDBC01的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-25Elevate Your Lead Generation Game with Maps Scraper AI
- 2024-05-15PingCAP 黄东旭参与 CCF 秀湖会议,共探开源教育未来
- 2024-05-13PingCAP 戴涛:构建面向未来的金融核心系统
- 2024-05-09flutter3.x_macos桌面os实战
- 2024-05-09Rust中的并发性:Sync 和 Send Traits
- 2024-05-08使用Ollama和OpenWebUI在CPU上玩转Meta Llama3-8B
- 2024-05-08完工标准(DoD)与验收条件(AC)究竟有什么不同?
- 2024-05-084万 star 的 NocoDB 在 sealos 上一键起,轻松把数据库编程智能表格
- 2024-05-08Mac 版Stable Diffusion WebUI的安装
- 2024-05-08解锁CodeGeeX智能问答中3项独有的隐藏技能