00.Mybatis初级使用-回顾JDBC

本文介绍了一个使用Java JDBC连接MySQL数据库并进行基本操作的例子。通过创建Role类和JdbcUtil工具类,实现了从数据库中读取角色信息的功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

JBDC(Java Data Base Connectivity)是Java访问关系数据库的原始API,Mybatis框架也是基于JDBC之上对其封装的数据库操作工具(执行SQL)。原始API开发的程序代码质量低,不利于扩展、维护,并且资源利用率也很低(频繁连接和断开连接),需要硬编码来处理结果集(关系数据模型到Java数据模型)。实际工作中,极少直接使用JDBC开发。


JDBC连接Mysql数据库例子:


0.新建mysql test数据库中数据表role(id,role_name, note)



1.新建Java工程,导入Mysql的JDBC驱动(下载)。windows系统下载zip版本,解压后得到mysql-connector-java-5.1.41-bin.jar


2.新建Role类

package com.lz.jdbc;

public class Role {

	private Integer id;
	
	private String roleName;
	
	private String note;

	public Integer getId() {
		return id;
	}

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

	public String getRoleName() {
		return roleName;
	}

	public void setRoleName(String roleName) {
		this.roleName = roleName;
	}

	public String getNote() {
		return note;
	}

	public void setNote(String note) {
		this.note = note;
	}

	@Override
	public String toString() {
		return "Role [id=" + id + ", roleName=" + roleName + ", note=" + note + "]";
	}
	
}


新建JdbcUtil类

package com.lz.jdbc;

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

public class JdbcUtil {

	private static final String driver = "com.mysql.jdbc.Driver";
	private static String url = "jdbc:mysql://localhost:3306/";

	private static Connection connection = null;
	private static Statement statement = null;

	public static void connect(String database, String user, String password) {
		url += database;
		try {
			Class.forName(driver);
			connection = DriverManager.getConnection(url, user, password);
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		} catch (SQLException e) {
			e.printStackTrace();
		}
	}

	public static Role select(String sql) {
		Role role = new Role();
		ResultSet resultSet = null;
		try {
			statement = connection.createStatement();
			resultSet = statement.executeQuery(sql);
			while (resultSet.next()) {
				role.setId(resultSet.getInt(1));
				role.setRoleName(resultSet.getString(2));
				role.setNote(resultSet.getString(3));
			}
		} catch (SQLException e) {
			e.printStackTrace();
		} finally {
			try {
				if (resultSet != null && !resultSet.isClosed()) {
					resultSet.close();
				}
				if (connection != null && !connection.isClosed()) {
					connection.close();
				}
			} catch (SQLException e) {
				e.printStackTrace();
			}
		}
		return role;
	}

	public static void close() {
		try {
			if (statement != null && !statement.isClosed()) {
				statement.close();
			}
		} catch (SQLException e) {
			e.printStackTrace();
		}
	}
}

新建MainApp类

package com.lz.jdbc;

public class MainApp {

	public static void main(String[] args) {
		String sql = "SELECT * FROM ROLE WHERE ID = 10001";
		JdbcUtil.connect("test", "root", "luzhen");
		Role role = JdbcUtil.select(sql);
		System.out.println(role);
		JdbcUtil.close();
	}
	
}


工程目录:



运行程序,得出结果


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值