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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 窗口动画缩放,过渡动画缩放,Animator时长缩放_关闭动画缩放好不好

    窗口动画缩放,过渡动画缩放,Animator时长缩放_关闭动画缩放好不好最近用到了ScaleAnimation来实现图片放大需求,今天就把使用过程中学习的一些东西总结记录一下,希望能对大家有所帮助。-ScaleAnimation是Android官方提供的动画类Animation的子类Animation类是一个抽象类,我们通常会使用它的四个子类AlphaAnimation、RotateAnimation、ScaleAnimation和TranslateAnimation,他们分别可以实现渐变动画、旋转动画、平移动画、缩放动画功能,当然我们今天的主角就是缩放动画Scal

    2022年10月15日
    3
  • bat批量删除文件后缀_怎么批量删除文件名中的数字

    bat批量删除文件后缀_怎么批量删除文件名中的数字起因一个字,懒!但是机器做简单重复的事,都不会这么觉得~反而可能乐在其中哈!具体操作用bat命令批量操作,新建一个.bat文件(就是.txt文件改一下后缀),然后用文本格式打开,键入:@echooffSetlocalEnabledelayedexpansionset”str=想要去掉的字符串”for/f”delims=”%%iin(‘dir/b*.*…

    2022年9月24日
    1
  • Java—java.util.calendar类详解「建议收藏」

    Java—java.util.calendar类详解「建议收藏」目录一、概述二、静态常量三、静态方法四、实例五、GregorianCalendar类一、概述java.util.Calendar类是一个抽象类,是java日期处理的核心类之一。Calendar类为操作日历字段,及其与特定瞬间之间的转换提供了方法。日历字段包含YEAR、MONTH、DAY_OF_MONTH、HOUR等,它们都是Calendar类的静态常量。二、静态常量…

    2022年9月23日
    3
  • 数列极限定义详解「建议收藏」

    数列极限定义详解「建议收藏」数列极限的定义个人感觉不太好理解,我看了两天的教程才彻底明白数列极限的定义。在一般的教材里数列极限的定义为这说的比较抽象,我半天都理解不了N是怎么来的,n与N有什么区别,为什么要用去减a,这里我对自己的疑问做了个总结。首先是为什么要用去减a,两个数之间的接近程度可以用两个之差的绝对值来度量,差值越小,两个数就越接近(说法来源于《高等数学》同济大学)。两个数的接近程度小于任给的正数​…

    2022年4月29日
    36
  • 电脑加速 2010年最新方法

    电脑加速 2010年最新方法
    1、加快开关机速度

      XP中关机时,系统会发送消息到运行程序和远程服务器,告诉它们系统要关闭,并等待接到回应后系统才开始关机。加快开机速度,可以先设置自动结束任务,首先找到HKEY_CURRENT_USERControlPanelDesktop,把AutoEndTasks的键值设置为1;然后在该分支下有个“HungAppTimeout”,把它的值改为“4000(或更少),默认为50000;最后再找到HKEY_LOCAL_MACHINESystemCurrentContr

    2022年4月30日
    34
  • Linux下 解决Tomcat8不自动解压war包[通俗易懂]

    Linux下 解决Tomcat8不自动解压war包[通俗易懂]之前买了阿里云服务器后配置好了jdk,Tomcat,mysql等。然后就想当然的将项目打成war包,直接拖到Tomcat的webapps下,但无论怎么重启项目就是不自动解压,后来查了各方面资料,删除这个文件那个文件的,差点把Tomcat搞崩溃了也没找到原因,最后看到讲一个将Tomcat里面配置文件的文章我才发现原来是tomcat/conf下server.xml里面的这行配置搞的鬼。其中:…

    2022年10月4日
    3

发表回复

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

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