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插入数据的时候,要想同时获得这个增长值. 代码: /** * * 这是插入一条数据的同时,获取该数据的则增长列的值(该例子的自 ...
随机推荐
- 1-4-2 Windows数据类型与重要数据结构
主要内容:介绍Windows数据类型与重要数据结构 1.数据类型 在Windows系统中定义了Windows应用程序中包含种类繁多的数据类型, 部分如下: WORD 16位无符号整数 typedef ...
- HDU5889 Barricade(最短路)(网络流)
Barricade Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total S ...
- 第二章 C语言编程实践
上章回顾 宏定义特点和注意细节 条件编译特点和主要用处 文件包含的路径查询规则 C语言扩展宏定义的用法 第二章 第二章 C语言编程实践 C语言编程实践 预习检查 异或的运算符是什么 宏定义最主要的特点 ...
- 【BZOJ1007】【HNOI2008】水平可见直线
依旧看黄学长代码,不过这回是看完后自己写的 原题: 在xoy直角坐标平面上有n条直线L1,L2,...Ln,若在y值为正无穷大处往下看,能见到Li的某个子线段,则称Li为可见的,否则Li为被覆盖的.例 ...
- js获取客户端操作系统
function detectOS() { var sUserAgent = navigator.userAgent; var isWin = (navigator.platform == " ...
- DEBUG MYSQL
https://dev.mysql.com/doc/refman/5.7/en/porting.html https://dev.mysql.com/doc/refman/5.7/en/debuggi ...
- BEA-WEBLOGIC ---http://www.beansoft.biz/weblogic/docs92/index.html
WebLogic Home 英文对照 发行信息 站点地图 Installation Guide 新增功能 已知和已解决的问题 Upgrade Guide Installing Ma ...
- 如何用ABBYY把PDF转换成PPT
在电子科技迅速发展的今天,文件格式转换并不是什么稀罕事,因为现在都是电子化办公,出现很多文件格式,但是不同的场合需要的格式不同,所以常常需要进行文件格式的转换.PDF转换成PPT也是众多文件格式转换中 ...
- MySQL之选择字段数据类型
MySQL支持的数据类型很多,选择正确的数据类型对于 获得高性能至关重要.在选择时有个简单的原则有助于做出更好的选择. 简单的原则: A.通常最小的是最好的 因为这样可以用更少的磁盘.内容.CPU缓存 ...
- JavaScript文件中调用AngularJS内部方法或改变$scope变量
需要在其他JavaScript文件中调用AngularJS内部方法或改变$scope变量,同时还要保持双向数据绑定: 首先获取AngularJS application: 方法一:通过controll ...