JDBC基础

JDBC


补充:Jabc相关类介绍

1.Connection类

a.用于代表数据库的链接,客户端与数据库所有交互都是通过connection对象完成的。
b.主要方法:
	createStatement():创建向数据库发送sql的statement对象。
	prepareStatement(sql) :创建向数据库发送预编译sql的PrepareSatement对象。
	prepareCall(sql):创建执行存储过程的callableStatement对象。
	setAutoCommit(boolean autoCommit):设置事务是否自动提交。
	commit() :在链接上提交事务。
	rollback() :在此链接上回滚事务。

2.Statement类

a.Statement对象用于向数据库发送SQL语句。
b.主要方法:
	executeQuery(String sql) :用于向数据发送查询语句。
	executeUpdate(String sql):用于向数据库发送insert、update或delete语句
	execute(String sql):用于向数据库发送任意sql语句
	addBatch(String sql) :把多条sql语句放到一个批处理中。
	executeBatch():向数据库发送一批sql语句执行。

3.ResultSet类

a.ResultSet用于代表Sql语句的执行结果。
b.Resultset封装执行结果时,采用的类似于表格的方式。
c.ResultSet 对象维护了一个指向表格数据行的游标,初始的时候,游标在第一行之前,调用ResultSet.next() 方法,可以使游标指向具体的数据行,进行调用方法获取该行的数据。
d.主要方法:
	获取任意类型的数据:
		getObject(int index)
		getObject(string columnName)
	获取指定类型的数据:
		getString(int index)
		getString(String columnName)
	对结果集进行回滚:
		next():移动到下一行
		Previous():移动到前一行
		absolute(int row):移动到指定行
		beforeFirst():移动resultSet的最前面。
		afterLast() :移动到resultSet的最后面。

一、JAVA与Mysql连接

1.加载驱动程序:

Class.forName("com.jdbc.mysql.Driver");
(须导入jar包)

2.获得数据库连接:

Connection conn=DriverManager.getConnection(url,usr,pw);
//url:数据库链接
//user&password:数据库登录用户及密码

3.数据库操作:

//通过Connetion对象获得Statement对象
Statement stmt=conn.CreateStatment();
//通过Statement对象获得ResultSet对象
ResultSet rs1=stmt.excuteQquery("sql查询语句");
ResultSet rs2=stmt.excuteUpdate("sql改动语句");

补充: 一般多用PreparedStatement,预编译的,效率高,更清晰

二、JDBC调用存储过程

1.存储过程定义及调用:

2.调用类型:

a.JDBC调用无参数的存储过程
a.JDBC调用带输入参数的存储过程
a.JDBC调用带输出参数的存储过程
a.JDBC调用带输入输出参数的存储过程

三、JDBC事务管理

1.事务管理:

a.一系列操作打包在一起执行,是一个逻辑单元
b.原子性:事务是一个完整的操作
c.一致性:事务完成时,数据必须处于一致状态
d.隔离性:对数据库操作的并发事务之间是隔离的
e.永久性:事务完成后对数据库的修改永久保持

2.JDBC对事务管理的支持:

a.JDBC通过commit()/rollback()来管理事务的操作
b.事务操作默认是自动提交的
c.通过setAutoCommit(false)禁止自动提交

三、JDBC与数据库连接池

1.数据库连接池:

a.解决数据连接量大的问题
b.连接池中放一定的Connection,连接满时让其他用户等待
c.开源数据库连接池:dbcp/c3p0

2.dbcp的使用:

a.导入jar包	
b.建立配置文件 dbcp.properties
c.编写相关类文件

3.c3po的使用:

a.导入jar包	
b.建立配置文件 c3p0.properties
c.编写相关类文件

4.dbcp与c3po的比较:

四、相关框架介绍

1.Commons-dbutils:

核心接口

2.Hibernate:

(1)优缺点

(2)核心接口

a.Session: CRUD操作
b.SessionFactory: 初始化Hibernate
c.Configuaration: 配置及启动Hibernate
d.Transaction: 事务操作
e.Query/Criteria: 数据库查询 

3.Mybatis:

特点

五、JDBC与Tomcat

1、在Web项目的WebRoot目录下的META-INF目录创建一个context.xml文件
2、在context.xml文件配置tomcat服务器的数据源
3、将数据库的驱动jar文件放置在tomcat的lib文件夹下
4、在获取数据库连接的工具类(如jdbcUtils)的静态代码块中获取JNDI容器中的数据源

1.Context.xml配置

<?xml version="1.0" encoding="UTF-8"?>
<Context>
	<Resource
		name="jdbc/datasource"
		auth="Container"
		type="javax.sql.DataSource"
		username="root"
		password="20114665"
		driverClassName="com.mysql.jdbc.Driver"
		url="jdbc:mysql://localhost:3306/jdbc_review"
		maxActive="8"
		maxIdle="4"/>
</Context>

2.获取DataSource

Context initCtx = new InitialContext();
Context envCtx = (Context) initCtx.lookup("java:comp/env");
dataSource = (DataSource)envCtx.lookup("jdbc/datasource");
原文地址:https://www.cnblogs.com/apolloqq/p/6029057.html