创建数据库

创建 user 数据库

  

创建 teacher 数据库

  

teacher表的user_id列与user表的id列建立一对多连接,user_id作为外键。

Java编程查询数据库

向user数据表中添加数据

    /**
* 添加数据
*/
@Test
public void addData() {
Connection connection = null;
PreparedStatement pstmt =null;
try {
connection = JDBCUtils_V3.getConnection();
String sql = "insert into user values(null,?,?)";
pstmt = connection.prepareStatement(sql);
pstmt.setString(1, "wangxuan");
pstmt.setString(2, "741852");
int row = pstmt.executeUpdate();
if (row>0) {
System.out.println("数据添加成功!");
}else {
System.out.println("数据添加失败!");
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
JDBCUtils_V3.release(connection, pstmt, null);
}
}

  

按照条件查询user数据库数据

    /**
* 按照条件查询数据
*/
@Test
public void selectTest() {
Connection conn = null;
PreparedStatement pstmt = null;
ResultSet rs =null;
try {
conn = JDBCUtils_V3.getConnection();
String sql = "select * from user where password = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, "123456");
rs = pstmt.executeQuery();
while (rs.next()) {
System.out.println(rs.getString(1)+"----"+rs.getString(2)+"---"+rs.getString(3));
}
// System.out.println(rs);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
JDBCUtils_V3.release(conn, pstmt, rs);
}
}

  

一对多查询/根据主表user查询从表teacher数据

    /**
* 一对多查询
* 根据主表查询从表
*/
@Test
public void selectOnetoMore() {
Connection conn = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
try {
conn = JDBCUtils_V3.getConnection();
// String sql = "select * from teacher where user_id = (select id from user where username =?) ";
String sql = "select * from user,teacher where user.id = teacher.user_id ";
pstmt = conn.prepareStatement(sql);
// pstmt.setString(1, "wangxuan");
rs = pstmt.executeQuery();
while (rs.next()) {
// System.out.println(rs.getString(1)+"----"+rs.getString(2)+"---"+rs.getString(3)+"---"+rs.getString(4));
System.out.println(rs.getString(1)+"----"+rs.getString(2)+"---"+rs.getString(3)+"---"+rs.getString(4)+"----"+rs.getString(5)+"----"+rs.getString(6)+"----"+rs.getString(7));
}
System.out.println("查询完成");
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
JDBCUtils_V3.release(conn, pstmt, rs);
}
}

  

一对多查询/根据从表查询主表

    /**
* 一对多查询
* 根据从表查询主表数据
*/
@Test
public void selectMoretoOne() {
Connection connection = null;
PreparedStatement pstmtPreparedStatement = null;
ResultSet rSet =null;
try {
connection = JDBCUtils_V3.getConnection();
String sql = "select * from user where id = (select user_id from teacher where teacher=?)";
pstmtPreparedStatement = connection.prepareStatement(sql);
pstmtPreparedStatement.setString(1, "钱田");
rSet = pstmtPreparedStatement.executeQuery();
while (rSet.next()) {
System.out.println(rSet.getString(1)+"----"+rSet.getString(2)+"---"+rSet.getString(3));
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
JDBCUtils_V3.release(connection, pstmtPreparedStatement, rSet);
}
}
}

  

项目代码https://github.com/wjw1014/JavaMysqlStudy/tree/master/ConnSQL (小白操作,仅供参考!)

Java查询数据库的更多相关文章

  1. java查询数据库数据时报错antlr/ANTLRException

    在集成SH项目时,写hql 语句总是查不出东西,而且报 java.lang.NoClassDefFoundError: antlr/ANTLRException,郁闷了很久在网上终于找到了答案,原来是 ...

  2. 【助教】Java获取数据库数据展示

    本文将给出一个最简单的Java查询数据库中一张表的数据并将查询结果展示在页面的例子. 实际上,我们要解决以下两个问题: Java与数据库交互(以JDBC为例) 数据展示在前台页面(以Servlet+J ...

  3. Java 通过JDBC查询数据库表结构(字段名称,类型,长度等)

    Java 通过JDBC查询数据库表结构(字段名称,类型,长度等) 发布者:唛唛家的豆子   时间:2012-11-20 17:54:02   Java 通过JDBC查询数据库表结构(字段名称,类型,长 ...

  4. Java 8:如何使用流方式查询数据库?

    Speedment 是使用 ORM 方式操作数据库的一种选择,以前我们需要100行操作数据库的 Java 代码,在 Java 8中,可能只需要一行代码. 在90年代末,我使用 Java 开发数据库应用 ...

  5. [置顶] oracle 快速查询数据库各种信息、及转换对应java代码

    1 查询表中数据量 select 'select '||''''||t.TABLE_NAME||''''||' as table_name, count(*) from '|| t.TABLE_NAM ...

  6. JAVA与数据库MySQL相连接

    JDBC(Java数据库连接体系结构): 是Java实现数据库访问的应用程序编程接口,主要功能是管理存放在数据库中的数据.通过接口对象,应用程序可以完成与数据库的连接,执行SQL语句,从数据库中获取结 ...

  7. mySql事务_ _Java中怎样实现批量删除操作(Java对数据库进行事务处理)?

      本文是记录Java中实现批量删除操作(Java对数据库进行事务处理),在开始之前先来看下面这样的一个页面图: 上面这张图片显示的是从数据库中查询出的出租信息,信息中进行了分页处理,然后每行的前面提 ...

  8. Java查询大文本

    但JAVA本身缺少相应的类库,需要硬编码才能实现结构化文件计算,代码复杂且可读性差,难以实现高效的并行处理. 使用免费的集算器可以弥补这一不足.集算器封装了丰富的结构化文件读写和游标计算函数,书写简单 ...

  9. 【java 获取数据库信息】获取MySQL或其他数据库的详细信息

    1.首先是 通过数据库获取数据表的详细列信息 package com.sxd.mysqlInfo.test; import java.sql.Connection; import java.sql.D ...

随机推荐

  1. K3/Cloud 执行计划任务错误排查

    计划任务的不执行原因可能有: 1.K3CloudJobProcess服务处于停止状态. 2.数据中心未勾选“允许执行计划任务”. 这种情况此数据中心下的所有计划任务都不会执行到. 3.第一次加进计划任 ...

  2. C++——字符串处理

    11.用字符数组存储和处理字符串 字符数组的声明和引用  字符串: 字符串常量 “china”,没有字符串变量,用字符数组来存放字符串,字符串以‘\0’结束. 字符串数组的初始化: 逐个输出输入字符串 ...

  3. DES加密算法 转

    1.什么是对称密码算法 网络安全通信中要用到两类密码算法,一类是对称密码算法,另一类是非对称密码算法.对称密码算法有时又叫传统密码算法.秘密密钥算法或单密钥算法,非对称密码算法也叫公开密钥密码算法或双 ...

  4. mysql对表中数据根据某一字段去重

    要删除重复的记录,就要先查出重复的记录,这个很容易做到 注意:这是查出所有重复记录的第一条记录,需要保留,因此需要添加查询条件,查出所有的重复记录 ) ) 然后 delete from cqssc w ...

  5. laravel Type error: Argument 2 passed to Illuminate\Routing\UrlGenerator::__construct() must be an instance of Illuminate\Http\Request

    第一种情况: 传递给 UrlGenerator 的第二个参数是 Request 实例 你传进去的是null, 可以检查 config文件夹下的配置文件是否有用到 url() 函数的,如果有,将 url ...

  6. Python :元组,不可修改的序列

  7. HTML的创建

    创建一个HTML 直到产生scr文件之前的创建和原来建Java项目一样. 把scr文件Delete. 创建HTML File 4. 设置浏览器(我用的是搜狗浏览器,所以先找到搜狗的exe文件位置,导入 ...

  8. Java:面向对象的编程语言

    java是面向对象的编程语言 Object,就是指面向对象的对象,对象就是实例. 在java里,对象是类的一个具体实例.就像:人,指一个类.你.我.他.张三.李四.王五等则是一个个具体的实例,也就是j ...

  9. day11 ss命令 查看网络端口使用情况及对应pid centos7

    [root@oldboyedu ~]# ss -lntup Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port udp UNC ...

  10. PHP 可选参数

    function chooseable($a,$b,$d,$c="我是可选参数c"){ //注意:可选参数一定要是在必选参数后面(有默认值就是可选参数):PHP中参数一定要变量符号 ...