正文
- 执行数据库操作:
//5.执行数据库操作 ResultSet rs = pstate.executeQuery();//调用查询的方法 //state.executeUpdate();//insert delete update 都调用这个方法 while (rs.next()){//判断是否有下一行 String name = rs.getString("name"); String sex = rs.getString("sex"); String age = rs.getString("age"); String address = rs.getString("address"); System.out.println(name+"--"+sex+"--"+age+"--"+address); }
知识点:
1)执行executeQuery();//查询语句的方法
2)执行executeUpdate();//增删改语句的方法
返回值是ResultSet类型,本质类似于Set>:比如查询一条语句,将列名作为key,列名可以默认为String类型。查询所得的值作为value,value可以是多种类型的,因而用object存储。如果查询多条语句,则需要多个map集合,而多个map集合用set集合存储,可用迭代器来获取。
补充:
rs.getXXX(列的序号int–从1开始);
rs.getXXX(“列名字”);
rs.getString();//可以接收任何一个列的值,什么类型都可以
rs.getInt();//不能接收其他类型,比如String
第六步:关闭流
- 关闭流:先连接的后关(倒着关闭)
//6.关闭流 rs.close(); state.close(); conn.close();
总结
public class AtmDao { Atm atm = new Atm(); public Atm selectOne(String aname){ String className = "com.mysql.cj.jdbc.Driver"; String url = "jdbc:mysql://localhost:3306/atm?serverTimezone=UTC&characterEncoding=utf8"; String user = "root"; String password = "123456"; String sql = "SELECT \* FROM ATM WHERE ANAME=?"; Connection conn = null; PreparedStatement pstate = null; ResultSet rs = null; try { Class.forName(className);//加载驱动 conn = DriverManager.getConnection(url,user,password);//获取连接 pstate = conn.prepareStatement(sql);//创建预处理状态参数 pstate.setString(1,aname); rs = pstate.executeQuery(); if (rs.next()){//判断是否找到一行数据 atm.setAname(rs.getString("aname")); atm.setApassword(rs.getString("apassword")); atm.setAbalance(rs.getFloat("abalance")); } } catch (Exception e) { e.printStackTrace(); }finally { try { if (rs != null){ rs.close(); } }catch (Exception e){ e.printStackTrace(); } try { if (pstate != null){ pstate.close(); } }catch (Exception e){ e.printStackTrace(); } try { if (conn != null){ conn.close(); } }catch (Exception e){ e.printStackTrace(); } } return atm; } }
补充:jdbc驱动包的不同版本使用的不同区别
JDBC驱动包5.x
1)加载驱动类:”com.mysql.jdbc.Driver”
2)获取连接 url—>jdbc:mysql://ip:port/databases名
JDBC驱动包8.x
1)加载驱动类:”com.mysql.cj.jdbc.Driver”
2)获取连接 url—>jdbc:mysql://ip:port/databases名?serverTimezone=UTC
留言:到这里 JDBC基本的知识 就总结完毕了,想要学习更多的伙伴可以查看博主主页哦 ~
结尾
学习html5、css、javascript这些基础知识,学习的渠道很多,就不多说了,例如,一些其他的优秀博客。但是本人觉得看书也很必要,可以节省很多时间,常见的javascript的书,例如:javascript的高级程序设计,是每位前端工程师必不可少的一本书,边看边用,了解js的一些基本知识,基本上很全面了,如果有时间可以读一些,js性能相关的书籍,以及设计者模式,在实践中都会用的到。