JDBC应用实例

本次实例使用SQLite3数据库,JDBC驱动是sqlite-jdbc-3.14.2.jar


创建数据库StudentManageSystem.db,创建表Student

创建Student类

package cjx913;

public class Student {

	private int id;
	private String name;

	public Student() {
		super();
	}

	public Student(int id, String name) {
		super();
		this.id = id;
		this.name = name;
	}

	public int getId() {
		return id;
	}

	public void setId(int id) {
		this.id = id;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	@Override
	public String toString() {
		return "Student [id=" + id + ", name=" + name + "]";
	}

}

创建test类
package cjx913;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;

public class test {
	/**
	 * 使用SQLite数据库
	 */
	private static String sqlDriver = "org.sqlite.JDBC" ;
	private static Connection conn = null;
	private static String url = "jdbc:sqlite:E:/SQLite3/StudentManageSystem.db";
	
	/**
	 * 使用Oracle数据库
	 * String sqlDriver = "oracle.jdbc.driver.OracleDriver" ;// 加载Oracle驱动程序
	 * String url = "jdbc:oracle:thin:@" + "host:port:databaseName"; // 连接使用的url  
	 * String user = "your database userName"; // 数据库用户名  
	 * String password = "your database password"; // 密码  
	 * conn = DriverManager.getConnection(url, user, password);// 获取连接  
	 * 
	 */
	
	/**
	 * 使用MySQL数据库
	 * String sqlDriver = "com.mysql.jdbc.Driver" ;
	 * String url = "jdbc:mysql://host:port:databaseName";
	 * String username = "your database userName";
	 * String password = "your database password";
	 */

	public static void main(String[] args) {

		List<Student> list = fetchData();
		for(Student e:list){
			System.out.println(e);
		}
		
		Student stu = login(2,"b");
		if(stu!=null){
			System.out.println("logined succeed"+"\n当前登录的用户是:"+stu.getName());
		}else{
			System.out.println("logined failed");
		}
		//System.out.println(stu);
		
		//register(6, "f");
		//register(7, "g");
	}

	public static void register(int id,String name){
		try {
			Class.forName(sqlDriver);
			conn = DriverManager.getConnection(url);//用Oracle数据库和MySQL数据库有用户和密码要输入
			PreparedStatement ps = conn.prepareStatement("INSERT INTO Student VALUES(?,?)");
			ps.setInt(1, id);
			ps.setString(2, name);
			ps.executeUpdate();
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		} catch (SQLException e) {
			e.printStackTrace();
		}finally{
			if (conn != null) {
				try {
					conn.close();
				} catch (SQLException e) {
					e.printStackTrace();
				}
			}
		}
		
	}
	public static Student login(int id,String name){
		Student student = null;
		try {
			Class.forName(sqlDriver);
			conn = DriverManager.getConnection(url);
			PreparedStatement ps = conn.prepareStatement("SELECT * FROM Student WHERE id=? AND name=?");
			ps.setInt(1, id);
			ps.setString(2, name);
			ResultSet rs = ps.executeQuery();
			if(rs.next()){
				student = new Student(rs.getInt(1), rs.getString(2));
			}
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		} catch (SQLException e) {
			e.printStackTrace();
		}finally{
			if (conn != null) {
				try {
					conn.close();
				} catch (SQLException e) {
					e.printStackTrace();
				}
			}
		}
		
		return student;
	}
	
	public static List<Student> fetchData() {
		List<Student> list = new ArrayList<Student>();
		Student student = null;
		try {
			Class.forName(sqlDriver);
			conn = DriverManager.getConnection(url);
			Statement sm = conn.createStatement();
			String sel = "SELECT * FROM Student";
			ResultSet rs = sm.executeQuery(sel);
			while (rs.next()) {
				student = new Student(rs.getInt(1), rs.getString(2));
				list.add(student);
			}
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		} catch (SQLException e) {
			e.printStackTrace();
		} finally {
			if (conn != null) {
				try {
					conn.close();
				} catch (SQLException e) {
					e.printStackTrace();
				}
			}
		}
		return list;
	}
}

sqlite-jdbc-3.14.2.jar导入到工程库中


最终运行结果


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我可以为您介绍一下JDBC技术的应用案例。 JDBC是Java Database Connectivity的缩写,是Java EE平台中用于访问数据库的一种标准。下面以一个简单的数据库开发基础案例为例,介绍JDBC技术的应用。 首先,我们需要先在本地安装并配置好MySQL数据库,并创建一个名为"test"的数据库,以及一个名为"user"的表,表结构如下: ```sql CREATE TABLE user ( id INT(11) NOT NULL AUTO_INCREMENT, username VARCHAR(50) NOT NULL, password VARCHAR(50) NOT NULL, PRIMARY KEY (id) ); ``` 然后,我们需要在Java项目中导入MySQL的JDBC驱动包,这里以MySQL Connector/J驱动为例。在项目中引入驱动包后,我们可以通过以下代码连接到数据库,并执行一些基本的查询和插入操作。 ```java import java.sql.*; public class JDBCTest { public static void main(String[] args) { Connection conn = null; Statement stmt = null; ResultSet rs = null; try { // 加载MySQL的JDBC驱动 Class.forName("com.mysql.jdbc.Driver"); // 建立数据库连接 conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "password"); // 创建Statement对象,用于执行SQL语句 stmt = conn.createStatement(); // 执行查询操作 rs = stmt.executeQuery("SELECT * FROM user"); // 遍历查询结果集 while (rs.next()) { int id = rs.getInt("id"); String username = rs.getString("username"); String password = rs.getString("password"); System.out.println("id: " + id + ", username: " + username + ", password: " + password); } // 执行插入操作 stmt.executeUpdate("INSERT INTO user (username, password) VALUES ('testuser', 'testpassword')"); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } finally { // 关闭连接和Statement对象 try { if (rs != null) rs.close(); if (stmt != null) stmt.close(); if (conn != null) conn.close(); } catch (SQLException e) { e.printStackTrace(); } } } } ``` 以上代码中,我们首先加载MySQL的JDBC驱动,然后建立数据库连接,并创建Statement对象,用于执行SQL语句。接着,我们执行一个查询操作,遍历查询结果集并输出每行数据;然后执行一个插入操作,向user表中插入一条记录。最后,我们关闭连接和Statement对象。 这就是一个简单的JDBC技术的应用案例,通过JDBC技术,我们可以在Java程序中方便地访问和操作数据库。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值