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
前提:连接的数据库必须支持预处理,几乎没有不支持的

jdbc:java数据库连接的更多相关文章

  1. jdbc java数据库连接 11)中大文本类型的处理

    1. Jdbc中大文本类型的处理 Oracle中大文本数据类型, Clob    长文本类型   (MySQL中不支持,使用的是text) Blob    二进制类型 MySQL数据库, Text   ...

  2. jdbc java数据库连接 6)类路径读取——JdbcUtil的配置文件

    之前的代码中,以下代码很多时候并不是固定的: private static String url = "jdbc:mysql://localhost:3306/day1029?useUnic ...

  3. jdbc java数据库连接 5)CallableStatement 接口

    CallableStatement执行存储过程(也是预编译语言) 首先在sql中执行以下带有输入参数的代码: DELIMITER $ CREATE PROCEDURE pro_findById(IN ...

  4. jdbc java数据库连接 3)Statement接口之执行DDL和DML语句的简化

    上一章的代码中,可以发现,jdbc执行DDL和DML有几个步骤都是一样的: 1)执行语句开始时,创建驱动注册对象.获取连接的数据库对象.创建Statement对象 // 创建驱动注册对象 Class. ...

  5. jdbc java数据库连接 2)jdbc接口核心的API

    JDBC接口核心的API java.sql.*   和  javax.sql.*(java2.0以后更新的扩展) |- Driver接口: 表示java驱动程序接口.所有的具体的数据库厂商要来实现此接 ...

  6. jdbc java数据库连接 1)jdbc入门

      之前操作数据 1)通过mysql的客户端工具,登录数据库服务器  (mysql -u root -p 密码) 2)编写sql语句 3)发送sql语句到数据库服务器执行 什么是jdbc? 使用jav ...

  7. jdbc java数据库连接 10)批处理

    批处理 很多时候,需要批量执行sql语句! 需求:批量保存信息! 设计: AdminDao Public  void  save(List<Admin list){    // 目前用这种方式 ...

  8. jdbc java数据库连接 8)防止sql注入

    回顾下之前jdbc的开发步骤: 1:建项目,引入数据库驱动包 2:加载驱动 Class.forName(..); 3:获取连接对象 4:创建执行sql语句的stmt对象;  写sql 5:执行sql ...

  9. jdbc java数据库连接 7)获取插入数据的自增长值

    我们创建一个sql表,里面的数据往往都会有自增长值. 那么,我们用jdbc插入数据的时候,要想同时获得这个增长值. 代码: /** * * 这是插入一条数据的同时,获取该数据的则增长列的值(该例子的自 ...

随机推荐

  1. P235 实战练习(集合类2)、摇奖程序和验证码(修改版)

    1.分别向Set集合以及List集合中添加“A”.“a”.“c”.“C”.“a”5个元素,观察重复值“a”能否在List集合以及Set集合中成功添加. package org.hanqi.practi ...

  2. UVA-11468 Substring(AC自动机+DP)

    题目大意:给一些模板串,一些字符的出现概率.问不会出现模板串的概率是多少. 题目分析:是比较简单的概率DP+AC自动机.利用全概率公式递推即可. 代码如下: # include<iostream ...

  3. Python学习(4)——for语句

    Python中range()函数的用法 >>> range(5) [0, 1, 2, 3, 4] >>> range(0,5) [0, 1, 2, 3, 4] &g ...

  4. 《剑指Offer》之二维数组中的查找

    1.题目描述 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数. 2.代码实现 pu ...

  5. Unity3d NGUI的使用(九)(UIScrollView制作滑动列表)

    UIScrollView制作滑动列表,可横向,竖直展示一些列表在固定可视范围内 UIScrollVIew只是一个可滑动的UI组件 如果需要制作复杂的可视区域UI需要配合使用UIPanel与UIGrid ...

  6. 如何用ABBYY把PDF如何转换成HTML

    将PDF转换成HTML网页格式,是快速打造专业级网站的方法之一.当用户找到了非常详实的PDF资料,打算将之制作成为网页格式时,如果重新开发往往需要耗费大量的时间,可是又不知道怎么样才可以将PDF文件转 ...

  7. 关于C# 中的Attribute 特性

    关于C# 中的Attribute 特性 作者: 钢钢  来源: 博客园  发布时间: 2011-01-09 23:30  阅读: 13921 次  推荐: 12   原文链接 [收藏] 摘要:纠结地说 ...

  8. Openjudge计算概论——数组逆序重放【递归练习】

    /*===================================== 数组逆序重放 总时间限制:1000ms 内存限制:65536kB 描述 将一个数组中的值按逆序重新存放. 例如,原来的顺 ...

  9. 设置页面不缓存 no-cache

    html中设置方法 <head> <META HTTP-EQUIV="Pragma" CONTENT="no-cache"> <M ...

  10. 解决 nginx https反向代理http协议 302重定向localtion到http问题

    location /rest { #proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remot ...