zoukankan      html  css  js  c++  java
  • jdbc:java数据库连接

    1.导jar包
    四大参数:
    1.加载驱动类:Class.forName("com.mysql.jdbc.Driver");
    2.url:jdbc:mysql://localhost:3306/数据库名 //jdbc:厂商名://子协议/数据库名

    #mysql
    #url=jdbc:mysql://localhost:3306/mydb?
    useUnicode=true&characterEncoding=utf8
    &useServerPrepStmts=true
    &cachePrepStmts=true
    &prepStmtCacheSize=50
    &prepStmtCacheSqlLimit=300
    #driverClassName=com.mysql.jdbc.Driver

    #mssql
    #driverClassName=com.microsoft.jdbc.sqlserver.SQLServerDriver
    #url=jdbc:sqlserver://127.0.0.1:1433;DatabaseName=mydb

    #mssql jtds
    #driverClassName=net.sourceforge.jtds.jdbc.Driver
    #url=jdbc:jtds:sqlserver://127.0.0.1:1433;DatabaseName=mydb

    #orcale
    #driverClassName=oracle.jdbc.driver.OracleDriver
    #url=jdbc:oracle:thin:@localhost:1521:mydb

    #access
    #driverClassName=sun.jdbc.odbc.JdbcOdbcDriver
    #url=jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=mdb\mydb.mdb


    3.username:用户名
    4password:密码

    Connection conn = DriverManager.getConnection(url, user, password);

    驱动类是java.sql.Driver的实现类


    对数据库做增、删、改
    1.通过connection对象创建Statement
    2.Statement语句的发送器,它的功能就是向数据库发送sql语句
    3.调用它的int executeUpdate(String sql),它可以发送DML,DDL,返回的事影响的行数
    Statement st = conn.createStatement();
    String sql = "insert into hasbend values(null,'小明')";
    int r = st.executeUpdate(sql);

    执行查询
    1.通过connection对象创建Statement
    2.Statement语句的发送器,它的功能就是向数据库发送sql语句
    3.调用它的int executeQuery(String querysql),返回的是结果集;
    Statement st = conn.createStatement();
    ResultSet rs = st.executeQuery("select * from emp");//得到结果集
    ResultSetMetaData rsmd = rs.getMetaData();//获取此 ResultSet 对象的列的编号、类型和属性。
    for(int i = 1;i<=rsmd.getColumnCount();i++){// 返回此 ResultSet 对象中的列数。
    System.out.print(rsmd.getColumnName(i)+"|");//获取指定列的名称。
    }
    while(rs.next()){
    for(int i = 1;i<=rsmd.getColumnCount();i++){
    System.out.print(rs.getString(i)+"|");//获取此 ResultSet 对象的当前行中指定列的值
    }
    System.out.println();
    }
    4.关闭资源,倒关
    rs.close();
    st.close();
    conn.close();


    规范化

    preparedStatement
    Statement的子接口
    强大之处
    防sql攻击
    提高代码的可读性、可维护性
    提高效率
    preparedStatement的用法
    如何得到preparedStatement对象
    1.给出sql模板
    2.调用Connection的preparedStatement(sql)方法;
    3.调用preparedStatement的setXxx系列方法给sql模板中的?赋值
    4.调用preparedStatement的executeQuery();或这executeUpdate()方法,但是它的方法都没有参数;
    预处理的原理
    服务器的工作
    校验sql语句的语法
    编译:一个与函数相似的东西
    执行:调用函数
    preparedStatement
    前提:连接的数据库必须支持预处理,几乎没有不支持的

  • 相关阅读:
    后端分页但是前端想要把所有数据取出来
    css做多列瀑布流
    css制作骰子
    css球体
    css摩天轮
    css圆圈慢慢放大
    01-布局扩展-自适应两栏布局
    Zigbee 知识简介
    华为OD 嵌入式方向面经
    算法练习题 2 合唱队
  • 原文地址:https://www.cnblogs.com/jiangjianzhu/p/5775175.html
Copyright © 2011-2022 走看看