java jdbc笔记整理

以前在公司直接用到的关于数据库方面的都是用ibatis,现在先来学些jdbc编程,顺便比较一下与ibatis框架的区别。

一,使用步骤:

1,加载驱动。

Class.forName(“com.mysql.jdbj.Driver”);

2,使用DriverManager获取数据库连接。url写法:jdbc:subprotocol,other stuff。如mysql:     jdbc:mysql://hostname:port/databasename

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

3,使用Connection来创建一个Statement对象。

Statement stmt = conn.createStatement();

4.1,使用statement执行SQL语句。Statement有三种执行SQL语句的方法:

1)execute()可执行select任何SQL语句——返回一个boolean值。

2)executeQuery()执行select语句——返回查询到的结果集。

3)executeUpdate()用于执行DML语句,返回一个整数代表被SQL渔具影响的记录条数。

ResultSet rs = stmt.executeQuery(sql);

4.2使用preparedStatement执行SQL语句。

如果需要经常反复执行一条结构相似的渔具,可以使用带占位符(?)参数的SQL语句来代替它。使用PreparedStatement接口。在设置的使用可以用setXxx(int index,Xxx value)的方法来传入参数值。

例子:

import java.io.FileInputStream;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.PreparedStatement;

import java.sql.Statement;

import java.util.Properties;

public class ConnMysql {

private String driver;

private String url;

private String user;

private String pass;

private void initParam(String paramFile) throws Exception{

Properties props = new Properties();

props.load(new FileInputStream(paramFile));

driver = props.getProperty("driver");

url = props.getProperty("url");

user = props.getProperty("user");

pass = props.getProperty("pass");

}

public static void main(String[] args) throws Exception {

ConnMysql ed = new ConnMysql();

ed.initParam("mysql.ini");

Class.forName(ed.driver);

try(

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

Statement stmt = conn.createStatement();

PreparedStatement pstmt = conn.prepareStatement("insert into s1 values(?,?)");

)

{

for(int i = 0; i < 100; i++){

pstmt.setInt(1, i+5);

pstmt.setInt(2,i);

pstmt.executeUpdate();

}

}

}

}

5,可以使用mysql.ini配置文件代替driver,url,user,pass的值。这个文件要把它移进工程。而不是移进src目录下面。

6,使用try(){}

从 Java 7 build 105 版本开始,Java 7 的编译器和运行环境支持新的 try-with-resources 语句,称为 ARM 块(Automatic Resource Management) ,自动资源管理。

数据流会在 try 执行完毕后自动被关闭,前提是,这些可关闭的资源必须实现 java.lang.AutoCloseable 接口。

二, 比较statement和preparedStatement的。

1,PreparedStatement预编译SQL语句,性能更好。

2,PreparedStatement无须“拼接”SQL语句,编程更简单。

3,PreparedStatement可以防止SQL语句注入。

时间: 2024-10-05 18:22:11

java jdbc笔记整理的相关文章

JDBC笔记整理

 JDBC深入学习笔记 Jdbc:Java Database Connectivity(使用java操作数据库的标准接口,任何的java框架最终底层都是使用jdbc来操作数据库的,只是框架对jdbc有所封装) JDBC的核心接口和类:(深入研究源码有助于我们得心应手的使用) 核心类:DriverManager 核心接口:Connection.PreparedStatement.ResultSet.Statement(几乎被代替了) PreparedStatement接口:预处理机制,可以填充

java学习笔记整理

java知识模块:1.基础知识,数组,字符串,正则表达式:2.类和对象,接口,继承,多态,抽象类,内部类,泛型,java常用类库.3.异常处理: 4.IO:   5.事件处理:   6.多线程:  7.集合类  8.网络通信:   9.JDBC操作数据库 一.idea技巧1.设置字体大小:file -> setting -> editor -> colors&font -> save as并自定义 -> font -> 修改size大小改变背景颜色:file -

Java异常笔记整理

参考书籍:Head First Java 1.假设某方法是别人写在某个类里面的 2.而此时你根本就不知道这个方法是否有风险(比如服务器出故障会使程序受到影响): 3.那最好的方法应该就是,在调用这个类的方法时,加上可能发生异常的处理方案,未雨绸缪. 关键字:try……catch,throws,throw,finally try……catch其实就是给编译器的一个信号,表示你已经注意到了这个异常并开始着手进行应对: 编译器需要程序员try包裹住可能发生异常的代码,再通过catch去处理 Runti

Java学习笔记整理第一章 java基本数据类型、修饰符、运算符

Java关键字: Java关键字是电脑语言里事先定义的,有特别意义的标识符,有时又叫保留字,还有特别意义的变量.Java的关键字对Java的编译器有特殊的意义,他们用来表示一种数据类型,或者表示程序的结构等,关键字不能用作变量名.方法名.类名.包名和参数.   具体的百度百科 'Java关键字'". Java标识符: Java语言中,对于变量,常量,函数,语句块也有名字,我们统统称之为Java标识符. 标识符是用来给类.对象.方法.变量.接口和自定义数据类型命名的. 注意: a.数字不能开头 b

Java基础进阶整理

Java学习笔记整理 本文档是我个人整理的,首先是想通过完成本文档更加扎实自己的基础加强对java语言的理解,然后就是想给入了门的同志们做下贡献. 当然,本文档主要是对java语言基础(当然还有很多基础没有涉及到)的进行较全面的理解已经整理,只要充分掌握了基础知识,学习高级部分的知识才会事半功倍犹如轻车熟路一般容易上手. 正文: CLASSPATH的设置:我们知道运行java必须要设置CLASSPATH环境变量,但是sun  java 1.4之后改进了设计,JRE会自动搜索当前路径下的类文件,而

java笔记整理

Java 笔记整理 包含内容     Unix Java 基础, 数据库(Oracle jdbc Hibernate pl/sql), web, JSP, Struts, Ajax Spring, Ejb, java和模式 Linux/Unix笔记 inode :存储编号(地址) ls -k:查看磁盘分区 ls -li:显示当前文件的inode号. 目录的大小跟文件的大小有关,跟目录里的文件(目录)数量无关. 一行多个命令的话,中间用分号分开.如:pwd;cal;date last | grep

JAVA学习笔记 -- JDBC及其应用

一.准备工作 1.开启SQL Server服务和启用TCP/IP  并且确认TCP端口 2.Eclipse下给项目导入sqljdbc4.jar包 将下载好的 sqljdbc_4.0.2206.100_chs.exe运行解压.然后在 .\Microsoft JDBC Driver 4.0 for SQL Server\sqljdbc_4.0\chs\auth 路径下选择合适版本的sqljdbc_auth.dll, 将其放在 C:\Windows\System32下. 给项目导入包:右键你的项目选择

Kafka笔记整理(二):Kafka Java API使用

[TOC] Kafka笔记整理(二):Kafka Java API使用 下面的测试代码使用的都是下面的topic: $ kafka-topics.sh --describe hadoop --zookeeper uplooking01:2181,uplooking02:2181,uplooking03:2181 Topic:hadoop PartitionCount:3 ReplicationFactor:3 Configs: Topic: hadoop Partition: 0 Leader:

Redis笔记整理(二):Java API使用与Redis分布式集群环境搭建

[TOC] Redis笔记整理(二):Java API使用与Redis分布式集群环境搭建 Redis Java API使用(一):单机版本Redis API使用 Redis的Java API通过Jedis来进行操作,因此首先需要Jedis的第三方库,因为使用的是Maven工程,所以先给出Jedis的依赖: <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactI