`
deyimsf
  • 浏览: 68527 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

JDBC学习笔记

阅读更多
连接数据的步骤
1.注册驱动
2.建立连接
3.创建执行SQL的语句(Statement)
4.执行语句
5.处理执行结果(ResultSet)
6.释放资源
public static void main(String[] args) throws ClassNotFoundException, SQLException{
	
	 //1.注册驱动
	 //DriverManager.registerDriver(new com.mysql.jdbc.Driver());
	 //System.setProperty("jdbc.drivers","com.mysql.jdbc.Driver : com.oracle.jdbc.Driver");
Class.forName("com.mysql.jdbc.Driver");
	 
	 //2.建立连接
	 Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/jdbc","root","");
	
	 //3.创建语句
	 Statement st = conn.createStatement();
	 
	 //4.执行语句
	 ResultSet rs = st.executeQuery("select * from user");
	 
	 //5.处理结果
	 while(rs.next()){
		 System.out.println(rs.getObject(1)+" "+rs.getObject(2));
	 }
	 
	 //6.释放连接
	 rs.close();
	 st.close();
	 conn.close();
	 
	}


建立连接的URL格式:
JDBC:子协议:子名称//主机名:端口号/数据库名?属性1=属性值&...
主机名和端口号如果是本机和默认端口号,就可也省略。

预处理执行sql
String sql = "select id,name from user where name=?";
//预处理sql,防止sql注入
PreparedStatement ps = conn.prepareStatement(sql);
ps.setString(1, "张三");		 
//执行语句
ResultSet rs = ps.executeQuery();


插入CLOB数据
String sql = "insert into clob_test(big_text) values(?)";
		 PreparedStatement ps = conn.prepareStatement(sql);
		 File file = new File("filename");
		 Reader reader = new BufferedReader(new FileReader(file));
		 //设置大文本流
		 ps.setCharacterStream(1,reader);		 
		 //执行语句
		ps.executeUpdate();


读取CLOB数据
String sql = "select big_test from clob_test";
		 PreparedStatement ps = conn.prepareStatement(sql);
		 ResultSet rs = ps.executeQuery();
	    
		 while(rs.next()){
			 Clob clob = rs.getClob(1);
			 Reader reader = clob.getCharacterStream();
			 //reader = rs.getCharacterStream(1);
			 
			 //拿到reader就可以做一些事
		 }


可以返回主键的操作
String sql = "insert into user(name) values('aa')";
		 //可以返回主键
		 PreparedStatement ps = conn.prepareStatement(sql,Statement.RETURN_GENERATED_KEYS);//根据传的不同参数,可以有不同的功能
		 ps.executeUpdate();
	    
		 ps.getGeneratedKeys();//获取主键


批处理执行
 String sql = "insert into user(name) values('aa')";
		 PreparedStatement ps = conn.prepareStatement(sql,Statement.RETURN_GENERATED_KEYS);
	 
		 ps.addBatch();
		 ps.executeBatch();


可滚动的结果集
 String sql = "select * from user";
		 //创建可滚动的结果集,第二个参数是关于并发的
		 PreparedStatement ps = conn.prepareStatement(sql,ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
		 ResultSet rs = null;
		 rs = ps.executeQuery();
		 
		 //绝对定位
		 rs.absolute(5);
		 if(rs.previous()){}


获取数据库的元数据(其他元数据获取同理,如ResultSet.getMetaData())
   Connection conn = null;
   DatabaseMetaData dbmd = conn.getMetaData();
   dbmd.getDatabaseProductName();//获取数据库名字

获取PreparedStatement 的元数据
 String sql = "select * from user where a=?,b=?";
		 PreparedStatement ps = conn.prepareStatement(sql);
		 ParameterMetaData pmd = ps.getParameterMetaData();
		 //获取参数个数
		 int count = pmd.getParameterCount();
		 
		 //获取第一个参数的信息,mysql没有很好实现这些接口,不同的驱动有不同的实现
		 pmd.getParameterClassName(1);//参数类名,java.lang.String
		 pmd.getParameterType(1);//参数类型,12
		 pmd.getParameterTypeName(1);//参数数据库类型名字,VARCHAR
分享到:
评论

相关推荐

    JDBC学习笔记--JDBC学习笔记

    JDBC学习笔记 JDBC(Java DataBase Connectivity)是一种Java程序语言访问数据库的标准接口。它使得Java程序可以连接到各种不同的数据库管理系统,例如Oracle、SQL Server、MySQL、DB2、Sybase等。 JDBC的概念 ...

    JDBC 学习笔记 JDBC 学习笔记

    **JDBC学习笔记** 在Java开发中,JDBC(Java Database Connectivity)是连接数据库的关键技术。它是Java API,允许Java程序与各种类型的数据库进行交互。本笔记将深入探讨JDBC的核心概念、工作原理以及实际应用。 ...

    jdbc学习笔记(PDF格式)

    ### JDBC学习笔记知识点详解 #### 一、JDBC原理概述 **JDBC**(Java Database Connectivity)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC...

    jdbc学习笔记完美版

    JDBC的学习笔记涵盖了从基本概念到实际操作的各个方面,对于初学者来说是一份很好的参考资料。通过学习JDBC,开发者能够有效地在Java应用程序中集成数据库功能,实现数据的增删改查以及与存储过程的交互。理解和掌握...

    jdbc 学习 笔记 代码例子4

    jdbc 学习 笔记 代码例子jdbc 学习 笔记 代码例子jdbc 学习 笔记 代码例子jdbc 学习 笔记 代码例子jdbc 学习 笔记 代码例子

    JDBC学习笔记总结,可以看看

    "JDBC学习笔记总结" JDBC(Java Database Connectivity)是一种Java API,用于连接和操作关系数据库。下面是JDBC学习笔记的总结: 连接到数据库的方法 1. ODBC(Open Database Connectivity):是一个以C语言为...

    JDBC笔记_JDBC学习笔记_

    在本篇JDBC学习笔记中,我们将深入探讨JDBC的基础知识、核心概念以及实际应用。 一、JDBC基础 1. JDBC驱动程序:JDBC驱动是连接Java应用程序和数据库之间的桥梁。根据实现方式,JDBC驱动分为四种类型:类型1(JDBC...

    达内jdbc学习笔记

    总的来说,"达内jdbc学习笔记"涵盖了JDBC基础、数据库连接、SQL执行、结果集处理、事务管理和性能优化等多个关键知识点,对Java开发者来说是宝贵的参考资料。通过深入学习和实践,可以熟练地使用Java进行数据库操作...

    jdbc 学习 笔记 代码例子3

    jdbc 学习 笔记 代码例子jdbc 学习 笔记 代码例子jdbc 学习 笔记 代码例子jdbc 学习 笔记 代码例子

    jdbc 学习 笔记 代码例子2

    jdbc 学习 笔记 代码例子jdbc 学习 笔记 代码例子jdbc 学习 笔记 代码例子jdbc 学习 笔记 代码例子

    JDBC学习笔记(精华版)-1

    本篇JDBC学习笔记将深入探讨JDBC的核心概念、操作步骤以及最佳实践。 **一、JDBC基本概念** 1. **驱动程序**:JDBC驱动程序是Java应用程序与数据库之间的桥梁,分为四种类型:JDBC-ODBC桥接驱动、本地API驱动、...

    jdbc 学习 笔记 代码例子1

    jdbc学习用笔记和代码例子jdbc学习用笔记和代码例子jdbc学习用笔记和代码例子

    JDBC学习笔记(笔记+包含详细注释的代码)

    **JDBC学习笔记** Java Database Connectivity (JDBC) 是Java平台中用于与各种数据库进行交互的一组接口和类。它是Java SE的一部分,允许Java应用程序连接到数据库,执行SQL语句,处理结果集,并进行事务管理。这篇...

    JDBC 学习笔记+代码整理

    JDBC 学习笔记+代码整理

    传智播客视频Jdbc学习笔记

    ### 传智播客JDBC学习笔记精要 #### JDBC简述与连接 JDBC(Java Database Connectivity)是Java中用来规范客户端程序如何访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法。在传智播客的JDBC...

    JDBC学习笔记教程文档

    **JDBC学习笔记教程文档** **一、JDBC概述** 1.1 **什么是JDBC** JDBC(Java Database Connectivity)是Java语言与各种数据库交互的一种标准接口,由Sun Microsystems公司开发,它允许Java应用程序通过Java代码来...

    JDBC学习笔记.txt

    JDBC学习笔记.txt

    配套学习资料:Java开发 - 尚硅谷JDBC学习笔记

    Java开发 - 尚硅谷JDBC学习笔记是一套深入解析Java数据库连接(JDBC)技术的教程,涵盖了从基础到进阶的各种知识点。JDBC是Java编程语言中用于访问数据库的标准应用编程接口,它允许程序员使用Java来执行SQL语句,...

Global site tag (gtag.js) - Google Analytics