加入收藏 | 设为首页 | 会员中心 | 我要投稿 武汉站长网 (https://www.027zz.cn/)- 云连接、智能边缘云、数据快递、云手机、云日志!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

MySQL与Java交互教程(二)

发布时间:2024-03-05 10:56:16 所属栏目:MySql教程 来源:小林写作
导读: 五、MySQL与Java交互之高级查询
1.联合查询
联合查询是指将两个或多个表进行关联查询的一种操作。在Java中,我们可以使用JDBC提供的`Statement`对象的`executeQuery()`方法进行联合查询。以下是一个简单的示例:
  五、MySQL与Java交互之高级查询
1.联合查询
联合查询是指将两个或多个表进行关联查询的一种操作。在Java中,我们可以使用JDBC提供的`Statement`对象的`executeQuery()`方法进行联合查询。以下是一个简单的示例:
```java
//连接MySQL数据库
Connection  conn  =  DriverManager.getConnection("jdbc:mysql://localhost:3306/test",  "username",  "password");
//创建Statement对象
Statement  stmt  =  conn.createStatement();
//执行联合查询
ResultSet  rs  =  stmt.executeQuery("SELECT  a.id,  a.name,  b.address  FROM  users  a,  addresses  b  WHERE  a.id  =  b.user_id");
//处理查询结果
while  (rs.next())  {
System.out.println("ID:  "  +  rs.getInt("id")  +  ",姓名:  "  +  rs.getString("name")  +  ",  地址:  "  +  rs.getString("address"));
}
//关闭资源
rs.close();
stmt.close();
conn.close();
```
2.子查询
子查询是指在查询语句中嵌套另一个查询语句。在Java中,我们可以使用`SELECT  ...  INNER  JOIN  ...  ON  ...`或者`SELECT  ...  WHERE  ...`等语句实现子查询。以下是一个简单的示例:
```java
//连接MySQL数据库
Connection  conn  =  DriverManager.getConnection("jdbc:mysql://localhost:3306/test",  "username",  "password");
//创建Statement对象
Statement  stmt  =  conn.createStatement();
//执行子查询
ResultSet  rs  =  stmt.executeQuery("SELECT  *  FROM  users  WHERE  id  IN  (SELECT  user_id  FROM  addresses)");
//处理查询结果
while  (rs.next())  {
System.out.println("ID:  "  +  rs.getInt("id")  +  ",姓名:  "  +  rs.getString("name"));
}
//关闭资源
rs.close();
stmt.close();
conn.close();
```
3.聚合函数
聚合函数是用于对查询结果进行统计和汇总的函数。在Java中,我们可以使用如`COUNT()`,  `SUM()`,  `AVG()`,  `MAX()`,  `MIN()`等聚合函数。以下是一个简单的示例:
```java
//连接MySQL数据库
Connection  conn  =  DriverManager.getConnection("jdbc:mysql://localhost:3306/test",  "username",  "password");
//创建Statement对象
Statement  stmt  =  conn.createStatement();
//执行聚合函数查询
ResultSet  rs  =  stmt.executeQuery("SELECT  COUNT(*)  FROM  users");
//处理查询结果
while  (rs.next())  {
System.out.println("用户数量:  "  +  rs.getInt(1));
}
//关闭资源
rs.close();
stmt.close();
conn.close();
```
六、MySQL与Java交互之事务处理
1.事务概念
事务是指满足ACID特性的一组操作。ACID特性包括:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性(Durability)。
2.事务操作
在Java中,我们可以使用`Connection`对象的`setAutoCommit()`方法开启或关闭自动提交,以及使用`commit()`和`rollback()`方法进行事务提交和回滚。以下是一个简单的示例:
```java
//连接MySQL数据库
Connection  conn  =  DriverManager.getConnection("jdbc:mysql://localhost:3306/test",  "username",  "password");
//开启自动提交
conn.setAutoCommit(false);
//执行插入操作
String  sql1  =  "INSERT  INTO  users  (name,  age)  VALUES  ('Alice',25)"];
Statement  stmt1  =  conn.createStatement();
stmt1.executeUpdate(sql1);
//执行更新操作
String  sql2  =  "UPDATE  users  SET  age  =26  WHERE  name  =  'Bob'";
Statement  stmt2  =  conn.createStatement();
stmt2.executeUpdate(sql2);
//
 

(编辑:武汉站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章