JDBC+MySQL入门实战(实现CURD的例子) (5)

通过上面的函数在test单元测试中编写selectTest() 测试函数在控制台打印从数据库中查询所有age小于21的记录:

@Test public void selectTest() throws SQLException, ClassNotFoundException { sqlmanage sqlmanage=new sqlmanage(); List<student>list=sqlmanage.getallstudent(); System.out.println(list.toString()); }

可以看到数据被成功查询:

JDBC+MySQL入门实战(实现CURD的例子)

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(); }

在tes单元测试中编写updateTest()函数调用sqlmanage类的update()方法,将student表中所有age为12的记录的name设为xiaoming。

@Test public void updateTest() throws SQLException, ClassNotFoundException { sqlmanage sqlmanage=new sqlmanage(); sqlmanage.update(); }

刷新Navicat 你会发现数据被成功更新了:

JDBC+MySQL入门实战(实现CURD的例子)

删除数据

JDBC删除也是常用的一种操作,但删除的操作一定要谨慎,谨防误删、多删等操作。删除的语句一般都有where条件,否则会删除所有记录。删除的sql语句为:

delete from 表名 [where条件];

我们编写一个按照id删除记录的函数,在sqlmanage中编写deletebyid(int id),该函数意为根据id删除student表中对应id的一条记录:

public void deletebyid(int id) throws SQLException { String sql = "delete from student where id = ?"; PreparedStatement ps = con.prepareStatement(sql); ps.setInt(1,id); ps.executeUpdate(); ps.close(); }

这么一个根据id删除的函数就写好了,我们在test单元测试中编写deleteTest()测试函数删除student表中id为1的那条记录。:

@Test public void deleteTest() throws SQLException, ClassNotFoundException { sqlmanage sqlmanage=new sqlmanage(); sqlmanage.deletebyid(1); }

执行完成查看数据库发现id为1的记录(name为bigsai的记录)被成功删除:

JDBC+MySQL入门实战(实现CURD的例子)

总结与拓展 总结

好了,本次JDBC+MySQL的增删改查的案例就到这里了。回顾本课程你是不是觉得一切好像没那么难,只需要按部就班就可以完成整个案例。我们回顾一下整个流程:

创建数据库和表

创建项目添加JDBC和Junit单元测试依赖

编写项目代码(JDBC 6个步骤)

单元测试

每个流程代表一个知识点,其中最重要的就是要熟练掌握JDBC编程的流程了,掌握其方法,如果有所遗忘还得多多回顾。

拓展

MySQL本案例只使用了四种基本操作对应的sql语句:insert(插入),select(查询),update(修改),delete(删除)。如果需要深入学习MySQL的话很多方面需要深入挖掘,从sql语句上你还需要去学习MySQL复杂查询例如关联查询、分组、排序等。从性能上要关注MySQL索引类型以及了解其底层数据结构与优势。从安全性和数据一致性你要去了解学习MySQL脏读、幻读等以及各种锁的使用……

JDBC+MySQL入门实战(实现CURD的例子)

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zwjdsf.html