Jdbc基础
一,jdbc环境设置
1, JAVA(JDK)的安装
2, 数据库系统安装(MySQL的安装)
3, 为项目测试使用,创建一个数据库
二,创建应用程序
1, 注册驱动(三种方法)
1), System.setProperty("jdbc.drivers","com.mysql.jdbc.Driver");
通过系统属性设置注册驱动,这种注册方式很少用.
2), DriverManager.registerDriver(new com.mysql.jdbc.Driver());
装载时注册一次,执行时又注册一次,会造成在DriverManager中产生两个相同的驱动,并且由于实例化了 com.mysql.jdbc.Driver.class,就必须导入该类(把这个类import), 而对驱动产生依赖,不方便拓展.
3), 最推荐的使用方法
Class.forName(“com.mysql.jdbc.Driver”); 这句代码,会得到com.mysql.jdbc.Driver类的一个类对象,会先将这个类加载进内存,Driver类中有一个静态代码块:
当这个类加载进内存后,该类的静态代码块也会跟回执行,所以在装载过程中就完成了Driver的注册.
2, 建立连接获得连接对象
使用DriverManager.getConnection()方法创建一个Connection对象:
Connection conn = DriverManager.getConnection(“jdbc:mysql://localhost:3306/?”,”root”,”new pass”);
3, 由statement或preparedStatement对象,执行sql语句, ( ~.executeUpdate执行增删改)
区别:PrepareStamement可以进行预处理,1,可以防止sql注入,2,采取预编译的方式,将sql语句先交给数据库编译好,等待执行即可,当多个重复语句被执行时,效率比 Statement高,速度快.即便上一条语句出现主键重复的错误,也不会影响到下一条语句将数据插入到数据库内.
这里有个名词叫事务,即将单个sql语句或一组sql语句看做一个逻辑单元,其中有任何语句失效,都将导致事务失败!Connention的对象的setAutoCommit(flase);方法为设 置提交方式为手动提交事务(关闭自动提交).conn.commit()结束事务,若成功则提交,否则结束事务,conn.rollback();事务回滚到事务开始之前的状态.
4, 查询(ResultSet.get方法)
要用executeQuery()方法进行查询,结果存在ResultSet类对象中,用if()或while()进行判定查询
5,结束后应关闭各种数据资源以减少资源浪费(~.close)