03-JDBC操作java语言数据库

来源:互联网 发布:收看地方电视台的软件 编辑:程序博客网 时间:2024/06/06 03:38

JDBC:Java DataBase Connective Java连接数据库

* 概念:    * 定义了操作java语言数据库的规范,其实就是一套接口,所有数据库要想被Java语言操作,就得实现这套接口。* 快速入门:    * 步骤:        1.导入mysql驱动jar包        2.注册驱动        3.获取数据库连接对象 Connection        4.定义sql        5.获取发送执行sql的对象  Statement        6.发送执行sql        7.处理结果        8.释放资源* 详解各个类:    * DriverManager:驱动管理类        1.注册驱动:            Class.forName("com.mysql.jdbc.Driver");                static {                    try {                        java.sql.DriverManager.registerDriver(new Driver());                    } catch (SQLException E) {                        throw new RuntimeException("Can't register driver!");                    }                }                * 拓展:注册驱动的操作,在mysql5之后的jar包中就可以不用做了。        2.获取数据库连接:            * getConnection(String url,String username,String password)                * url: jdbc: mysql://127.0.0.1:3306/day02                     主协议: 子协议  ip+端口        数据库名称                      * 注:如果连接本机数据库,则ip+端口可以省略                        jdbc:mysql:///day02    * Connection:数据库连接对象        * 获取执行sql的对象:            * Statement createStatement():获取stmt对象            * PreparedStatement prepareStatement(String sql) : 获取pstmt对象,预处理sql对象            * CallableStatement prepareCall(String sql)  :执行存储过程        * 事务的管理:            * 事务:一件完整的事。这件事一般包含多个步骤,这些步骤要么同时成功,要么同时失败。                汇款                    try{                        conn.setAutoCommit(false);开启事务                             1.我查询自己卡中大于500 select money from account;                            2.更新我的账户,金额减500. update account set money = money -500 where id = 我                            3.更新他的账户,金额加500. update account set money = money +500 where id = 他                        conn.commit();  成功!提交事务                     }catch(Exception e){                        回滚事务                        conn.rollback();                    }            * 开始事务:setAutoCommit(false);            * 提交事务:commit();    当事务执行成功,持久化修改数据库记录。            * 回滚事务:rollback(); 当事务执行过程中,如果发生异常,则还原到开启事务时的状态。    * Statement:执行sql对象        * int executeUpdate(String sql) :执行DML(增删改)语句            * 返回值:影响的行数        * ResultSet executeQuery(String sql) :执行查询语句            * 返回值:结果集对象    * PreparedStatement:        * SQL注入:通过sql的关键字和语句,跳过where验证        * 预防SQL注入:        * 使用步骤            3.定义sql,参数值使用?作为占位符            4.获取pstmt对象,传入sql语句            5.给?赋值                * setXxx(int index,Xxx value)            6.执行sql,不传参    * ResultSet:结果集对象        * next():判断是否有下一条记录,如果有则向下移动一行            * 返回值:                * true:有                * false:无        * getXxx(参数):获取数据,Xxx数据类型            * 参数:                * int:列的编号,从1开始                * String:列名* 日期处理:    java.util.Date 和 java.sql.Date的相互转换        1.通过java.util.Date 的getTime方法获取毫秒值        2.通过构造传入毫秒值创建java.sql.Date
原创粉丝点击