Loading... <div class="tip share">请注意,本文编写于 409 天前,最后修改于 390 天前,其中某些信息可能已经过时。</div> > **JDBC全称是Java数据库连接(Java DataBase Connectivity),它是一套用于执行**[SQL语句](https://so.csdn.net/so/search?q=SQL%E8%AF%AD%E5%8F%A5&spm=1001.2101.3001.7020)的JavaAPI。应用程序可以通过这套API连接到关系型数据库,并使用SQL语句来完成对数据库中数据的查询、更新、新增和删除的操作。 ### 1.导入jar包 [下载地址](https://dev.mysql.com/downloads/connector/j/) ### 2.创建数据库配置文件 **在项目src目录下创建db.properties文件** ```properties #db.properties # MySQL8.0+请使用com.mysql.cj.jdbc.Driver Driver=com.mysql.jdbc.Driver # 127.0.0.1可以省略 url=jdbc:mysql://127.0.0.1/database username=root password=root ``` ### 3.编写JDBCUtil.java文件 1. **配置静态字段** ```java //配置静态字段 private static String driver; private static String url; private static String username; private static String password; //连接池对象 private static Connection con; //数据库连接对象 private static PreparedStatement pst; //数据库执行对象 private static ResultSet rst; //返回结果集 ``` 2. **加载数据库驱动** ```java static { //创建静态代码块 //创建配置文件数据流 InputStream is = JDBCUtil.class.getClassLoader().getResourceAsStream("db.properties"); //创建配置文件对象 Properties ps = new Properties(); try { //加载配置文件数据流 ps.load(is); driver = ps.getProperty("Driver"); url = ps.getProperty("url"); username = ps.getProperty("username"); password = ps.getProperty("password"); } catch (IOException e) { e.printStackTrace(); } try { //加载驱动 Class.forName(driver); } catch (ClassNotFoundException e) { e.printStackTrace(); } } ``` 3. **创建获取连接的方法** ```java //获取数据库连接 private static Connection getConnection(String driver,String username,String password) throws SQLException { return DriverManager.getConnection(driver,username,password); } ``` 4. **创建增删改的方法** ```java //执行增删改操作 public static boolean executeUpdate(String sql,Object...obj) throws SQLException { // String sql = "select * from stu where name=? and age=?"; sql语句示例,‘?’为参数 boolean flag; con=getConnection(driver,username,password); //获取数据库连接 pst = con.prepareStatement(sql); //SQL执行对象 if(obj.length>0){ //设置sql执行语句中参数 for (int i = 0; i < obj.length; i++) { pst.setObject(i+1,obj[i]); } } flag=pst.executeUpdate()>0; con.close(); //关闭数据库连接 pst.close(); //关闭SQL执行对象 return flag; } ``` 5. **创建查询的方法** ```java //执行查询操作 public static ResultSet executeQuery(String sql,Object...obj) throws SQLException { // String sql = "insert stu(name,age) values(?,?)"; sql语句示例,‘?’为参数 con=getConnection(driver,username,password); //获取数据库连接 pst = con.prepareStatement(sql); //SQL执行对象 if(obj.length>0){ //设置sql执行语句中参数 for (int i = 0; i < obj.length; i++) { pst.setObject(i+1,obj[i]); } } rst = pst.executeQuery(); return rst; } ``` 6. **创建释放的方法** ```java //释放连接资源 private static void close(Connection con,PreparedStatement pst){ if(con!=null) { try { con.close(); } catch (SQLException throwables) { throwables.printStackTrace(); } } if(pst!=null) { try { pst.close(); } catch (SQLException throwables) { throwables.printStackTrace(); } } } ``` > 关于JDBC的进阶使用方法:<a class="post_link" href="https://www.13s.fun/221.html"><i data-feather="file-text"></i>Druid 数据库连接池 简化JDBC</a> 最后修改:2022 年 05 月 08 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 8 如果觉得我的文章对你有用,请随意赞赏
2 条评论
当时学JAVA就是学到这里之后就没学了
以后还会出更多java的教程的,本人也是主学java的,另外你也可以加下群,有什么技术难题都可以在群里交流。