JDBC访问Mysql示例
一.简单的JDBC代码示例
引入jdbc驱动及版本配套参考:
https://www.freesion.com/article/62481423704/
或者maven项目内引入依赖:
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.47</version>
</dependency>
1.查询语句
public class JdbcFirstDemo {
public static void main(String[] args) throws ClassNotFoundException, SQLException {
// 1.载入jdbc驱动
Class.forName("com.mysql.cj.jdbc.Driver");
// 2.配置基本信息
String url = "jdbc:mysql://localhost:3306/workdb?useUnicode=true&characterEncoding=utf8&useSSL=true";
String username = "root";
String password = "123456";
// 3.获取数据库连接对象
Connection connection = DriverManager.getConnection(url, username, password);
// 4.创建sql对象
Statement statement = connection.createStatement();
// 5.执行查询sql
String sql = "select * from t_students";
ResultSet resultSet = statement.executeQuery(sql);
while (resultSet.next()) {
System.out.println(resultSet.getObject("id"));
System.out.println(resultSet.getObject("name"));
System.out.println(resultSet.getObject("gender"));
System.out.println(resultSet.getObject("grade"));
System.out.println(resultSet.getObject("score"));
System.out.println("====================================");
}
}
}
结果:
2.插入语句
// 6.插入语句
String sql2 = "insert into t_students (`name`, `gender`, `grade`,`score`,`student_no`) values ('小明','2','4',95,6)";
int res = statement.executeUpdate(sql2);
if (res >= 1) {
System.out.println("insert successful.");
} else {
System.out.println("error.");
}
截图:
3.更新语句
// 7. 更新语句
String sql3 = "update t_students set score = 100 where id = 21";
int res = statement.executeUpdate(sql3);
if (res >= 1) {
System.out.println("update successful.");
} else {
System.out.println("error.");
}
截图:
4.删除语句
// 8. 删除语句
String sql4 = "delete from t_students where id = 21";
int res = statement.executeUpdate(sql4);
if (res >= 1) {
System.out.println("delete successful.");
} else {
System.out.println("error.");
}
截图:
二.通过JDBC工具类访问Mysql
1. JDBC配置文件(需放到工程代码中的resource路径下)
driver=com.mysql.cj.jdbc.Driver
url=jdbc:mysql://localhost:3306/workdb?useUnicode=true&characterEncoding=utf8&useSSL=true
username=root
password=123456
2. JDBC工具类
public class JdbcUtils {
// jdbc驱动
private static String driver = null;
// 数据库url
private static String url = null;
// 数据库用户
private static String username = null;
// 数据库密码
private static String password = null;
static {
try {
InputStream resourceAsStream = JdbcUtils.class.getClassLoader().getResourceAsStream("db.properties");
Properties properties = new Properties();
properties.load(resourceAsStream);
driver = properties.getProperty("driver");
url = properties.getProperty("url");
username = properties.getProperty("username");
password = properties.getProperty("password");
// jdbc驱动加载
Class.forName(driver);
} catch (Exception e) {
e.printStackTrace();
}
}
public static Connection getConnect() throws Exception {
return DriverManager.getConnection(url, username, password);
}
public static void releaseConnection(Connection connection, Statement statement, ResultSet set) throws Exception {
if (set != null) {
set.close();
}
if (statement != null) {
statement.close();
}
if (connection != null) {
connection.close();
}
}
}
3. 示例代码:
public class JdbcSecondDemo {
public static void main(String[] args) throws Exception {
Connection connection = null;
Statement statement = null;
ResultSet set = null;
try {
connection = JdbcUtils.getConnect();
statement = connection.createStatement();
String sql = "select * from t_students";
ResultSet resultSet = statement.executeQuery(sql);
while (resultSet.next()) {
System.out.println(resultSet.getObject("id"));
System.out.println(resultSet.getObject("name"));
System.out.println(resultSet.getObject("gender"));
System.out.println(resultSet.getObject("grade"));
System.out.println(resultSet.getObject("score"));
System.out.println("====================================");
}
} catch (Exception e) {
e.printStackTrace();
} finally {
JdbcUtils.releaseConnection(connection, statement, set);
}
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!