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
前提:连接的数据库必须支持预处理,几乎没有不支持的
jdbc:java数据库连接的更多相关文章
- jdbc java数据库连接 11)中大文本类型的处理
1. Jdbc中大文本类型的处理 Oracle中大文本数据类型, Clob 长文本类型 (MySQL中不支持,使用的是text) Blob 二进制类型 MySQL数据库, Text ...
- jdbc java数据库连接 6)类路径读取——JdbcUtil的配置文件
之前的代码中,以下代码很多时候并不是固定的: private static String url = "jdbc:mysql://localhost:3306/day1029?useUnic ...
- jdbc java数据库连接 5)CallableStatement 接口
CallableStatement执行存储过程(也是预编译语言) 首先在sql中执行以下带有输入参数的代码: DELIMITER $ CREATE PROCEDURE pro_findById(IN ...
- jdbc java数据库连接 3)Statement接口之执行DDL和DML语句的简化
上一章的代码中,可以发现,jdbc执行DDL和DML有几个步骤都是一样的: 1)执行语句开始时,创建驱动注册对象.获取连接的数据库对象.创建Statement对象 // 创建驱动注册对象 Class. ...
- jdbc java数据库连接 2)jdbc接口核心的API
JDBC接口核心的API java.sql.* 和 javax.sql.*(java2.0以后更新的扩展) |- Driver接口: 表示java驱动程序接口.所有的具体的数据库厂商要来实现此接 ...
- jdbc java数据库连接 1)jdbc入门
之前操作数据 1)通过mysql的客户端工具,登录数据库服务器 (mysql -u root -p 密码) 2)编写sql语句 3)发送sql语句到数据库服务器执行 什么是jdbc? 使用jav ...
- jdbc java数据库连接 10)批处理
批处理 很多时候,需要批量执行sql语句! 需求:批量保存信息! 设计: AdminDao Public void save(List<Admin list){ // 目前用这种方式 ...
- jdbc java数据库连接 8)防止sql注入
回顾下之前jdbc的开发步骤: 1:建项目,引入数据库驱动包 2:加载驱动 Class.forName(..); 3:获取连接对象 4:创建执行sql语句的stmt对象; 写sql 5:执行sql ...
- jdbc java数据库连接 7)获取插入数据的自增长值
我们创建一个sql表,里面的数据往往都会有自增长值. 那么,我们用jdbc插入数据的时候,要想同时获得这个增长值. 代码: /** * * 这是插入一条数据的同时,获取该数据的则增长列的值(该例子的自 ...
随机推荐
- Android ——Handler相关
layout文件: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:an ...
- CSS3卡片旋转效果
HTML: <div id="rotate"> <div id="rotate_wrap"> <div id="fron ...
- 论文笔记之:Generative Adversarial Nets
Generative Adversarial Nets NIPS 2014 摘要:本文通过对抗过程,提出了一种新的框架来预测产生式模型,我们同时训练两个模型:一个产生式模型 G,该模型可以抓住数据分 ...
- JSBinding+SharpKit / MonoBehaviour替换成JSComponent原理
Unity 是基于组件式的开发,gameObject 身上可以绑定任意个脚本.每个脚本组成 gameObject 的一个部分. 脚本里通过添加预定义好的函数来执行自己的任务.比如Awake,用于初始化 ...
- MyISAM 和InnoDB区别
MyISAM 和InnoDB 讲解 InnoDB和MyISAM是许多人在使用MySQL时最常用的两个表类型,这两个表类型各有优劣,视具体应用而定.基本的差别为:MyISAM类型不支持事务处理等高级处理 ...
- 伪类选择器:root的妙用
css3的元素旋转功能非常强大,也非常吸引人,但是很多时候因为浏览器使用率的问题,我们必需要想办法兼容一些低版本的浏览器,特别是ie这朵奇葩. 想要实现元素旋转本来很简单的一个属性就能实现,那就是tr ...
- JavaScript 札记(数据类型和变量、)
1. 变量名由:字母.下划线.$.数字组成,只可以字母.下划线.$开头. 2.JavaScript区分大小写! 3.命名规范:匈牙利命名法(不论是变量名还是函数名). 4.基本类型(3种):字符串.数 ...
- 【C语言模拟实现】浮点数-转-定点数
要想超神,就要什么都精! 知识准备: 1. 输出浮点数的十六进制形式?(利用指针输出) 将浮点数指针-转换成-整型指针,以十六进制的格式输出指针内容. 示例程序: #include<stdio. ...
- ASP.NET Cookie 概述【转】
来源:http://msdn.microsoft.com/zh-cn/library/ms178194(VS.80).aspx ASP.NET Cookie 概述 Cookie 提供了一种在 Web ...
- 原生js的String类扩展
文章转自:http://www.cnblogs.com/zfc2201/archive/2012/12/16/2820335.html JS String类拓展方法: //获取字符数组 String. ...