@Testpublic void insertStudentsTest() throws SQLException, ClassNotFoundException { sqlmanage sqlmanage=new sqlmanage(); student students[]=new student[5]; for(int i=0;i<students.length;i++) { students[i]=new student("路人"+i,12,156); } sqlmanage.insertStudents(students);}
执行完毕后你可以看到数据被成功插入MySQL中:文章插图
查询数据查询的使用频率要远比其他的操作多,虽然有些复杂表的查询可能会让人比较头疼,但基础的sql查询还是比较简单,其语法格式为:
select 字段1,字段2,…… from 表名 [where 条件] //方式1select * from 表名 [where 条件] //方式2
其中如果没有where条件那么就默认查询整张表的内容,我们在这里根据此条件查询所有记录:查询返回年龄小于21岁的所有学生 。首先在sqlmanage中编写getallstudent()函数,用来查询student表中所有age小于21的记录,并把查询的数据最终以List<studnet>类型返回:
public List<student> getallstudent() throws SQLException { List<student>list=new ArrayList<student>();//返回的结果 String sql = "select * from student where age < 21"; PreparedStatement ps = con.prepareStatement(sql); ResultSet resultSet=ps.executeQuery();//结果集 while(resultSet.next())//遍历 { int id=resultSet.getInt(1); String name=resultSet.getString(2); int age=resultSet.getInt(3); int high=resultSet.getInt(4); list.add(new student(id,name,age,high)); } ps.close(); return list; }
在前面讲的插入的过程返回值其实不需要特别处理,因为返回是插入成功与否的消息,而在查询的步骤就要严格的跟着JDBC的6个步骤来—因为需要对返回的数据进行处理 。我们主要通过ResultSet处理返回的数据 。在对ResultSet进行迭代遍历取值的过程中,通过getXXX(int index)的方法取值并自动转换为java对应的数据类型 。而index为MySQL数据库表格列的编号,也是数据在ResultSet中的对应序列号 。
通过上面的函数在test单元测试中编写selectTest() 测试函数在控制台打印从数据库中查询所有age小于21的记录:
@Testpublic void selectTest() throws SQLException, ClassNotFoundException { sqlmanage sqlmanage=new sqlmanage(); List<student>list=sqlmanage.getallstudent(); System.out.println(list.toString());}
可以看到数据被成功查询:文章插图
JDBC修改和删除修改数据对某个确定的记录修改,我们一般根据这条信息的主键作为条件进行修改 。而修改一般都需要条件语句where,否则修改整个表的内容 。修改的MySQL语句为:
update 表名 set 字段 = 值 [where条件]; -- 建议都有where: 不然的话会修改每一条数据
这里我们假设将上述student表中所有age为12的记录的name设置为xiaoming 。在sqlmanage中编写update()函数用来进行修改:public void update() throws SQLException { String sql = "update student set name='xiaoming' where age=12"; PreparedStatement ps = con.prepareStatement(sql); ps.executeUpdate(); ps.close(); }
推荐阅读
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 两期比重差公式推导-平均数增长率公式和两期比重差公式-
- 尤克里里新手入门须知
- 不知不觉已是容器化时代,这篇文章带你快速入门Docker容器技术
- 龙井茶菊花鱼,越南对东盟各国的茶鱼出口量猛增
- 乳腺小叶增生如何治疗
- 为什么10个女人9个乳腺增生 治疗乳腺增生多做这运动
- 跑步会有增高作用吗?
- 《学习强国》怎么快速增分?
- 安徽以鱼泡茶,越南对东盟各国的茶鱼出口量猛增
- 止汗剂会增加乳腺癌风险吗