javaJdbc入门

参考自:
https://blog.csdn.net/qq_22172133/article/details/81266048
https://blog.csdn.net/u011753266/article/details/80044768

1,JDBC API的作用:

DriverManager类:装载驱动程序,并为创建新的数据库连接提供支持。

Connection接口:负责连接数据库并担任传送数据的任务。

Statement接口:由Connection产生,负责执行SQL语句。

ResultSet接口:负责保存和处理Statement执行后所产生的查询结果。

PreparedStatement接口:Statement的子接口,也由Connection产生,同样负责执行SQL语句。与Statement接口相比,PreparedStatement接口具有高安全性、高性能、高可读性和高可维护性的优点。

CallableStatement接口 :用于调用存储过程

2,常用数据库URL地址的写法:

Oracle:jdbc:oracle:thin:@localhost:1521:demo

SqlServer:jdbc:microsoft:sqlserver://localhost:1433; DatabaseName=demo

MySql:jdbc:mysql://localhost:3306/demo

3,加载驱动

Oracle:oracle.jdbc.driver.OracleDriver

SqlServer:com.microsoft.jdbc.sqlserver.SQLServerDriver

MySql:com.mysql.jdbc.Driver

4,实例

1,去http://www.mysql.com/downloads/connector/j 下载jdbc驱动并在java项目》Build Path》Configure Build Path 中添加JAR包引用。
2,Class.forName()加载数据库驱动。
3,定义连接字符串并使用相关驱动类建立连接并获得一个Connection 对象,其常用方法如下:

createStatement() 创建向数据库发送sql的statement对象。
prepareStatement(sql) 创建向数据库发送预编译sql的PrepareSatement对象。
prepareCall(sql) 创建执行存储过程的callableStatement对象。
setAutoCommit(boolean autoCommit) 设置事务是否自动提交。
commit() 在链接上提交事务。
rollback() 在此链接上回滚事务。

4,创建语句对象并且获得一个Statement 对象。其常用方法如下:

executeQuery(String sql) 用于向数据发送查询语句。
executeUpdate(String sql) 用于向数据库发送insert、update或delete语句
execute(String sql) 用于向数据库发送任意sql语句
addBatch(String sql) 把多条sql语句放到一个批处理中。
executeBatch() 向数据库发送一批sql语句执行。

5,执行语句并用Resultset对象获取执行结果,然后你还可以通过调用ResultSet.next()方法对结果进行迭代访问。

///mysql  demo数据库》book表》(bookid和name属性,varchar类型)
package demo.jdbcMysql.haha1;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.Statement;
import java.sql.ResultSet;

public class test1 {
	public static void main(String[] args) {
		System.out.println("main外部 上标记");
		mysqlConn();
		System.out.println("main外部 下标记");
	}
	public static void mysqlConn()
	{
		System.out.println("main内部标记");
		
		PreparedStatement ps=null;
		Statement stmt = null;
		Connection conn=null;
		ResultSet rs=null;
		try {
			Class.forName("com.mysql.jdbc.Driver");
			String mysqlrl = "jdbc:mysql://localhost:3306/demo";
			conn=DriverManager.getConnection(mysqlrl,"root","123456");
			stmt = conn.createStatement();
			rs = stmt.executeQuery("select * from book");
			String bookid,name ;
			System.out.println("main内部标记 while 外部标记");
			while(rs.next()) {
				System.out.println("main内  while 内部标记");
				bookid = rs.getString(1);
				name = rs.getString(2);
				System.out.println(bookid+","+name);
				}
		}
			catch(Exception ex) {
				System.out.println(ex.toString());
		}
		}
	
}

ctrl+f11运行,运行结果如下: (我比较郁闷的是java的每个包中都可以拥有自己的main函数。。,和c#有点不一样)
在这里插入图片描述

ps连接文章:

https://blog.csdn.net/csdnnews/article/details/105355436 可能自己也做不到好的基础。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值