JCBD - 4 - JCBD - CRUD操作 即:JDBC常用接口详解
导入源码查看过底层代码啊:
DriverManager
该类的主要作用就是创建连接,在上一节的代码中使用了反射的机制注册了驱动,这里需要注意的是不同的数据库,在forName中的参数写法不同,MySQL的写法:com.mysql.jdbc.Driver。新版MySQL驱动的写法是:com.mysql.cj.jdbc.Driver
获取连接Connection时,调用了DriverManager类中的getConnection方法,该方法在DriverManager类中有几个重载方法:
getConnection(String url);
getConnection(String url,String user, String password);
getConnection(String url,java.util.Properties info);
getConnection(String url, java.util.Properties info, Class<?> caller);
该方法的作用就是获取数据库的连接,上面前三个中最终都调用了第4个方法并将数据库连接的一些信息传了过去。
其中java.util.Properties该类是一个跟配置文件相关的类,继承了HashTable类。(用来装用户名和密码): 如下代码可知啊
java.util.Properties info = new java.util.Properties(); info.setProperty("user", "root"); info.setProperty("password","root");
将用户名和密码封装到了info对象中,此时可以调用getConnection(String url,java.util.Properties info);这个方法将info作为参数传递过去。
Statement
该接口的作用是操作sql语句,并返回相应结果的对象。
常用的方法如下:
- ResultSet executeQuery(String sql) 根据查询语句返回结果集。只能执行select语句。
- int executeUpdate(String sql) 根据执行的DML(insert update delete)语句,返回受影响的行数。(一般返回>0 判断即可)
- boolean execute(String sql) 此方法可以执行任意sql语句。返回boolean值,表示是否返回ResultSet结果集。仅当执行select语句,且有返回结果时返回true, 其它语句都返回false;
如果执行增删改操作时,使用executeUpdate方法即可:
import java.sql.Connection; import java.sql.DriverManager; import java.sql.Statement; public class Main { public static void main(String[] args) { try { String sql = "INSERT INTO t_user(name,password,email,birthday) VALUES('hgy','123456','134@qq.com','1993-11-30')"; Class.forName("com.mysql.jdbc.Driver"); Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/jcbd","root","root"); Statement statement = conn.createStatement(); int x = statement.executeUpdate(sql); if (x > 0){ //x是statement.executeUpdate操作后返回的受影响语句的条数 System.out.println("成功!"); } } catch (Exception e) { e.printStackTrace(); } /* * 这里用了增删改的增啊 其他自测啊! * */ } }
ResultSet
该接口的作用主要用来封装结果集。
常用的封装数据的方法:getObject(String ColomnName); 根据列名取值(返回的是Object类)。
除了上的方法之外还有:
getObject(int columnIndex); 根据序号取值,索引从1开始
只不过该方法在使用起来可读性不强,不建议使用。
在做查询操作时,可能会返回多条数据结果,此时可以定义一个JavaBean类,将数据封装到该JavaBean中,多条数据的话将此JavaBean放到集合中。
JavaBean: 这个东东就是一个概念:
1、所有属性为private
2、提供默认构造方法
3、提供getter和setter
4、实现serializable接口
完了
具体自己操作啊 之前学安卓就是用的这个概念!
差不多了 哎···
本文来自博客园,作者:咸瑜,转载请注明原文链接:https://www.cnblogs.com/bi-hu/p/14761566.html