JDBC编程及事务的实现

JDBC的介绍:
JDBC是连接数据库与java程序的桥梁。由java编写的类和接口组成。
JDBC 能够连接 Oracle,MySQL,DB2,SQL Server 等.


JDBC 连接MySQL数据库:
首先,现在Eclipse上添加驱动,即添加mysql-connector-java-版本号-bin.jar文件。若没有添加,则会报 java.lang.ClassOntFoundException 错误。
然后在类里实现连接的语句:
//首先创建一个连接对象;
public static Connection conn;
//注册驱动;
Class.forName("com.mysql.jdbc.Driver");
//创建连接;
String url = "jdbc:mysql://localhost:3306/lesson1";
String user = "root";
String psw = "*****";
//得到连接对象;
conn = DriverManager.getConnection(url, user, psw);


JDBC中实现对数据库的查询与插入等操作:
1.查询操作需要返回一个结果集ResultSet
首先,由Connection对象得到一个Statement对象,然后由Statement得到结果集ResultSet。然后从结果集ResultSet中得到数据库中的数据;
实现代码如下:
//得到Statement对象;
Statement st = conn.createStatement();
//要写如的sql语言,例如:;
String sql = "select * from userInfo";
//得到结果集;
ResultSet rs = st.executeQuery(sql);
//当结果集不为空是,rs.next()返回true
while(rs.next()){
}
2.插入,更新 等操作不需要返回结果集,但经常需要从程序中获取不同的值 进行插
入,所以应采用预编译。
实现代码如下:
//要执行的Sql语句;
String sql = "insert into userInfo
(username,userclass)values(?,?);";
//得到预编译的对象;
PreparedStatement pst = conn.prepareStatement(sql);
//可以发现sql语句中有问号?,每一个问号其实是占了一个位置,
代表了要插入的值。问号的位置是由 1 开始,不是0.
下面是指定“?”所代表的值。
pst.setString(1, username);
pst.setString(2, userclass);
//预编译对象执行更新操作;
pst.executeUpdate();

JDBC中事务的实现:
事务的定义:事务是一组原子操作单元。即不可分割的操作。
举个例子,去ATM机中取钱是以个事务。在输入要取的钱数,执行取钱
操作,但是因为余额不足或是系统故障,而导致 钱去不出来。这时候,
卡上的钱数已经被减。但是系统会执行 回滚rollback操作,让卡上余
额恢复到没有取钱时的状态。
实现以个事务的代码如下:
//连接对象Connection conn;
设置自动提交 为false(程序执行时,每条语句都是自动提交的);
conn.setAutoCommit(false);
//因为执行 事务时可能会出现异常,则需要try{}catch{}
try{

事务的执行步骤;

}catch(Exception e){

事务执行出错,实现回滚
conn.rollback();

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值