Java中使用JDBC连接数据库[通俗易懂]

Java中使用JDBC连接数据库[通俗易懂]Java中使用JDBC连接数据库加载驱动创建数据库连接创建执行sql的语句执行语句处理执行结果释放资源源代码附上:packagecom.demo.test;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.PreparedStatement;imp…

大家好,又见面了,我是你们的朋友全栈君。

Java中使用JDBC连接数据

  1. 加载驱动

  2. 创建数据库连接

  3. 创建执行sql的语句

  4. 执行语句

  5. 处理执行结果

  6. 释放资源

源代码附上:

package com.demo.test;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

/**
 * Java中使用JDBC连接数据库 
 *  1) 加载驱动 2) 创建数据库连接
 *  3) 创建执行sql的语句 4) 执行语句 5) 处理执行结果 6) 释放资源 
 * @author liu.hb
 *
 */
public class DBHelper {
	/**
	 * Statement 和 PreparedStatement之间的关系和区别.
	    关系:PreparedStatement继承自Statement,都是接口
	    区别:PreparedStatement可以使用占位符,是预编译的,批处理比Statement效率高  
	 */
	public static void conn() {
		String URL = "jdbc:mysql://127.0.0.1:3306/Supermarket?characterEncoding=utf-8";
		String USER = "root";
		String PASSWORD = "123";
		// 1.加载驱动程序
		try {
			Class.forName("com.mysql.jdbc.Driver");
			// 2.获得数据库链接
			Connection conn = DriverManager.getConnection(URL, USER, PASSWORD);
			// 3.通过数据库的连接操作数据库,实现增删改查(使用Statement类)
			String name="张三";
			//预编译
			String sql="select * from userinfo where UserName=?";
			PreparedStatement statement = conn.prepareStatement(sql);
			statement.setString(1, name);
			ResultSet rs = statement.executeQuery();
//			String sql="select * from userinfo where UserName='"+name+"'";
//			Statement statement = conn.createStatement();			
//			ResultSet rs = statement.executeQuery(sql);
			// 4.处理数据库的返回结果(使用ResultSet类)
			while (rs.next()) {
				System.out.println(rs.getString("UserName") + " " + rs.getString("Password"));
			}

		// 关闭资源【多谢指正】
		rs.close();
		statement.close();	
		conn.close();					
	} catch (ClassNotFoundException e) {			
		e.printStackTrace();
	}catch (SQLException e) {			
		e.printStackTrace();
	}		
	}



public static void main(String[] args) {
	conn();
}

}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/152267.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 树莓派4b串口通信配置

    树莓派4b串口通信配置树莓派4b本身是两个串口,运行ls/dev-al如下:请注意:在默认状态下,serial0(就是GPIO14,15)是映射到ttyS0的(就是MINI串口:/dev/ttyS0),ttyS0的特点是其工作时钟来自于CPU,CPU的时钟呢又是从600MHZ到1.5Ghz动态变化的,所以这个串口经常会因为时钟频率发生变化而发生错误,因此我们不用这个串口。默认状态下,serial1(跟板载蓝牙…

    2022年6月1日
    71
  • Windows server 2012 R2 部署WSUS补丁服务[通俗易懂]

    Windows server 2012 R2 部署WSUS补丁服务[通俗易懂]一、WSUS安装要求1、硬件要求:对于多达13000个客户端的服务器,建议使用以下硬件:*4CoreE5-26092.1GHz的处理器*8GB的RAM2、软件要求:要使

    2022年7月2日
    57
  • mybatis log plugin激活码激活流程[最新免费获取][通俗易懂]

    (mybatis log plugin激活码激活流程)好多小伙伴总是说激活码老是失效,太麻烦,关注/收藏全栈君太难教程,2021永久激活的方法等着你。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html1STL5S9V8F-eyJsaWNlbnNlSWQi…

    2022年3月27日
    33
  • oracle12.2灵异的ORA-01017: invalid username/password; logon denied[通俗易懂]

    oracle12.2灵异的ORA-01017: invalid username/password; logon denied[通俗易懂]今天研发一台数据库,我需要做个物理备份,出现一个灵异的错oracle@kungpeng-sk-db01[/oracle/product/122/dbs]$sqlplus/assysdbaSQL*Plus:Release12.2.0.1.0ProductiononFriOct1219:11:182018Copyright(c)1982,2016,Orac…

    2022年5月31日
    186
  • MFC线程同步—— CCriticalSection类使用

    MFC线程同步—— CCriticalSection类使用多个线程访问临界区时,可以使用临界区对象。临界区对象是一个独占性共享资源,任一时刻只有一个线程可以拥有临界区。拥有临界区的线程可以访问被保护起来的资源或代码段,其他希望进入临界区的线程将被挂起等待,直到拥有临界区的线程放弃临界区时为止。CCriticalSection类的用法:方法一:(1)定义CCriticalSection类的一个全局对象(以使各个线程均能访问):

    2022年7月20日
    10
  • 谷歌安装Hackbar

    谷歌安装Hackbar首先下载Hackbar插件:将其中的压缩包拖拽到Chrome的扩展程序。点击详细信息在下面的“来源”处点击一个链接:会跳转到给插件在Chrome中安装的文件位置,打开hackbar-panel.js文件将三处disable_hackbar()函数替换成init(),保存即可。完成…

    2022年5月24日
    189

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号