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. GOOGLE的专业使用方法(转)

    搜索引擎命令大全! 1.双引号 把搜索词放在双引号中,代表完全匹配搜索,也就是说搜索结果返回的页面包含双引号中出现的所有的词,连顺序也必须完全匹配.bd和Google 都支持这个指令.例如搜索: “s ...

  2. 【转】完美解除Windows7的驱动程序强制签名限制

    原文网址:http://nick.txtcc.com/index.php/nocategory/290 Windows 7很J,很多驱动程序都无法安装,因为Windows 7不像Vista,必须要求所 ...

  3. (转) 技术揭秘:海康威视PASCAL VOC2012目标检测权威评测夺冠之道

    技术揭秘:海康威视PASCAL VOC2012目标检测权威评测夺冠之道 原创 2016-09-21 钟巧勇 深度学习大讲堂 点击上方“深度学习大讲堂”可订阅哦!深度学习大讲堂是高质量原创内容平台,邀请 ...

  4. lua堆栈操作常用函数学习二

    /* ** basic stack manipulation */ LUA_API int  <strong> (lua_gettop) (lua_State *L);  </str ...

  5. sed的实际用法举例

    sed:Stream Editor文本流编辑,sed是一个“非交互式的”面向字符流的编辑器.能同时处理多个文件多行的内容,可以不对原文件改动,把整个文件输入到屏幕,可以把只匹配到模式的内容输入到屏幕上 ...

  6. java中abstract

    abstract(抽象)修饰符,可以修饰类和方法 1,abstract修饰类,会使这个类成为一个抽象类,这个类将不能生成对象实例,但可以做为对象变量声明的类型,也就是编译时类型,抽象类就像当于一类的半 ...

  7. Ackerman函数

    Ackerman函数在许多讲解递归的书中都提到,但似乎又对解题没有太大的意义,暂时不知道了.不过这个东西,是一个数学知识点,暂时收藏于此吧. 查了一下维基百科和百度百科,表面上两个定义不一样,仔细推敲 ...

  8. OpenJudge计算概论-流感传染【这个题用二维数组】

    /*========================================================== 流感传染 总时间限制: 1000ms 内存限制: 65536kB 描述 有一批 ...

  9. javascript 函数式编程

    编程范式 编程范式是一个由思考问题以及实现问题愿景的工具组成的框架.很多现代语言都是聚范式(或者说多重范式): 他们支持很多不同的编程范式,比如面向对象,元程序设计,泛函,面向过程,等等. 函数式编程 ...

  10. 传递给函数的隐含参数:arguments及递归函数的实现

    传递给函数的隐含参数:arguments当进行函数调用时,除了指定的参数外,还创建一个隐含的对象——arguments.arguments是一个类似数组但不是数组的对象,说它类似是因为它具有数组一样的 ...